Programa
Para nós, programadores, a codificação talvez seja uma das aplicações mais importantes dos LLMs. A capacidade de gerar código preciso, depurar e "entender" corretamente o código é o que torna o LLM um assistente essencial para muitos programadores, além de seus muitos benefícios empresariais.
A Mistral lançou recentemente seu modelo mais recente, o Codestral 25.01, também conhecido como Codestral V2 - uma atualização do primeiro modelo Codestral da Mistral . seu primeiro modelo Codestral lançado em 2024. Neste artigo, analisarei o Codestral 25.01, avaliarei seu desempenho em benchmarks, orientarei você na configuração e o demonstrarei em ação.
O que é o Codestral 25.01 da Mistral?
Citando o anúncio da Mistral anúncioO Codestral 25.01 é "leve, rápido e proficiente em mais de 80 linguagens de programação (...) otimizado para casos de uso de baixa latência e alta frequência e oferece suporte a tarefas como preenchimento do meio (FIM), correção de código e geração de testes".
Muitos desenvolvedores usaram o modelo anterior, Codestralpara tarefas relacionadas ao código. O Codestral 25.01 é uma versão atualizada, com um tokenizador aprimorado e uma arquitetura mais eficiente que permite gerar código duas vezes mais rápido.
A Mistral ainda não divulgou o modelo nem forneceu detalhes sobre sua arquitetura ou tamanho. No entanto, sabemos que ele tem menos de 100 bilhões de parâmetros e suporta um comprimento de contexto de 256K.
No momento em que este artigo foi escrito, o Codestral 25.01 estava apenas alguns pontos abaixo de você. Claude 3.5 Sonnet na Chatbot Arena (antiga LMSYS) e apenas um pouco acima do Codestral V1.
Fonte: Arena de chatbot
Outra tabela de classificação voltada para a avaliação das habilidades de codificação dos LLMs é o Aider's Polyglot. Nesse benchmark, os modelos são solicitados a concluir 225 exercícios de codificação em linguagens de programação populares. O Codestral 25.01 obteve 11%, enquanto o Qwen2.5-Coder-32B-Instruct alcançou 16%.
Fonte: Tabela de classificação do Aider
Por fim, vamos dar uma olhada nos benchmarks oficiais publicados pela Mistral. As pontuações de benchmark divulgadas demonstram um claro avanço em comparação com o Codestral V1, Codellama 70B ou DeepSeek Coder 33B. Pode ser mais informativo comparar as pontuações do Codestral 25.01 com o mais recente Qwen2.5-Coder-32B-Instruct (você pode ler as pontuações do Qwen aqui).
Visão geral para Python:
Modelo |
Comprimento do contexto |
HumanEval |
MBPP |
CruxEval |
LiveCodeBench |
RepoBench |
Codestral-2501 |
256k |
86.6% |
80.2% |
55.5% |
37.9% |
38.0% |
Codestral-2405 22B |
32k |
81.1% |
78.2% |
51.3% |
31.5% |
34.0% |
Instruções do Codellama 70B |
4k |
67.1% |
70.8% |
47.3% |
20.0% |
11.4% |
Instruções do DeepSeek Coder 33B |
16k |
77.4% |
80.2% |
49.5% |
27.0% |
28.4% |
DeepSeek Coder V2 lite |
128k |
83.5% |
83.2% |
49.7% |
28.1% |
20.0% |
Benchmarks para vários idiomas:
Modelo |
HumanEval Python |
HumanEval C++ |
HumanEval Java |
HumanEval Javascript |
Batida do HumanEval |
Tipos de script HumanEval |
HumanEval C# |
HumanEval (média) |
Codestral-2501 |
86.6% |
78.9% |
72.8% |
82.6% |
43.0% |
82.4% |
53.2% |
71.4% |
Codestral-2405 22B |
81.1% |
68.9% |
78.5% |
71.4% |
40.5% |
74.8% |
43.7% |
65.6% |
Instruções do Codellama 70B |
67.1% |
56.5% |
60.8% |
62.7% |
32.3% |
61.0% |
46.8% |
55.3% |
Instruções do DeepSeek Coder 33B |
77.4% |
65.8% |
73.4% |
73.3% |
39.2% |
77.4% |
49.4% |
65.1% |
DeepSeek Coder V2 lite |
83.5% |
68.3% |
65.2% |
80.8% |
34.2% |
82.4% |
46.8% |
65.9% |
Como configurar o Codestral 25.01 no VS Code
Infelizmente, o modelo não é de peso aberto, e você não pode executá-lo localmente. A boa notícia é que você pode acessar o modelo via API ou por meio do VsCode e do PyCharm gratuitamente como um assistente de código.
Primeiro, precisamos de uma chave de API. Vá até o Le Plateformee navegue até Codestral. Aqui, você pode gerar sua chave de API para usar o Codestral 25.01 em seu IDE.
Usarei o Codestral no VS Code por meio da extensão Continue
. Você pode procurá-lo no mercado de extensões e instalá-lo gratuitamente.
Depois que você instalar a extensão, clique no botão Continue (Continuar ) no canto inferior direito do VsCode, selecione Configure autocomplete options (Configurar opções de preenchimento automático) e cole sua chave de API em Codestral. Agora, você pode usar o Codestral como seu modelo de preenchimento automático.
Outro método para usar o Codestral no IDE é conversar com o modelo. Para acessar a janela de bate-papo, pressione CTRL+L. Você pode selecionar uma variedade de modelos para usar como modelos de bate-papo, mas eles são limitados sem o fornecimento de uma chave de API. Para ter acesso gratuito ao Codestral, clique no modelo na seção de bate-papo e selecione Adicionar modelo de bate-papo. Selecione Mistral como o provedor, Codestral como o modelo e cole sua chave de API.
Teste do Codestral 25.01
Agora, para testar se tudo está funcionando sem problemas, pedi à Codestral que escrevesse um jogo simples de XO em Python, que o modelo executou corretamente em uma única tentativa.
Usando o Codestal na janela de bate-papo
Uma das aplicações mais comuns e úteis de um LLM de código é trabalhar em bases de código existentes. Essas bases de código podem ser grandes e complexas o suficiente para simular um cenário do mundo real usando esses modelos. Aqui, testarei a capacidade do Codestral de trabalhar com a estrutura smolagents
, que é o repositório da Hugging Face para a criação de agentes (saiba mais neste tutorial sobre Smolagents da Hugging Face).
Vou clonar o repositório repositórioe darei a pasta como contexto para o modelo e pedirei ao Codestral que me ajude a escrever uma demonstração simples com smolagents
.
Depois de clonar o repositório, forneci a base de código completa ao Codestral. Você pode escolher quais dados, códigos ou documentos devem ser fornecidos ao modelo como contexto, usando "@" no bate-papo. Para fornecer a base de código inteira como contexto, o prompt seria: "@Codebase sobre o que é essa base de código?".
Inicialmente, quando solicitei ao Codestral que escrevesse uma demonstração simples de smolagents (que é claramente explicada no README do repositório com quatro linhas de código), o modelo não conseguiu dar uma resposta coerente.
Em seguida, pedi ao modelo que explicasse o repositório e do que se trata, o que resultou em um bom resumo.
Minha próxima pergunta foi: "Como você pode executar um agente simples com smolagents?" O modelo me deu uma boa resposta com base no arquivo README.
Na terceira etapa, solicitei "build me an agent" (crie um agente para mim), ao que o modelo respondeu criando um agente simples, conforme instruído na documentação. Foi surpreendente o fato de o modelo não ter conseguido criar uma demonstração quando perguntei a ele pela primeira vez, mas parece que perguntar ao modelo sobre o repositório primeiro dá a ele mais contexto para trabalhar.
Trabalhar em uma base de código existente com a Codestral
Em seguida, solicitei que o modelo criasse uma ferramenta agêntica personalizada para ler arquivos PDF com base na documentação do repositório. Surpreendentemente, o código sugerido continha vários erros que poderiam ter sido facilmente evitados.
Embora a velocidade de geração de respostas seja perceptível e o modelo ofereça autocompletamentos produtivos, em casos mais sérios de criação de um aplicativo ou de trabalho em uma base de código existente, você deve dividir a tarefa em partes muito menores e em um contexto específico para que ela seja entregue.
Conclusão
Começamos este artigo apresentando o Codestral 25.01 e analisando seu desempenho em benchmarks, o que demonstra que ele é um LLM de código forte. Em seguida, mostramos como configurar o Codestral 25.01 no VsCode e como usá-lo em ação.
Embora a nova versão do Codestral possa não ser o melhor LLM de codificação, é muito conveniente que você possa usá-lo gratuitamente como assistente de código em IDEs. A experiência geral se assemelha à do Cursor AImas para aqueles que relutam em instalar o Cursor ou comprar créditos de API de outros modelos, a experiência gratuita do Codestral pode ser uma boa alternativa.
Estudante de mestrado em Inteligência Artificial e redatora técnica de IA. Compartilho insights sobre a mais recente tecnologia de IA, tornando a pesquisa de ML acessível e simplificando tópicos complexos de IA necessários para manter você na vanguarda.