Перейти до основного вмісту

Qiskit Code Assistant

Qiskit Code Assistant прагне зробити квантові обчислення доступнішими для нових користувачів Qiskit і покращити досвід написання коду для поточних користувачів. Це генеративний AI-асистент для написання коду, побудований на основі watsonx. Він навчений на мільйонах текстових токенів з Qiskit SDK, роках прикладів коду Qiskit та можливостей IBM Quantum®. Qiskit Code Assistant може допомогти у твоєму робочому процесі квантової розробки, пропонуючи підказки, згенеровані LLM на основі моделей IBM Granite, які включають найновіші функції та можливості від IBM®.

Примітки
  • Це експериментальна функція, доступна для користувачів IBM Quantum Premium Plan, зареєстрованих на новій IBM Quantum Platform.
  • Qiskit Code Assistant перебуває у статусі попереднього випуску і може змінюватися.
  • Якщо ти маєш відгуки або хочеш зв'язатися з командою розробників, скористайся каналом Qiskit Slack Workspace або відповідними публічними репозиторіями GitHub.

Функції

Такі функції включено до розширень для Visual Studio Code (VS Code) і сумісних редакторів, а також для JupyterLab:

  • Прискорює генерацію коду Qiskit завдяки генеративному AI на основі моделей, спеціалізованих на генерації коду Qiskit.
  • Дозволяє використовувати абстрактні та конкретні запити для генерації рекомендацій.
  • Надає підказки, які ти можеш переглянути, прийняти або відхилити.
  • Підтримує файли Python і Jupyter notebook.
  • Включає захисні механізми для уникнення відповідей на питання, що становлять потенційний ризик для користувачів, наприклад мова ненависті.

Для отримання інструкцій з інтеграції Qiskit Code Assistant безпосередньо у своє середовище розробки дотримуйся інструкцій у відповідній темі:

Велика мовна модель (LLM), що стоїть за Qiskit Code Assistant

Для надання підказок коду Qiskit Code Assistant використовує велику мовну модель (LLM). У цьому випадку Qiskit Code Assistant наразі покладається на модель mistral-small-3.2-24b-qiskit, побудовану на основі моделі Mistral-Small-3.2-24B-Qiskit. Модель mistral-small-3.2-24b-qiskit покращує можливості генерації коду моделі Mistral-Small-3.2-24B-Instruct-2506 для Qiskit завдяки розширеному попередньому навчанню та тонкому налаштуванню на якісних даних Qiskit, а також комітах Python і чатах. Для отримання додаткової інформації про сімейство моделей Mistral AI зверни увагу на документацію Mistral AI. Для отримання більше деталей про моделі .*-qiskit дивись Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.

Наші LLM, спеціалізовані для Qiskit, також доступні як моделі з відкритим кодом. Перегляньте всі доступні моделі на https://huggingface.co/Qiskit.

Бенчмарки Qiskit HumanEval і Qiskit HumanEval Hard

Щоб протестувати mistral-small-3.2-24b-qiskit та інші моделі, ми співпрацювали з адвокатами та експертами Qiskit для створення бенчмарків на основі виконання коду, що називаються Qiskit HumanEval (QHE) і Qiskit HumanEval Hard (QHE Hard), та запустили їх на моделях. Ці бенчмарки схожі на HumanEval і містять кілька складних завдань з програмування, всі засновані на офіційних бібліотеках Qiskit.

Бенчмарки складаються приблизно з 150 тестів, кожен з яких побудований із визначення функції, за яким іде рядок документації, що детально описує завдання, яке модель має вирішити. Кожен приклад також включає еталонне канонічне рішення та модульні тести для оцінки правильності згенерованих рішень. Є три рівні складності тестів: базовий, середній і складний. Бенчмарк Qiskit HumanEval Hard є варіацією Qiskit HumanEval, але без інформації про імпорт коду, тому LLM потрібно самостійно визначати правильні імпорти методів або класів. Ця зміна робить датасет значно складнішим для LLM, згідно з нашими тестами та початковими результатами.

Датасети Qiskit HumanEval і Qiskit HumanEval Hard доступні на цих сайтах: Qiskit HumanEval і Qiskit HumanEval Hard. Ти можеш зробити внесок у розробку цих бенчмарків у репозиторії GitHub.

Додаткова інформація та цитування

Щоб дізнатися більше про Qiskit Code Assistant, бенчмарки Qiskit HumanEval або Qiskit HumanEval Hard і процитувати їх у наукових публікаціях, ознайомся з рекомендованими цитатами:

@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},
}

Наступні кроки

Рекомендації