Pular para o conteúdo principal

Qiskit Code Assistant

O Qiskit Code Assistant tem como objetivo tornar a computação quântica mais acessível a novos usuários do Qiskit e melhorar a experiência de programação para os usuários atuais. Trata-se de um assistente de código com IA generativa baseado no watsonx. Ele é treinado com milhões de tokens de texto do SDK do Qiskit, anos de exemplos de código Qiskit e funcionalidades do IBM Quantum®. O Qiskit Code Assistant pode ajudar no seu fluxo de desenvolvimento quântico oferecendo sugestões geradas por LLM com base nos modelos IBM Granite, que incorporam os recursos e funcionalidades mais recentes da IBM®.

Notas
  • Este é um recurso experimental disponível para usuários do IBM Quantum Premium Plan registrados na nova IBM Quantum Platform.
  • O Qiskit Code Assistant está em versão de pré-lançamento e está sujeito a alterações.
  • Se você tiver feedback ou quiser entrar em contato com a equipe de desenvolvimento, use o canal do Qiskit Slack Workspace ou os repositórios públicos relacionados no GitHub.

Funcionalidades

As seguintes funcionalidades estão incluídas nas extensões para o Visual Studio Code (VS Code) e editores compatíveis, bem como para o JupyterLab:

  • Acelera a geração de código Qiskit utilizando IA generativa baseada em modelos especializados na geração de código Qiskit.
  • Permite prompts abstratos e específicos para gerar recomendações.
  • Apresenta sugestões que você pode revisar, aceitar ou rejeitar.
  • Suporta arquivos de código Python e notebooks Jupyter.
  • Inclui mecanismos de proteção para evitar responder a perguntas que representem risco potencial para os usuários, como discursos de ódio.

Para instruções sobre como integrar o Qiskit Code Assistant diretamente ao seu ambiente de desenvolvimento, siga as instruções no tópico correspondente:

O Large Language Model (LLM) por trás do Qiskit Code Assistant

Para fornecer sugestões de código, o Qiskit Code Assistant utiliza um Large Language Model (LLM). Neste caso, o Qiskit Code Assistant atualmente depende do modelo mistral-small-3.2-24b-qiskit, construído com base no modelo Mistral-Small-3.2-24B-Qiskit. O modelo mistral-small-3.2-24b-qiskit aprimora as capacidades de geração de código para Qiskit do modelo Mistral-Small-3.2-24B-Instruct-2506 por meio de pré-treinamento estendido e ajuste fino em dados Qiskit de alta qualidade, bem como em commits Python e conversas. Para mais informações sobre a família de modelos Mistral AI, consulte a documentação do Mistral AI. Para mais detalhes sobre os modelos .*-qiskit, consulte Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.

Nossos LLMs especializados para Qiskit também estão disponíveis como modelos de código aberto. Confira todos os modelos disponíveis em https://huggingface.co/Qiskit.

Os benchmarks Qiskit HumanEval e Qiskit HumanEval Hard

Para testar o mistral-small-3.2-24b-qiskit e outros modelos, colaboramos com Qiskit Advocates e especialistas para criar os benchmarks baseados em execução chamados Qiskit HumanEval (QHE) e Qiskit HumanEval Hard (QHE Hard), e os executamos nos modelos. Esses benchmarks são semelhantes ao HumanEval, incluindo vários problemas de código desafiadores para resolver, todos baseados nas bibliotecas oficiais do Qiskit.

Os benchmarks são compostos por aproximadamente 150 testes, cada um formado por uma definição de função, seguida de uma docstring que detalha a tarefa que o modelo deve resolver. Cada exemplo também inclui uma solução canônica de referência, bem como testes unitários, para avaliar a correção das soluções geradas. Existem três níveis de dificuldade para os testes: básico, intermediário e difícil. O benchmark Qiskit HumanEval Hard é uma variação do Qiskit HumanEval, mas remove informações relacionadas às importações de código, de modo que o LLM precisa descobrir os imports corretos de métodos ou classes. Essa mudança torna o conjunto de dados muito mais desafiador para os LLMs, de acordo com nossos testes e resultados iniciais.

Os conjuntos de dados para o Qiskit HumanEval e o Qiskit HumanEval Hard estão disponíveis nestes endereços: Qiskit HumanEval e Qiskit HumanEval. Você pode contribuir para o desenvolvimento desses benchmarks no repositório GitHub.

Mais informações e citações

Para saber mais sobre o Qiskit Code Assistant, o Qiskit HumanEval ou os benchmarks Qiskit HumanEval Hard, e citá-los em suas publicações científicas, consulte as citações recomendadas abaixo:

@misc{2405.19495,
Author = {Nicolas Dupuis and Luca Buratti and Sanjay Vishwakarma and Aitana Viudes Forrat and David Kremer and Ismael Faro and Ruchir Puri and Juan Cruz-Benito},
Title = {Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code},
Year = {2024},
Eprint = {arXiv:2405.19495},
}
@misc{2406.14712,
Author = {Sanjay Vishwakarma and Francis Harkins and Siddharth Golecha and Vishal Sharathchandra Bajpe and Nicolas Dupuis and Luca Buratti and David Kremer and Ismael Faro and Ruchir Puri and Juan Cruz-Benito},
Title = {Qiskit HumanEval: An Evaluation Benchmark For Quantum Code Generative Models},
Year = {2024},
Eprint = {arXiv:2406.14712},
}
@misc{2508.20907,
Author = {Nicolas Dupuis and Adarsh Tiwari and Youssef Mroueh and David Kremer and Ismael Faro and Juan Cruz-Benito},
Title = {Quantum Verifiable Rewards for Post-Training Qiskit Code Assistant},
Year = {2025},
Eprint = {arXiv:2508.20907},
}

Próximos passos

Recomendações