Pular para o conteúdo principal

Codestral 25.01 da Mistral: Um guia com exemplos de código VS

Saiba mais sobre o Codestral 25.01 da Mistral, incluindo seus recursos, benchmarks e como configurá-lo no VS Code para assistência de código.
Actualizado 22 de jan. de 2025  · 8 min de leitura

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.

Classificações da Chatbot Arena

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%.

Tabela de classificação do Aider

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.

UI para Le Plateforme da MistralGere sua chave de API. (link)

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.

Acesse o Codestral na janela de bate-papo

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.

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 na base de código existente com o Codestral

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.


Hesam Sheikh Hassani's photo
Author
Hesam Sheikh Hassani
LinkedIn
Twitter

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.

Temas

Aprenda IA com estes cursos!

programa

Developing AI Applications

23hrs hr
Learn to create AI-powered applications with the latest AI developer tools, including the OpenAI API, Hugging Face, and LangChain.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

O que é o Mistral Large 2? Como funciona, casos de uso e muito mais

O Mistral Large 2 é o modelo de idioma mais recente da Mistral AI, competindo com modelos como GPT-4o, Llama 3.1 e Claude 3 Opus.
Ryan Ong's photo

Ryan Ong

8 min

Machine Learning

blog

25 projetos de aprendizado de máquina para todos os níveis

Projetos de aprendizado de máquina para iniciantes, estudantes do último ano e profissionais. A lista consiste em projetos guiados, tutoriais e exemplos de código-fonte.
Abid Ali Awan's photo

Abid Ali Awan

15 min

An avian AI exits its cage

blog

12 Alternativas de código aberto ao GPT-4

GPT-4 alternativas de código aberto que podem oferecer desempenho semelhante e exigem menos recursos computacionais para serem executadas. Esses projetos vêm com instruções, fontes de código, pesos de modelos, conjuntos de dados e interface de usuário do chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

tutorial

DeepSeek-Coder-V2 Tutorial: Exemplos, instalação, padrões de referência

O DeepSeek-Coder-V2 é um modelo de linguagem de código de código aberto que rivaliza com o desempenho do GPT-4, Gemini 1.5 Pro, Claude 3 Opus, Llama 3 70B ou Codestral.
Dimitri Didmanidze's photo

Dimitri Didmanidze

8 min

tutorial

AI do cursor: Um guia com 10 exemplos práticos

Saiba como instalar o Cursor AI no Windows, macOS e Linux e descubra como usá-lo em 10 casos de uso diferentes.
François Aubry's photo

François Aubry

10 min

tutorial

Configuração do VSCode para Python: Um guia completo

Experimente uma forma simples, divertida e produtiva de desenvolvimento em Python, aprendendo sobre o VSCode e suas extensões e recursos.
Abid Ali Awan's photo

Abid Ali Awan

16 min

Ver maisVer mais