Recentemente, a start-up chinesa DeepSeek tem ganhado destaque no campo da inteligência artificial com seu revolucionário chatbot de IA generativa. O modelo da DeepSeek alcançou um nível de desempenho comparável aos de gigantes como OpenAI e Anthropic, mas com um custo significativamente mais baixo. Neste artigo, iremos explorar como integrar a API DeepSeek em uma aplicação .NET, mostrando passo a passo como configurar, enviar e processar mensagens para criar uma experiência de bate-papo inteligente e fluída. Se você deseja adicionar funcionalidades de conversação inteligente ao seu projeto, este guia prático é o ponto de partida perfeito.
Criando uma conta no DeepSeek
Configurando a API Key
Agora, no código que vamos escrever, você deve inserir sua chave de API gerada no DeepSeek. No exemplo abaixo, a chave de API é armazenada diretamente na variável apiKey. Em aplicações reais, evite armazenar a chave diretamente no código fonte. Em vez disso, você pode armazená-la em uma variável de ambiente ou em um arquivo de configuração.
public class Program
{
private static readonly string apiKey = "Sua-chave";
private static readonly string baseUrl = "https://api.deepseek.com/chat/completions";
public static async Task Main(string[] args)
{
//nosso código
}
}
Função principal para envio de mensagens
Na “Main”, começamos inicializando a lista de mensagens e configuramos o sistema para enviar as mensagens ao modelo de chat da API DeepSeek. A API requer um formato específico de dados para a comunicação. Aqui, o código define um ponto de entrada para a conversa, onde o sistema envia uma mensagem de saudação inicial ao DeepSeek:
Console.WriteLine("Iniciando conversa com o DeepSeek...");
var messages = new List
Esse código simula uma conversa onde o “role” define quem está enviando a mensagem. Já o “content” armazena qual o comportamento do assistente.
Leitura da entrada do usuário e envio de solicitações
Agora vamos criar um “while” que vai continuar pedindo mensagens ao usuário e as envia para o DeepSeek. Caso o usuário queira parar o “while” ele teve enviar uma mensagem vazia:
while (true)
{
//...código do processamento aqui
}
Os próximos blocos de código devem ser inseridos dentro do while(true).
Console.Write("Você: ");
string userMessage = Console.ReadLine();
if (string.IsNullOrEmpty(userMessage))
break;
messages.Add(new { role = "user", content = userMessage });
Em seguida, vamos montar o corpo da nossa requisição para enviar a solicitação ao DeepSeek. Essa requisição vai conter todas as mensagens trocadas até aquele momento (usuário e assistente):
var requestData = new
{
model = "deepseek-chat",
messages = messages.ToArray(),
stream = false
};
Enviando a solicitação HTTP para a API
Agora vamos usar a classe “HttpClient” para enviar uma requisição POST:
using var httpClient = new HttpClient();
string jsonRequest = JsonSerializer.Serialize(requestData);
var content = new StringContent(jsonRequest, Encoding.UTF8, "application/json");
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
var response = await httpClient.PostAsync(baseUrl, content);
Aqui, a chave de API é passada no cabeçalho da requisição através do cabeçalho “Authorization”.
Tratando a resposta da API
Após isso, é necessário analisar a resposta da API e extrair a resposta do modelo. A API DeepSeek retorna a resposta em um formato JSON, e usamos “JsonDocument” para processá-la:
var responseBody = await response.Content.ReadAsStringAsync();
using JsonDocument jsonDoc = JsonDocument.Parse(responseBody);
string contentText = jsonDoc
.RootElement
.GetProperty("choices")[0]
.GetProperty("message")
.GetProperty("content")
.GetString()
O resultado será apenas a resposta do modelo sem os demais dados.
Apresentando as informações e armazenando a nova mensagem
Por fim, podemos apresentar a resposta do modelo na tela e adicionar a mensagem recebida na lista de mensagens e continuando no ‘while’:
Console.WriteLine($"DeepSeek: {contentText }");
messages.Add(new { role = "assistant", content = contentText });
Acelere a sua carreira conosco!
Se você é Desenvolvedor .NET Júnior e quer acelerar sua carreira até nível Pleno com salário de R$7k+, ou mesmo busca a primeira vaga, conheça a Mentoria .NET Start: Clique aqui
Se é Desenvolvedor .NET Pleno ou Sênior e quer virar referência técnica em sua equipe e mercado, com salário de R$10k+, conheça a Mentoria .NET Expert: Clique aqui
Conclusão
Neste artigo, nós vimos como integrar com a API DeepSeek em um aplicativo .NET para criar uma aplicação de bate-papo simples. Com base nesse código, você pode expandir a funcionalidade para criar interfaces gráficas, armazenar o histórico de mensagens em um banco de dados, ou até mesmo integrar com outras APIs ou sistemas.