Asistente de códigos Qiskit
Qiskit Code Assistant Los LLM tienen como objetivo hacer que la computación cuántica resulte más accesible para los nuevos usuarios de Qiskit y mejorar la experiencia de programación de los usuarios actuales. Se ha entrenado utilizando millones de tokens de texto de Qiskit SDK, años de ejemplos de código de Qiskit y características de IBM Quantum®. Qiskit Code Assistant puede facilitar su flujo de trabajo de desarrollo cuántico al ofrecer sugerencias generadas por modelos de lenguaje grande (LLM) basadas en IBM, Granite y otros modelos de código abierto, que incorporan las últimas características y funcionalidades de IBM®.
- ¿Quieres pasar directamente a las instrucciones de instalación? Ve a la sección « Qiskit Code Assistant ».
- Si tienes algún comentario o quieres ponerte en contacto con el equipo de desarrolladores, utiliza el canal Slack Workspace de Qiskit o los repositorios públicos relacionados de GitHub.
El modelo de lenguaje grande (LLM) detrás de Qiskit Code Assistant
Para proporcionar sugerencias de código, Qiskit Code Assistant utiliza un modelo de lenguaje grande (LLM). En este caso, Qiskit Code Assistant se basa actualmente en el modelo mistral-small-3.2-24b-qiskit, construido sobre el modelo Mistral-Small-3.2-24B-Qiskit. El mistral-small-3.2-24b-qiskit modelo mejora las capacidades de generación Mistral-Small-3.2-24B-Instruct-2506 de código del modelo para Qiskit mediante un preentrenamiento ampliado y un ajuste fino con datos Qiskit de alta calidad, así como compromisos y chats de Python. Para obtener más información sobre la familia de modelos Mistral AI, consulte la documentación de Mistral AI. Para obtener más información sobre los .*-qiskit modelos, consulte « Qiskit Code Assistant » (Aprendizaje automático de modelos de lenguaje grande): Entrenamiento de modelos de lenguaje grande para generar código de computación cuántica.
Nuestros LLM especializados para Qiskit también están disponibles como modelos de código abierto. Consulte todos los modelos disponibles en https://huggingface.co/Qiskit.
Los benchmarks Qiskit HumanEval y Qiskit HumanEval Hard
Para probar el mistral-small-3.2-24b-qiskit y otros modelos, colaboramos con Qiskit Advocates y expertos para crear los puntos de referencia basados en la ejecución denominados Qiskit HumanEval (QHE) y Qiskit HumanEval Hard (QHE Hard), y los ejecutamos en los modelos. Estos puntos de referencia son similares a HumanEval, e incluyen múltiples problemas de código difíciles de resolver, todos basados en las bibliotecas oficiales de Qiskit.
Los puntos de referencia se componen de aproximadamente 150 pruebas, cada una de ellas realizada a partir de una definición de función, seguida de una cadena de documentación que detalla la tarea que debe resolver el modelo. Cada ejemplo incluye también una solución canónica de referencia, así como pruebas unitarias, para evaluar la corrección de las soluciones generadas. Hay tres niveles de dificultad para las pruebas: básico, intermedio y difícil. El benchmark Qiskit HumanEval Hard es una variante del Qiskit HumanEval one, pero elimina la información relacionada con las importaciones de código, por lo que el LLM debe averiguar el método o las importaciones de clase correctos. Según nuestras pruebas y resultados iniciales, este cambio hace que el conjunto de datos sea mucho más difícil para los LLM.
Los conjuntos de datos para Qiskit HumanEval y Qiskit HumanEval Hard están disponibles en estos sitios web: Qiskit HumanEval y Qiskit HumanEval. Puedes contribuir al desarrollo de estos puntos de referencia en el repositorio GitHub.
Instalar « Qiskit Code Assistant »
Aprende a instalar, configurar y utilizar cualquiera de los modelos de Qiskit Code Assistant en tu ordenador.
Sigue estos pasos para descargar cualquier modelo relacionado con « Qiskit Code Assistant » desde el sitio web Hugging Face :
- Accede a la página del modelo de Qiskit que desees en Hugging Face.
- Ve a la pestaña «Archivos y versiones» y descarga los archivos de modelo de Safetensors o GGUF.
Para descargar cualquiera de los modelos disponibles de « Qiskit Code Assistant » mediante la interfaz de línea de comandos (CLI) de Hugging Face, sigue estos pasos:
-
Inicia sesión en tu cuenta de Hugging Face
huggingface-cli login -
Descarga el modelo que prefieras de la lista anterior
huggingface-cli download <HF REPO NAME> <MODEL PATH> --local-dir <LOCAL PATH>
Hay varias formas de implementar el modelo « Qiskit Code Assistant » descargado e interactuar con él. En esta guía se muestra cómo utilizar Ollama de las siguientes maneras: bien con el Aplicación Ollama mediante la integración de Hugging Face Hub o el modelo local, bien con el
llama-cpp-pythonpaquete.Cómo utilizar la aplicación Ollama
La aplicación Ollama ofrece una solución sencilla para ejecutar los modelos de lenguaje grande (LLM) de forma local. Es fácil de usar, con una interfaz de línea de comandos que hace que todo el proceso de configuración, la gestión de modelos y la interacción sean bastante sencillos. Es ideal para realizar pruebas rápidas y para usuarios que prefieren lidiar con menos detalles técnicos.
Instala Ollama
-
Descarga la aplicación Ollama
-
Instala el archivo descargado
-
Abre la aplicación Ollama instalada
InfoLa aplicación se está ejecutando correctamente cuando aparece el icono de Ollama en la barra de menú del escritorio. También puedes comprobar si el servicio está en funcionamiento accediendo a
http://localhost:11434/. -
Prueba Ollama en tu terminal y empieza a ejecutar modelos. Por ejemplo:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Configura Ollama mediante la integración con Hub de Hugging Face
La integración de Ollama/ Hugging Face Hub proporciona una forma de interactuar con los modelos alojados en Hugging Face Hub sin necesidad de crear un nuevo archivo de modelo ni descargar manualmente los archivos GGUF o safetensors. Los archivos
template``paramspredeterminados ya están incluidos para el modelo en el Hub de Hugging Face.-
Asegúrate de que la aplicación Ollama esté en ejecución.
-
Ve a la página del modelo que desees y copia el enlace URL. Por ejemplo, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.
-
Desde tu terminal, ejecuta el comando:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Puedes utilizar el
hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskitmodelo o cualquiera de los demás modelos oficiales de la GGUFhf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUFrecomendados actualmente, o bienhf.co/Qiskit/granite-3.3-8b-qiskit-GGUF.Configurar Ollama con un modelo GGUF de Qiskit Code Assistant descargado manualmente
Si has descargado manualmente un modelo GGUF, como https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF, y quieres probar diferentes plantillas y parámetros, puedes seguir estos pasos para cargarlo en tu aplicación local de Ollama.
-
Crea un
Modelfileintroduciendo el siguiente contenido y asegúrate de actualizar<PATH-TO-GGUF-FILE>con la ruta real del modelo que hayas descargado.FROM <PATH-TO-GGUF-FILE> TEMPLATE """{{ if .System }} System: {{ .System }} {{ end }}{{ if .Prompt }}Question: {{ .Prompt }} {{ end }}Answer: ```python{{ .Response }} """ PARAMETER stop "Question:" PARAMETER stop "Answer:" PARAMETER stop "System:" PARAMETER stop "```" PARAMETER temperature 0 PARAMETER top_k 1 -
Ejecuta el siguiente comando para crear una instancia de modelo personalizada basada en el
Modelfile.ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-fileNoteEste proceso puede tardar un tiempo, ya que Ollama debe leer el archivo del modelo, inicializar la instancia del modelo y configurarla según las especificaciones proporcionadas.
Ejecuta manualmente el modelo « Qiskit Code Assistant » descargado en Ollama
Una vez que
Qwen2.5-Coder-14B-Qiskitel modelo se haya configurado en Ollama, ejecuta el siguiente comando para iniciar el modelo e interactuar con él en el terminal (en modo chat).ollama run Qwen2.5-Coder-14B-QiskitAlgunos comandos útiles:
ollama list- Mostrar los modelos que hay en tu ordenadorollama rm Qwen2.5-Coder-14B-Qiskit- Eliminar el modeloollama show Qwen2.5-Coder-14B-Qiskit- Mostrar información del modeloollama stop Qwen2.5-Coder-14B-Qiskit- Detener un modelo que se está ejecutando actualmenteollama ps- Mostrar los modelos que están cargados actualmente
-
Una alternativa a la aplicación Ollama es el
llama-cpp-pythonpaquete, que es un enlace de Python parallama.cpp. Ejecutar el modelo GGUF de forma local te ofrece mayor control y flexibilidad, y resulta ideal para los usuarios que desean integrar el modelo local en sus flujos de trabajo y en sus aplicacion Python es.- Instalar
llama-cpp-python - Interactúa con el modelo desde tu aplicación utilizando
llama_cpp. Por ejemplo:
from llama_cpp import Llama model_path = <PATH-TO-GGUF-FILE> model = Llama( model_path, seed=17, n_ctx=10000, n_gpu_layers=37, # to offload in gpu, but put 0 if all in cpu ) input = 'Generate a quantum circuit with 2 qubits' raw_pred = model(input)["choices"][0]["text"]También puedes añadir parámetros de generación de texto al modelo para personalizar la inferencia:
generation_kwargs = { "max_tokens": 512, "echo": False, # Echo the prompt in the output "top_k": 1 } raw_pred = model(input, **generation_kwargs)["choices"][0]["text"]- Instalar
Utiliza la
llama.cppbibliotecaOtra alternativa es utilizar
llama.cpp, una biblioteca de código abierto que permite realizar inferencias con modelos de lenguaje grande (LLM) en una CPU con una configuración mínima. Ofrece un control de bajo nivel sobre la ejecución del modelo y, por lo general, se ejecuta desde la línea de comandos, indicando un archivo de modelo GGUF local.Hay varias formas de instalarlo
llama.cppen tu ordenador:- Instala llama.cpp con brew, nix o winget
- Correr con Docker: Acompañar hasta el Docker documentación del
llama.cppequipo - Descarga los binarios precompilados desde la página de versiones
- Compílalo desde el código fuente clonando este repositorio
Una vez instalado, puedes utilizar
llama.cpppara interactuar con los modelos GGUF en modo conversación de la siguiente manera:# Use a local model file llama-cli -m my_model.gguf -cnv # Or download and run a model directly from Hugging Face llama-cli -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF -cnvTambién puedes iniciar un servidor API de OpenAI-compatible para el modelo de la siguiente manera:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUFParámetros avanzados
Con este
llama-cliprograma, puedes controlar la generación del modelo mediante opciones de línea de comandos. Por ejemplo, puedes establecer un mensaje inicial del «sistema» utilizando el-p/--promptindicador. En el modo de conversación (-cnv), esta indicación inicial actúa como mensaje del sistema. Si no, basta con añadir cualquier instrucción que desees al principio del texto del indicador. También puedes ajustar los parámetros de muestreo; por ejemplo: temperatura (--temp), top-k (--top-k), top-p (--top-p), penalización por repetición (--repeat-penalty) y la semilla que se va a utilizar (--seed). A continuación se muestra un ejemplo de cómo utilizar estas opciones:llama-cli -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF \ -p "You are a friendly assistant." -cnv \ --temp 0.7 \ --top-k 50 \ --top-p 0.95 \ --repeat-penalty 1.1 \ --seed 42Para garantizar el correcto funcionamiento de nuestros modelos de Qiskit, recomendamos utilizar el indicador de sistema que se proporciona en nuestros repositorios HF GGUF: indicador de sistema para mistral-small-3.2-24b-qiskit-GGUF, Qwen2.5-Coder-14B-Qiskit-GGUF, granite-3.3-8b-qiskit-GGUF y granite-3.2-8b-qiskit-GGUF.
Continuar (VS Code)
1. Instala la extensión
Abre VS Code, ve a Extensiones (
Cmd+Shift+X), busca Continue e instálalo.2. Abre el archivo de configuración
Haz clic en el icono «Continuar» de la barra lateral; a continuación, haz clic en el icono con forma de engranaje, o bien abre la paleta de comandos (
Cmd+Shift+P) y ejecuta «Continuar: Abrir archivo de configuración ».Esto se abre
~/.continue/config.yaml(oconfig.jsonen versiones anteriores).3. Configurar el modelo
Añade lo siguiente a
config.yaml:models: - name: Qiskit Code Assistant provider: ollama model: mistral-small-3.2-24b-qiskit apiBase: http://localhost:11434De este modo, el modelo de Qiskit estará disponible en el panel de chat (conversaciones de la barra lateral, preguntas y respuestas integradas) y para los comandos de edición integrada.
4. Pruébalas
-
Chat: Abre el panel «Continuar» en la barra lateral y haz una pregunta (por ejemplo: «¿Cómo se crea un circuito parametrizado en Qiskit?»)
-
Edición en línea: selecciona un bloque de código y pulsa
Cmd+I(Mac) oCtrl+I( Linux /Windows)
-
Jupyter AI ( JupyterLab )
Nota: Estas instrucciones se refieren a Jupyter AI v2.x.
1. Instala Jupyter AI y el proveedor Ollama
pip install "jupyter-ai<3" langchain-ollamaEl
"jupyter-ai<3"pin te garantiza que recibirás un v2.x Ellangchain-ollamapaquete es necesario para que Jupyter AI detecte Ollama como proveedor. Sin ello, Ollama no aparecerá en el panel de configuración.A continuación, reinicia JupyterLab.
2. Configurar el modelo de chat
Abre JupyterLab y haz clic en el icono de chat de la barra lateral izquierda. En el panel de configuración:
- En «Modelo de lenguaje », selecciona Ollama como proveedor.
- Introduce
mistral-small-3.2-24b-qiskitcomo nombre del modelo. - No se necesita ninguna clave API para Ollama (deja el campo en blanco).
- Haz clic en la flecha de retroceso para empezar a chatear.
3. Utiliza el comando mágico
%%aiEsta
%%aifunción te permite consultar el modelo directamente en las celdas del cuaderno.%load_ext jupyter_ai_magicsA continuación, en una celda:
%%ai ollama:mistral-small-3.2-24b-qiskit Write a function that implements Grover's algorithm using Qiskit4. Servidor Ollama personalizado (opcional)
De forma predeterminada, Jupyter AI se conecta a
http://127.0.0.1:11434. Si tu servidor Ollama se ejecuta en una dirección o puerto diferente:En la interfaz de usuario del chat: configura el campo « URL de la API base» en el panel de configuración de la IA.
OpenCode (Terminal)
1. Instala OpenCode
curl -fsSL https://opencode.ai/install | bash2. Configurar el modelo de Qiskit
Crea un
opencode.jsonarchivo en el directorio raíz de tu proyecto (o~/.config/opencode/opencode.jsonen para una configuración global):{ "$schema": "https://opencode.ai/config.json", "provider": { "ollama": { "npm": "@ai-sdk/openai-compatible", "name": "Ollama (local)", "options": { "baseURL": "http://localhost:11434/v1" }, "models": { "mistral-small-3.2-24b-qiskit": { "name": "Qiskit Code Assistant" } } } } }3. Selecciona el modelo
Ejecuta « OpenCode » en el directorio de tu proyecto:
opencodeDentro de TUI, ejecuta el
/modelscomando y selecciona « Qiskit Code Assistant » de la lista.4. Pruébalas
Haz una pregunta directamente en el chat, por ejemplo: «Define un circuito de Bell y ejecútalo utilizando QiskitRuntimeService" »
Modelos disponibles
Modelos actuales
Estos son los últimos modelos recomendados para su uso con Qiskit Code Assistant :
- Qiskit/mistral-small-3.2-24b-qiskit - Lanzamiento en octubre de 2025
- Qiskit/Qwen2.5-Coder-14B-Qiskit - Lanzamiento en junio de 2025
- qiskit/granite-3.3-8b-qiskit - Lanzamiento en junio de 2025
- qiskit/granite-3.2-8b-qiskit - Lanzamiento en junio de 2025
Modelos GGUF (recomendados para entornos personales/ordenadores portátiles)
Los modelos en formato GGUF están optimizados para su uso local y requieren menos recursos computacionales:
-
mistral-small-3.2-24b-qiskit-GGUF – Publicado en octubre de 2025.
Entrenado con datos de Qiskit hasta la versión 2.1 -
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Publicado en junio de 2025
. Entrenado con datos de Qiskit hasta la versión 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Publicado en junio de 2025.
Entrenado con datos de Qiskit hasta la versión 2.0 -
qiskit/granite-3.2-8b-qiskit-GGUF – Publicado en junio de 2025.
Entrenado con datos de Qiskit hasta la versión 2.0
Los modelos de código abierto de « Qiskit Code Assistant » están disponibles en Safetensors es un formato de archivo diseñado específicamente para almacenar los pesos y tensores de los modelos de aprendizaje automático de forma segura y eficiente. o GGUF es un formato binario diseñado para cargar y guardar modelos rápidamente, así como para facilitar su lectura. y se pueden descargar desde Hugging Face, tal y como se explica a continuación.
Versiones de Qiskit utilizadas para el entrenamiento
Modelo | Indicadores de referencia | Fecha del release | Entrenado con la versión de Qiskit | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| QiskitHumanEval-Hard | QiskitHumanEval | HumanEval | ASDiv | MathQA | SciQ | MBPP | IFEval | CrowsPairs (Español) | TruthfulQA (cuentas de MC1 ) | |||
| mistral-small-3.2-24b-qiskit | 32.45 | 47.02 | 77.49 | 3.77 | 49.68 | 97.50 | 64.00 | 48.44 | 67.08 | 39.41 | Enero de 2026 | 2.2 |
| Qwen2.5-Coder-14B-Qiskit | 25.17 | 49.01 | 91.46 | 4.21 | 53.90 | 97.00 | 77.60 | 49.64 | 65.18 | 37.82 | Junio de 2025 | 2.0 |
| granite-3.3-8b-qiskit | 14.57 | 27.15 | 62.80 | 0.48 | 38.66 | 93.30 | 52.40 | 59.71 | 59.75 | 39.05 | Junio de 2025 | 2.0 |
| granite-3.2-8b-qiskit | 9.93 | 24.50 | 57.32 | 0.09 | 41.41 | 96.30 | 51.80 | 60.79 | 66.79 | 40.51 | Junio de 2025 | 2.0 |
| granite-8b-qiskit-rc-0.10 | 15.89 | 38.41 | 59.76 | — | — | — | — | — | — | — | Febrero de 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | Noviembre de 2024 | 1.2 |
Nota: Todos los modelos que figuran en la tabla comparativa se evaluaron utilizando su respectivo mensaje de sistema, definido en su modelo « Hugging Face ».
Modelos obsoletos
Estos modelos ya no reciben mantenimiento activo, pero siguen estando disponibles:
- qiskit/granite-8b-qiskit-rc-0.10 - Lanzado en febrero de 2025 (obsoleto)
- qiskit/granite-8b-qiskit - Lanzado en noviembre de 2024 (obsoleto)
Más información y citas
Para obtener más información sobre los benchmarks Qiskit Code Assistant Qiskit HumanEval, o Qiskit HumanEval Hard, y citarlos en sus publicaciones científicas, consulte estas citas recomendadas:
@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},
}