Qiskit Code Assistant
Los LLMs de Qiskit Code Assistant tienen como objetivo hacer la computación cuántica más accesible para los nuevos usuarios de Qiskit y mejorar la experiencia de programación para los usuarios actuales. Ha sido entrenado con millones de tokens de texto del SDK de Qiskit, años de ejemplos de código Qiskit y características de IBM Quantum®. Qiskit Code Assistant puede ayudar en tu flujo de trabajo de desarrollo cuántico ofreciendo sugerencias generadas por LLM basadas en modelos IBM Granite y otros modelos de código abierto, que incorporan las últimas características y funcionalidades de IBM®.
- ¿Quieres ir directamente a las instrucciones de instalación? Ve a la sección Instalar Qiskit Code Assistant.
- Si tienes comentarios o deseas contactar con el equipo de desarrollo, usa el canal de Qiskit en Slack Workspace o los repositorios públicos de GitHub relacionados.
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 actualmente se apoya en el modelo mistral-small-3.2-24b-qiskit, construido sobre el modelo Mistral-Small-3.2-24B-Qiskit. El modelo mistral-small-3.2-24b-qiskit mejora las capacidades de generación de código para Qiskit del modelo Mistral-Small-3.2-24B-Instruct-2506 mediante preentrenamiento extendido y ajuste fino con datos de Qiskit de alta calidad, así como confirmaciones de Python y chat. Para más información sobre la familia de modelos Mistral AI, consulta la documentación de Mistral AI. Para más detalles sobre los modelos .*-qiskit, consulta Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.
Nuestros LLMs especializados para Qiskit también están disponibles como modelos de código abierto. Consulta todos los modelos disponibles en https://huggingface.co/Qiskit.
Los benchmarks Qiskit HumanEval y Qiskit HumanEval Hard
Para probar mistral-small-3.2-24b-qiskit y otros modelos, colaboramos con Qiskit Advocates y expertos para crear los benchmarks basados en ejecución llamados Qiskit HumanEval (QHE) y Qiskit HumanEval Hard (QHE Hard), y los ejecutamos sobre los modelos. Estos benchmarks son similares a HumanEval, e incluyen múltiples problemas de código desafiantes a resolver, todos basados en las bibliotecas oficiales de Qiskit.
Los benchmarks están compuestos por aproximadamente 150 pruebas, cada una elaborada a partir de una definición de función seguida de un docstring que detalla la tarea que el modelo debe resolver. Cada ejemplo también incluye 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 variación del Qiskit HumanEval, pero elimina la información relacionada con las importaciones de código, por lo que el LLM debe determinar las importaciones correctas de métodos o clases. Este cambio hace que el dataset sea mucho más desafiante para los LLMs, según nuestras pruebas y resultados iniciales.
Los datasets de Qiskit HumanEval y Qiskit HumanEval Hard están disponibles en estos sitios web: Qiskit HumanEval y Qiskit HumanEval. Puedes contribuir al desarrollo de estos benchmarks en el repositorio de GitHub.
Instalar Qiskit Code Assistant
Aprende cómo instalar, configurar y usar cualquiera de los modelos de Qiskit Code Assistant en tu máquina local.
Descargar desde el sitio web de Hugging Face
Sigue estos pasos para descargar cualquier modelo relacionado con Qiskit Code Assistant desde el sitio web de Hugging Face:
- Navega a la página del modelo de Qiskit deseado en Hugging Face.
- Ve a la pestaña Files and Versions y descarga los archivos del modelo en formato safetensors o GGUF.
Descargar usando la CLI de Hugging Face
Para descargar cualquiera de los modelos disponibles de Qiskit Code Assistant usando la CLI de Hugging Face, sigue estos pasos:
-
Instala la CLI de Hugging Face
-
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>
Desplegar manualmente los modelos de Qiskit Code Assistant en local mediante Ollama
Hay múltiples formas de desplegar e interactuar con el modelo de Qiskit Code Assistant descargado. Esta guía muestra cómo hacerlo con Ollama: bien con la aplicación Ollama usando la integración con Hugging Face Hub o un modelo local, o bien con el paquete llama-cpp-python.
Usar la aplicación Ollama
La aplicación Ollama ofrece una solución sencilla para ejecutar los LLMs localmente. Es fácil de usar, con una CLI que simplifica todo el proceso de configuración, gestión de modelos e interacción. Es ideal para experimentación rápida y para usuarios que quieren manejar menos detalles técnicos.
Instalar Ollama
-
Descarga la aplicación Ollama
-
Instala el archivo descargado
-
Lanza la aplicación Ollama instalada
informaciónLa aplicación funciona correctamente cuando el icono de Ollama aparece en la barra de menú del escritorio. También puedes verificar que el servicio está en ejecución accediendo a
http://localhost:11434/. -
Prueba Ollama en tu terminal y comienza a ejecutar modelos. Por ejemplo:
ollama run hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit
Configurar Ollama usando la integración con Hugging Face Hub
La integración Ollama/Hugging Face Hub proporciona una forma de interactuar con modelos alojados en Hugging Face Hub sin necesidad de crear un nuevo modelfile ni descargar manualmente los archivos GGUF o safetensors. Los archivos template y params predeterminados ya están incluidos para el modelo en Hugging Face Hub.
-
Asegúrate de que la aplicación Ollama esté en ejecución.
-
Ve a la página del modelo deseado y copia la 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 usar el modelo hf.co/Qiskit/Qwen2.5-Coder-14B-Qiskit o cualquiera de los otros modelos GGUF oficiales actualmente recomendados: hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF o hf.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 experimentar con diferentes plantillas y parámetros, puedes seguir estos pasos para cargarlo en tu aplicación Ollama local.
-
Crea un
Modelfilecon el siguiente contenido y asegúrate de actualizar<PATH-TO-GGUF-FILE>con la ruta real de tu modelo 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 0PARAMETER 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-filenotaEste proceso puede tardar algún tiempo mientras Ollama lee el archivo del modelo, inicializa la instancia del modelo y lo configura según las especificaciones proporcionadas.
Ejecutar el modelo de Qiskit Code Assistant descargado manualmente en Ollama
Una vez que el modelo Qwen2.5-Coder-14B-Qiskit esté configurado en Ollama, ejecuta el siguiente comando para lanzarlo e interactuar con él en la terminal (en modo chat).
ollama run Qwen2.5-Coder-14B-Qiskit
Algunos comandos útiles:
ollama list- Listar los modelos 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 está en ejecuciónollama ps- Listar los modelos cargados actualmente
Desplegar manualmente los modelos de Qiskit Code Assistant en local mediante el paquete llama-cpp-python
Una alternativa a la aplicación Ollama es el paquete llama-cpp-python, que es un enlace de Python para llama.cpp. Te proporciona mayor control y flexibilidad para ejecutar el modelo GGUF localmente, y es ideal para usuarios que desean integrar el modelo local en sus flujos de trabajo y aplicaciones Python.
- Instala
llama-cpp-python - Interactúa con el modelo desde tu aplicación usando
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”]
Desplegar manualmente los modelos de Qiskit Code Assistant en local mediante llama.cpp
Usar la biblioteca llama.cpp
Otra alternativa es usar llama.cpp, una biblioteca de código abierto para realizar inferencia con LLM en una CPU con una configuración mínima.
Proporciona control de bajo nivel sobre la ejecución del modelo y generalmente se ejecuta desde la línea de comandos, apuntando a un archivo de modelo GGUF local.
Hay varias formas de instalar llama.cpp en tu máquina:
- Instalar llama.cpp usando brew, nix o winget
- Ejecutar con Docker: consulta la documentación de Docker del equipo de
llama.cpp - Descargar binarios precompilados desde la página de versiones
- Compilar desde el código fuente clonando este repositorio
Una vez instalado, puedes usar llama.cpp para interactuar con 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 -cnv
También puedes lanzar un servidor API compatible con OpenAI para el modelo de la siguiente manera:
llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Parámetros avanzados
Con el programa llama-cli, puedes controlar la generación del modelo mediante opciones de línea de comandos. Por ejemplo, puedes proporcionar un prompt “de sistema” inicial usando el indicador -p/--prompt. En modo conversación (-cnv), este prompt inicial actúa como mensaje del sistema. De lo contrario, puedes simplemente anteponer cualquier instrucción deseada al texto de tu prompt. 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 a usar (--seed). A continuación se muestra un ejemplo de invocación usando 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 42
Para garantizar el correcto funcionamiento de nuestros modelos Qiskit, recomendamos usar el prompt de sistema proporcionado en nuestros repositorios HF GGUF: prompt 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.
Conectar manualmente Continue (VS Code)
Continue (VS Code)
1. Instalar la extensión
Abre VS Code, ve a Extensiones (Cmd+Shift+X), busca Continue e instálala.
2. Abrir la configuración
Haz clic en el icono de Continue en la barra lateral, luego haz clic en el icono de engranaje, o abre la paleta de comandos (Cmd+Shift+P) y ejecuta Continue: Open Config File.
Esto abre ~/.continue/config.yaml (o config.json en 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:11434
Esto hace que el modelo de Qiskit esté disponible en el panel de chat (conversaciones en la barra lateral, preguntas y respuestas en línea) y para los comandos de edición en línea.
4. Probarlo
- Chat: Abre el panel de Continue en la barra lateral y haz una pregunta (por ejemplo, “How do I create a parameterized circuit in Qiskit?”)
- Edición en línea: Selecciona un bloque de código y pulsa
Cmd+I(Mac) oCtrl+I(Linux/Windows)
Conectar manualmente Jupyter AI (JupyterLab)
Jupyter AI (JupyterLab)
Nota: Estas instrucciones corresponden a Jupyter AI v2.x.
1. Instalar Jupyter AI y el proveedor de Ollama
pip install “jupyter-ai<3” langchain-ollama
El pin ”jupyter-ai<3” garantiza que obtengas la versión v2.x. El paquete langchain-ollama es necesario para que Jupyter AI detecte Ollama como proveedor. Sin él, Ollama no aparecerá en el panel de configuración.
Luego reinicia JupyterLab.
2. Configurar el modelo de chat
Abre JupyterLab y haz clic en el icono de chat en la barra lateral izquierda. En el panel de configuración:
- En Language model, selecciona Ollama como proveedor.
- Introduce
mistral-small-3.2-24b-qiskitcomo nombre del modelo. - No se necesita clave de API para Ollama (deja el campo vacío).
- Haz clic en la flecha atrás para empezar a chatear.
3. Usar el comando mágico %%ai
La magia %%ai te permite consultar el modelo directamente en las celdas del cuaderno.
%load_ext jupyter_ai_magics
Luego en una celda:
%%ai ollama:mistral-small-3.2-24b-qiskit
Write a function that implements Grover's algorithm using Qiskit
4. Host de Ollama personalizado (opcional)
Por defecto, 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 chat: Establece el campo “Base API URL” en el panel de configuración de IA.
Conectar manualmente OpenCode (Terminal)
OpenCode (Terminal)
1. Instalar OpenCode
curl -fsSL https://opencode.ai/install | bash
2. Configurar el modelo de Qiskit
Crea un archivo opencode.json en la raíz de tu proyecto (o en ~/.config/opencode/opencode.json 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. Seleccionar el modelo
Lanza OpenCode en el directorio de tu proyecto:
opencode
Dentro del TUI, ejecuta el comando /models y selecciona Qiskit Code Assistant de la lista.
4. Probarlo
Haz una pregunta directamente en el chat, por ejemplo: “Define a Bell circuit and run it using QiskitRuntimeService”
Modelos disponibles
Modelos actuales
Estos son los últimos modelos recomendados para usar con Qiskit Code Assistant:
- Qiskit/mistral-small-3.2-24b-qiskit - Released October 2025
- Qiskit/Qwen2.5-Coder-14B-Qiskit - Released June 2025
- qiskit/granite-3.3-8b-qiskit - Released June 2025
- qiskit/granite-3.2-8b-qiskit - Released June 2025
Modelos GGUF (recomendados para entornos personales/portátiles)
Los modelos en formato GGUF están optimizados para uso local y requieren menos recursos computacionales:
-
mistral-small-3.2-24b-qiskit-GGUF – Released October 2025
Trained with Qiskit data up to version 2.1 -
Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF – Released June 2025
Trained with Qiskit data up to version 2.0 -
qiskit/granite-3.3-8b-qiskit-GGUF – Released June 2025
Trained with Qiskit data up to version 2.0 -
qiskit/granite-3.2-8b-qiskit-GGUF – Released June 2025
Trained with Qiskit data up to version 2.0
Los modelos de código abierto de Qiskit Code Assistant están disponibles en formato safetensors o GGUF y pueden descargarse desde Hugging Face como se explica a continuación.
Versiones de Qiskit usadas para el entrenamiento
| Model | Benchmark Metrics | Release date | Trained on Qiskit version | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| QiskitHumanEval-Hard | QiskitHumanEval | HumanEval | ASDiv | MathQA | SciQ | MBPP | IFEval | CrowsPairs (English) | TruthfulQA (MC1 acc) | |||
| 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 | January 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 | June 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 | June 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 | June 2025 | 2.0 |
| granite-8b-qiskit-rc-0.10 | 15.89 | 38.41 | 59.76 | — | — | — | — | — | — | — | February 2025 | 1.3 |
| granite-8b-qiskit | 17.88 | 44.37 | 53.66 | — | — | — | — | — | — | — | November 2024 | 1.2 |
Nota: Todos los modelos listados en la tabla de benchmarks fueron evaluados usando su prompt de sistema respectivo, definido en su modelo de Hugging Face.
Modelos obsoletos
Estos modelos ya no reciben mantenimiento activo pero siguen estando disponibles:
- qiskit/granite-8b-qiskit-rc-0.10 - Released February 2025 (deprecated)
- qiskit/granite-8b-qiskit - Released November 2024 (deprecated)
Más información y citas
Para aprender más sobre Qiskit Code Assistant, los benchmarks Qiskit HumanEval o Qiskit HumanEval Hard, y citarlos en tus publicaciones científicas, consulta 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},
}