Por que C# e IA são a combinação perfeita?
\n\nQuando falamos sobre inteligência artificial e desenvolvimento, geralmente pensamos em Python. Isso é lógico: TensorFlow, PyTorch, transformers... Mas e se sua stack for C#, .NET e você não quiser mudar suas ferramentas habituais? A boa notícia: C# e redes neurais combinam perfeitamente, especialmente quando se trata de usar modelos prontos através de API.
\n\nChatGPT não é apenas um brinquedo da moda. É uma ferramenta poderosa que pode gerar código, escrever documentação, analisar dados e até ajudar na depuração. Neste artigo, vamos explorar como conectar o ChatGPT a um projeto C#, escrever código real e ver quais possibilidades se abrem para desenvolvedores .NET.
\n\nO que você precisa saber antes de começar?
\n\nPara trabalhar com a API OpenAI em C#, você precisará de:
\n\n- \n
- Uma conta em platform.openai.com (é necessária uma chave de API) \n
- Visual Studio 2022 ou JetBrains Rider \n
- .NET 6.0 ou superior (recomendado .NET 8) \n
- Biblioteca
OpenAI(pacote NuGet) \n
Não se assuste: todo o processo levará no máximo 15 minutos. Vamos passo a passo criar um aplicativo de console que se comunicará com o ChatGPT.
\n\nPasso 1. Criar o projeto e instalar a biblioteca
\n\nAbra o terminal ou o Package Manager Console e execute o comando:
\n\ndotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n\n\nO pacote OpenAI para C# é o cliente oficial que suporta todos os modelos mais recentes, incluindo GPT-4 e GPT-4 Turbo. Ele é ativamente desenvolvido, então é melhor usar a versão mais recente.
\n\nConfiguração da chave de API
\n\nNunca armazene chaves no código. Use variáveis de ambiente ou um arquivo de configuração. Para o exemplo, vamos criar appsettings.json:
{\n "OpenAiApiKey": "sua_chave_super_secreta"\n}\n\n\nAdicione ao projeto o pacote NuGet Microsoft.Extensions.Configuration.Json e carregue a chave assim:
var config = new ConfigurationBuilder()\n .AddJsonFile("appsettings.json")\n .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n\n\nAgora estamos prontos para a parte mais interessante.
\n\nPasso 2. Primeira requisição ao ChatGPT em C#
\n\nVamos escrever um método simples que envia uma mensagem para o modelo e recebe uma resposta. Aqui está o código completo:
\n\nusing OpenAI;\nusing OpenAI.Chat;\n\nvar client = new OpenAIClient(apiKey); // apiKey do config\n\nvar chatClient = client.GetChatClient("gpt-4o-mini");\n\nvar messages = new List<ChatMessage>\n{\n new SystemChatMessage("Você é um assistente útil que responde em português."),\n new UserChatMessage("Escreva um exemplo de código em C# para ler um arquivo JSON.")\n};\n\nvar response = await chatClient.CompleteChatAsync(messages);\nvar reply = response.Value.Content[0].Text;\n\nConsole.WriteLine(reply);\n\n\nO que está acontecendo aqui? Criamos um cliente, especificamos o modelo gpt-4o-mini (rápido e barato), definimos um prompt de sistema (papel do assistente) e enviamos a solicitação do usuário. A resposta chega como texto estruturado.
\n\nIsso é o básico. Depois podemos complicar: adicionar histórico de diálogo, tratar erros, fazer chamadas assíncronas.
\n\nPasso 3. Criando um assistente inteligente para trabalhar com código
\n\nUma das funções mais úteis do ChatGPT no desenvolvimento C# é a revisão de código e geração de documentação. Vamos criar uma classe que analisará nosso código e sugerirá melhorias.
\n\npublic class CodeReviewer\n{\n private readonly ChatClient _chatClient;\n\n public CodeReviewer(string apiKey)\n {\n var client = new OpenAIClient(apiKey);\n _chatClient = client.GetChatClient("gpt-4o-mini");\n }\n\n public async Task<string> ReviewCodeAsync(string code)\n {\n