Skip to main content
IBM Quantum Platform

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

Notas
  • ¿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 :

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

    1. Instala la interfaz de línea de comandos 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>
      
  • 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-python paquete.

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

    2. Instala el archivo descargado

    3. Abre la aplicación Ollama instalada

      Info

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

    4. 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``params predeterminados ya están incluidos para el modelo en el Hub de Hugging Face.

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

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

    3. 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-Qiskit modelo o cualquiera de los demás modelos oficiales de la GGUF hf.co/Qiskit/mistral-small-3.2-24b-qiskit-GGUF recomendados actualmente, o bien 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 probar diferentes plantillas y parámetros, puedes seguir estos pasos para cargarlo en tu aplicación local de Ollama.

    1. Crea un Modelfile introduciendo 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
      
    2. 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-file
      
      Note

      Este 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-Qiskit el 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-Qiskit
    

    Algunos comandos útiles:

    • ollama list - Mostrar los modelos que hay en tu ordenador
    • ollama rm Qwen2.5-Coder-14B-Qiskit - Eliminar el modelo
    • ollama show Qwen2.5-Coder-14B-Qiskit - Mostrar información del modelo
    • ollama stop Qwen2.5-Coder-14B-Qiskit - Detener un modelo que se está ejecutando actualmente
    • ollama ps - Mostrar los modelos que están cargados actualmente
  • Una alternativa a la aplicación Ollama es el llama-cpp-python paquete, que es un enlace de Python para llama.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.

    1. Instalar llama-cpp-python
    2. 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"]
  • Utiliza la llama.cpp biblioteca

    Otra 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.cpp en tu ordenador:

    Una vez instalado, puedes utilizar llama.cpp para 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 -cnv

    Tambié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-GGUF
    Parámetros avanzados

    Con este llama-cli programa, 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/--prompt indicador. 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 42

    Para 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 (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

    De 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) o Ctrl+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-ollama

    El "jupyter-ai<3" pin te garantiza que recibirás un v2.x El langchain-ollama paquete 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:

    1. En «Modelo de lenguaje », selecciona Ollama como proveedor.
    2. Introduce mistral-small-3.2-24b-qiskit como nombre del modelo.
    3. No se necesita ninguna clave API para Ollama (deja el campo en blanco).
    4. Haz clic en la flecha de retroceso para empezar a chatear.
    3. Utiliza el comando mágico %%ai

    Esta %%ai función te permite consultar el modelo directamente en las celdas del cuaderno.

    %load_ext jupyter_ai_magics

    A continuación, en una celda:

    %%ai ollama:mistral-small-3.2-24b-qiskit
    Write a function that implements Grover's algorithm using Qiskit
    4. 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 | bash
    2. Configurar el modelo de Qiskit

    Crea un opencode.json archivo en el directorio raíz de tu proyecto (o ~/.config/opencode/opencode.json en 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:

    opencode

    Dentro de TUI, ejecuta el /models comando 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 :

  1. Qiskit/mistral-small-3.2-24b-qiskit - Lanzamiento en octubre de 2025
  2. Qiskit/Qwen2.5-Coder-14B-Qiskit - Lanzamiento en junio de 2025
  3. qiskit/granite-3.3-8b-qiskit - Lanzamiento en junio de 2025
  4. 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:

  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 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-HardQiskitHumanEvalHumanEvalASDivMathQASciQMBPPIFEvalCrowsPairs (Español)TruthfulQA (cuentas de MC1 )  
mistral-small-3.2-24b-qiskit32.4547.0277.493.7749.6897.5064.0048.4467.0839.41Enero de 20262.2
Qwen2.5-Coder-14B-Qiskit25.1749.0191.464.2153.9097.0077.6049.6465.1837.82Junio de 20252.0
granite-3.3-8b-qiskit14.5727.1562.800.4838.6693.3052.4059.7159.7539.05Junio de 20252.0
granite-3.2-8b-qiskit9.9324.5057.320.0941.4196.3051.8060.7966.7940.51Junio de 20252.0
granite-8b-qiskit-rc-0.1015.8938.4159.76Febrero de 20251.3
granite-8b-qiskit17.8844.3753.66Noviembre de 20241.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:

  1. qiskit/granite-8b-qiskit-rc-0.10 - Lanzado en febrero de 2025 (obsoleto)
  2. 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},
}
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.