C# e redes neurais: como conectar o ChatGPT a um projeto

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que C# e IA são a combinação perfeita?

\n\n

Quando 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\n

ChatGPT 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\n

O que você precisa saber antes de começar?

\n\n

Para 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\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\n

Passo 1. Criar o projeto e instalar a biblioteca

\n\n

Abra o terminal ou o Package Manager Console e execute o comando:

\n\n
dotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n
\n\n

O 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\n

Configuração da chave de API

\n\n

Nunca armazene chaves no código. Use variáveis de ambiente ou um arquivo de configuração. Para o exemplo, vamos criar appsettings.json:

\n\n
{\n  "OpenAiApiKey": "sua_chave_super_secreta"\n}\n
\n\n

Adicione ao projeto o pacote NuGet Microsoft.Extensions.Configuration.Json e carregue a chave assim:

\n\n
var config = new ConfigurationBuilder()\n    .AddJsonFile("appsettings.json")\n    .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n
\n\n

Agora estamos prontos para a parte mais interessante.

\n\n

Passo 2. Primeira requisição ao ChatGPT em C#

\n\n

Vamos escrever um método simples que envia uma mensagem para o modelo e recebe uma resposta. Aqui está o código completo:

\n\n
using 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\n

O 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\n

Isso é o básico. Depois podemos complicar: adicionar histórico de diálogo, tratar erros, fazer chamadas assíncronas.

\n\n

Passo 3. Criando um assistente inteligente para trabalhar com código

\n\n

Uma 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\n
public 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                

Blogs

Book Recommendations