Integre suas aplicações .NET com o DeepSeek

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

Acesse o site oficial do DeepSeek. Preencha o formulário com seu e-mail e senha. Após criar sua conta, faça login e vá até a seção API Keys no painel de controle e clique em “Create new API Key”, copie e guarde a chave gerada.

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<object>();

messages.Add(new { role = "system", content = "Você é um assistente inteligente e amigável." }

				
			

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;
				
			
Após escrever a mensagem, nós vamos adicionar ela na lista de mensagens:
				
					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 });

				
			
Na imagem abaixo podemos ver uma demonstração da aplicação em funcionamento:

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 StartClique 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 ExpertClique 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.