Saltar al contenido principal

Qiskit Code Assistant

Qiskit Code Assistant tiene 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. Es un asistente de código de IA generativa impulsado por watsonx. 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, que incorporan las últimas características y funcionalidades de IBM®.

Notas
  • Esta es una función experimental disponible para los usuarios del Plan Premium de IBM Quantum registrados en la nueva IBM Quantum Platform.
  • Qiskit Code Assistant está en estado de versión preliminar y está sujeto a cambios.
  • 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.

Características

Las siguientes características están incluidas en las extensiones para Visual Studio Code (VS Code) y editores compatibles, así como para JupyterLab:

  • Acelera la generación de código Qiskit aprovechando la IA generativa basada en modelos especializados en generar código Qiskit.
  • Permite prompts abstractos y específicos para generar recomendaciones.
  • Presenta sugerencias que puedes revisar, aceptar o rechazar.
  • Compatible con archivos de código Python y cuadernos Jupyter.
  • Incluye mecanismos de protección para evitar responder preguntas que representen un riesgo potencial para los usuarios, como el discurso de odio.

Para obtener instrucciones sobre cómo integrar Qiskit Code Assistant directamente en tu entorno de desarrollo, sigue las instrucciones en el tema correspondiente:

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.

Más información y citas

Para obtener más información sobre Qiskit Code Assistant, los benchmarks Qiskit HumanEval o Qiskit HumanEval Hard, y citarlos en tus publicaciones científicas, revisa 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},
}

Usar Qiskit Code Assistant en modo local

Aprende cómo instalar, configurar y usar cualquiera de los modelos de Qiskit Code Assistant en tu máquina local.

Notas
  • Qiskit Code Assistant está en estado de versión preliminar y está sujeto a cambios.
  • 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.

La forma más sencilla de comenzar con Qiskit Code Assistant en modo local es usar los scripts de configuración automática para la extensión de VS Code o JupyterLab. Estos scripts instalarán automáticamente Ollama para ejecutar los LLMs, descargarán el modelo recomendado y configurarán la extensión por ti.

Configuración de la extensión de VS Code

Ejecuta el siguiente comando en tu terminal:

bash <(curl -fsSL https://raw.githubusercontent.com/Qiskit/qiskit-code-assistant-vscode/main/setup_local.sh)

Este script realiza los siguientes pasos:

  • Instalar Ollama (si no está ya instalado)
  • Descargar y configurar el modelo de Qiskit Code Assistant recomendado
  • Configurar la extensión de VS Code para trabajar con tu despliegue local

Configuración de la extensión de JupyterLab

Ejecuta el siguiente comando en tu terminal:

bash <(curl -fsSL https://raw.githubusercontent.com/Qiskit/qiskit-code-assistant-jupyterlab/main/setup_local.sh)

Este script realizará lo siguiente:

  • Instalar Ollama (si no está ya instalado)
  • Descargar y configurar el modelo de Qiskit Code Assistant recomendado
  • Configurar la extensión de JupyterLab para trabajar con tu despliegue local

Modelos disponibles

Modelos actuales

Estos son los modelos más recientes recomendados para usar con Qiskit Code Assistant:

  1. Qiskit/mistral-small-3.2-24b-qiskit - Released October 2025
  2. qiskit/qwen2.5-coder-14b-qiskit - Released June 2025
  3. qiskit/granite-3.3-8b-qiskit - Released June 2025
  4. qiskit/granite-3.2-8b-qiskit - Released June 2025

Los modelos en formato GGUF están optimizados para uso local y requieren menos recursos computacionales:

  1. mistral-small-3.2-24b-qiskit-GGUF – Publicado en octubre de 2025
    Entrenado con datos de Qiskit hasta la versión 2.1

  2. qiskit/qwen2.5-coder-14b-qiskit-GGUF – Publicado en junio de 2025
    Entrenado con datos de Qiskit hasta la versión 2.0

  3. qiskit/granite-3.3-8b-qiskit-GGUF – Publicado en junio de 2025
    Entrenado con datos de Qiskit hasta la versión 2.0

  4. 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 o formato de archivo GGUF y pueden descargarse desde Hugging Face como se explica a continuación.

Versiones de Qiskit usadas para el entrenamiento

Modelo     Métricas del benchmark    Fecha de lanzamientoEntrenado con la versión de Qiskit
 QiskitHumanEval-HardQiskitHumanEvalHumanEvalASDivMathQASciQMBPPIFEvalCrowsPairs (English)TruthfulQA (MC1 acc)  
mistral-small-3.2-24b-qiskit32.4547.0277.493.7749.6897.5064.0048.4467.0839.41January 20262.2
qwen2.5-coder-14b-qiskit25.1749.0191.464.2153.9097.0077.6049.6465.1837.82June 20252.0
granite-3.3-8b-qiskit14.5727.1562.800.4838.6693.3052.4059.7159.7539.05June 20252.0
granite-3.2-8b-qiskit9.9324.5057.320.0941.4196.3051.8060.7966.7940.51June 20252.0
granite-8b-qiskit-rc-0.1015.8938.4159.76February 20251.3
granite-8b-qiskit17.8844.3753.66November 20241.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:

  1. qiskit/granite-8b-qiskit-rc-0.10 - Released February 2025 (deprecated)
  2. qiskit/granite-8b-qiskit - Released November 2024 (deprecated)

Configuración avanzada

Si prefieres configurar tu entorno local manualmente o necesitas más control sobre el proceso de instalación, expande las secciones a continuación.

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:

  1. Navega a la página del modelo de Qiskit deseado en Hugging Face.
  2. 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:

  1. Instala la CLI de Hugging Face

  2. Inicia sesión en tu cuenta de Hugging Face

    huggingface-cli login
  3. 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
  1. Descarga la aplicación Ollama

  2. Instala el archivo descargado

  3. Lanza la aplicación Ollama instalada

    información

    La 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/.

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

  1. Asegúrate de que la aplicación Ollama esté en ejecución.

  2. Ve a la página del modelo deseado y copia la URL. Por ejemplo, https://huggingface.co/Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF.

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

  1. Crea un Modelfile con 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 0
    PARAMETER top_k 1
  2. Run the following command to create a custom model instance based on the Modelfile.

    ollama create Qwen2.5-Coder-14B-Qiskit -f ./path-to-model-file
    nota

    This process may take some time for Ollama to read the model file, initialize the model instance, and configure it according to the specifications provided.

Run the Qiskit Code Assistant model manually downloaded in Ollama

After the Qwen2.5-Coder-14B-Qiskit model has been set up in Ollama, run the following command to launch the model and interact with it in the terminal (in chat mode).

ollama run Qwen2.5-Coder-14B-Qiskit

Some useful commands:

  • ollama list - List models on your computer
  • ollama rm Qwen2.5-Coder-14B-Qiskit - Delete the model
  • ollama show Qwen2.5-Coder-14B-Qiskit - Show model information
  • ollama stop Qwen2.5-Coder-14B-Qiskit - Stop a model that is currently running
  • ollama ps - List which models are currently loaded
Manually deploy the Qiskit Code Assistant models in local through the llama-cpp-python package

An alternative to the Ollama application is the llama-cpp-python package, which is a Python binding for llama.cpp. It gives you more control and flexibility to run the GGUF model locally, and is ideal for users who wish to integrate the local model in their workflows and Python applications.

  1. Install llama-cpp-python
  2. Interact with the model from within your application using llama_cpp. For example:
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"]

You can also add text generation parameters to the model to customize the inference:

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"]
Manually deploy the Qiskit Code Assistant models in local through llama.cpp

Use the llama.cpp library

Another alternative is to use llama.cpp, an open-source library for performing LLM inference on a CPU with minimal setup. It provides low-level control over the model execution and is typically run from the command line, pointing to a local GGUF model file.

There are several ways to install llama.cpp on your machine:

Once installed, you can use llama.cpp to interact with GGUF models in conversation mode as follows:

# 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

You can also launch an OpenAI-compatible API server for the model in the following way:

llama-server -hf Qiskit/Qwen2.5-Coder-14B-Qiskit-GGUF
Advanced parameters

With the llama-cli program, you can control the model generation using command-line options. For example, you can provide an initial “system” prompt using the -p/--prompt flag. In conversation mode (-cnv), this initial prompt acts as the system message. Otherwise, you can simply prepend any desired instruction to your prompt text. You can also adjust sampling parameters - for instance: temperature (--temp), top-k (--top-k), top-p (--top-p), repetition penalty (--repeat-penalty), and the seed to use (--seed). The following is an example invocation using these options:

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 funcionamiento correcto de nuestros modelos Qiskit, recomendamos usar el prompt de sistema proporcionado en nuestros repositorios GGUF de HF: 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 las extensiones al despliegue local

Usa la extensión de VS Code y la extensión de JupyterLab para Qiskit Code Assistant para interactuar con el modelo de Qiskit Code Assistant desplegado localmente. Una vez que tengas la aplicación Ollama configurada con el modelo, puedes configurar las extensiones para conectarse al servicio local.

Conectar con la extensión de VS Code de Qiskit Code Assistant

Con la extensión de VS Code de Qiskit Code Assistant, puedes interactuar con el modelo y realizar completado de código mientras escribes tu código. Esto puede funcionar bien para usuarios que buscan asistencia al escribir código Qiskit para sus aplicaciones Python.

  1. Instala la extensión de VS Code de Qiskit Code Assistant.
  2. En VS Code, ve a Configuración de usuario y establece Qiskit Code Assistant: Url en la URL de tu despliegue local de Ollama (por ejemplo, http://localhost:11434).
  3. Recarga VS Code yendo a Ver > Paleta de comandos... y seleccionando Desarrollador: Recargar ventana.

El modelo de Qiskit Code Assistant configurado en Ollama debería aparecer en la barra de estado y estar listo para usar.

Conectar con la extensión de JupyterLab de Qiskit Code Assistant

Con la extensión de JupyterLab de Qiskit Code Assistant, puedes interactuar con el modelo y realizar completado de código directamente en tu Jupyter Notebook. Los usuarios que trabajan principalmente con Jupyter Notebooks pueden aprovechar esta extensión para mejorar aún más su experiencia al escribir código Qiskit.

  1. Instala la extensión de JupyterLab de Qiskit Code Assistant.
  2. En JupyterLab, ve al Editor de configuración y establece Qiskit Code Assistant Service API en la URL de tu despliegue local de Ollama (por ejemplo, http://localhost:11434).

El modelo de Qiskit Code Assistant configurado en Ollama debería aparecer en la barra de estado y estar listo para usar.

Próximos pasos

Recomendaciones