DeepSeek: A melhor alternativa à OpenAI que combina baixo custo e facilidade de implementação

Por Gaspar Barancelli Junior em 26 de janeiro de 2025
Imagem ilustrativa sobre o post DeepSeek: A melhor alternativa à OpenAI que combina baixo custo e facilidade de implementação

Introdução

Nos últimos tempos, os grandes modelos de linguagem (LLMs) têm mudado a maneira como interagimos com a tecnologia, e o DeepSeek aparece como uma opção poderosa e acessível no mercado.

Neste post, vou compartilhar um exemplo de projeto usando o DeepSeek LLM com Spring Boot e Spring Boot AI, além de destacar alguns pontos sobre a plataforma, como desempenho, custo e funcionalidades.

Comparação de Modelos LLM

O DeepSeek V3 é uma opção forte para quem precisa de um modelo eficiente e acessível. Ele se destaca por entender e responder a perguntas complexas de forma rápida e clara, sendo ideal para aplicações como automação de tarefas e suporte ao cliente.

Além disso, o DeepSeek funciona bem em cenários que exigem processamento de linguagem em larga escala, oferecendo resultados consistentes e confiáveis. Isso o torna uma ferramenta útil tanto para desenvolvedores quanto para empresas que precisam integrar inteligência artificial nos seus projetos.

Quando comparado a outros modelos amplamente conhecidos, o DeepSeek oferece um ótimo custo-benefício, sendo atrativo para quem está começando ou já tem experiência no uso de LLMs.

deepseek capabilities
Figure 1. Fonte: https://www.deepseek.com

Preços: DeepSeek vs OpenAI

Os preços do DeepSeek são muito mais baixos do que os da OpenAI, o que o torna uma escolha incrivelmente econômica. Por exemplo:

  • DeepSeek Chat:

  • Input tokens (cache hit): $0.07 / milhão de tokens

  • Input tokens (cache miss): $0.27 / milhão de tokens

  • Output tokens: $1.10 / milhão de tokens

  • OpenAI GPT-4:

  • Input tokens: $2.50 / milhão de tokens

  • Output tokens: $10.00 / milhão de tokens

Essa diferença de preços é enorme e faz do DeepSeek uma opção praticamente imbatível para quem quer usar modelos de linguagem em projetos sem gastar muito.

Gerenciando o Uso da API do DeepSeek

Para usar a API do DeepSeek, você precisa criar uma conta na plataforma oficial: https://platform.deepseek.com. Depois de criar a conta, é necessário:

  1. Adicionar Créditos: Você pode recarregar sua conta com qualquer valor. No meu caso, fiz uma recarga de $2, o que foi suficiente para começar a explorar a API.

  2. Gerar um Token de Acesso: Após a recarga, você precisará criar uma chave de API (token) que será usada para autenticar suas chamadas na API.

  3. Monitorar o Uso: O painel administrativo permite acompanhar quantas requisições foram feitas e quanto já foi gasto. É bem prático para gerenciar seu saldo e consumo.

Segue alguns prints da plataforma ao acessar pela minha conta:

deepseek platform menu
Figure 2. Menus
deepseek platform usage
Figure 3. Uso
deepseek platform api keys
Figure 4. Chaves de API
deepseek platform top up
Figure 5. Recarga
deepseek platform billing
Figure 6. Faturamento

Uso do Chat Web e Aplicativo Mobile

Além das APIs, o DeepSeek também oferece uma interface web parecida com o ChatGPT e um aplicativo para celular. Até agora, o aplicativo é totalmente gratuito.

Segue print do chat web e mobile.

deepseek chat web
Figure 7. Chat Web
deepseek chat mobile
Figure 8. Chat Mobile

Projeto de Exemplo com Spring Boot AI

Embora o Spring AI ainda não suporte o DeepSeek oficialmente, é possível integrá-lo porque o DeepSeek tem um contrato de API compatível com o OpenAI. De acordo com essa issue aberta no Spring AI, o SDK do DeepSeek funciona com o mesmo SDK usado no OpenAI. Isso permite reutilizar interfaces e configurações existentes. Você pode conferir o código completo dessa demo no meu GitHub.

Aqui está o código para referência:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.4.2</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.gasparbarancelli</groupId>
	<artifactId>deepseek</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>deepseek</name>
	<description>Demo project for Spring Boot</description>
	<url/>
	<licenses>
		<license/>
	</licenses>
	<developers>
		<developer/>
	</developers>
	<scm>
		<connection/>
		<developerConnection/>
		<tag/>
		<url/>
	</scm>
	<properties>
		<java.version>23</java.version>
		<spring-ai.version>1.0.0-M5</spring-ai.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.ai</groupId>
			<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.ai</groupId>
				<artifactId>spring-ai-bom</artifactId>
				<version>${spring-ai.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

</project>

Configuração

Segue configuração do DeepSeek no application.properties onde utilizamos as mesmas propriedades de configuração do OpenAI, e definimos a nossa chave de API, Base URL e modelo.

spring.application.name=deepseek
spring.ai.openai.api-key=${API_KEY}
spring.ai.openai.chat.base-url=https://api.deepseek.com
spring.ai.openai.chat.options.model=deepseek-chat

Classes Java

As classes Java implementam o serviço e a API REST para trabalhar com o DeepSeek. Veja os detalhes:

DeepseekApi

Essa classe cria um endpoint REST que recebe mensagens do cliente e envia para o serviço:

package com.gasparbarancelli.deepseek;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/")
public class DeepseekApi {

    private final DeepseekService deepseekService;

    public DeepseekApi(DeepseekService deepseekService) {
        this.deepseekService = deepseekService;
    }

    @GetMapping
    public String execute(@RequestParam("message") String message) {
        return deepseekService.execute(message);
    }
}

DeepseekApplication

O ponto de entrada da aplicação Spring Boot:

package com.gasparbarancelli.deepseek;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DeepseekApplication {

    public static void main(String[] args) {
        SpringApplication.run(DeepseekApplication.class, args);
    }
}

DeepseekService

Essa classe faz a comunicação com o modelo DeepSeek usando o cliente compatível:

package com.gasparbarancelli.deepseek;

import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.stereotype.Service;

@Service
public class DeepseekService {

    private final OpenAiChatModel openAiChatClient;

    public DeepseekService(OpenAiChatModel openAiChatClient) {
        this.openAiChatClient = openAiChatClient;
    }

    public String execute(String message) {
        var prompt = new Prompt(new UserMessage(message));
        var call = openAiChatClient.call(prompt);
        return call.getResult().getOutput().getContent();
    }
}

Consumindo nossa API

Aqui estão alguns exemplos de como testar a aplicação localmente usando o curl:

Perguntar sobre Pedro Álvares Cabral:

curl "http://localhost:8080/?message=quem%20foi%20Pedro%20Alvares%20Cabral"

Resposta:

Pedro Álvares Cabral foi um navegador e explorador português, conhecido por ser oficialmente creditado como o descobridor do Brasil. Ele nasceu por volta de 1467 ou 1468, em Belmonte, Portugal, e faleceu em 1520, em Santarém, Portugal. Cabral liderou a segunda expedição marítima portuguesa à Índia, que partiu de Lisboa em março de 1500....

Perguntar sobre Ronaldo Fenômeno:

curl "http://localhost:8080/?message=quantos%20gols%20o%20Ronaldo%20Fenomeno%20fez%20pelo%20Corinthians"

Resposta:

Ronaldo Nazário, conhecido como Ronaldo Fenômeno, jogou pelo Corinthians entre 2009 e 2011. Durante sua passagem pelo clube, ele marcou **23 gols em 52 partidas** oficiais. Ronaldo foi uma figura importante para o time, ajudando a conquistar o Campeonato Paulista de 2009 e a Copa do Brasil de 2009. Sua presença no Corinthians foi marcante, apesar de estar no final de sua carreira.

Conclusão

O DeepSeek é uma solução prática e econômica para quem quer usar modelos de linguagem em projetos. Com preços bem mais baixos e uma plataforma que oferece tanto APIs robustas quanto um app gratuito, ele se destaca no mercado.

A compatibilidade com o SDK do OpenAI, como mostrado neste projeto, facilita ainda mais sua adoção, especialmente para quem já trabalha com outras soluções. Seja para economizar ou melhorar a experiência do usuário, vale a pena experimentar o DeepSeek!

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×