Przejdź do głównej treści

Qiskit Code Assistant

Qiskit Code Assistant ma na celu uczynienie obliczeń kwantowych bardziej dostępnymi dla nowych użytkowników Qiskit oraz poprawę doświadczenia programowania dla obecnych użytkowników. Jest to generatywny asystent kodu AI oparty na watsonx. Został wytrenowany na milionach tokenów tekstowych z Qiskit SDK, wieloletnich przykładach kodu Qiskit oraz funkcjach IBM Quantum®. Qiskit Code Assistant może wspierać Twój przepływ pracy w zakresie programowania kwantowego, oferując sugestie generowane przez LLM na podstawie modeli IBM Granite, które uwzględniają najnowsze funkcje i możliwości firmy IBM®.

Uwagi
  • To jest funkcja eksperymentalna dostępna dla użytkowników IBM Quantum Premium Plan zarejestrowanych w nowej IBM Quantum Platform.
  • Qiskit Code Assistant jest w stanie wydania podglądu i może ulec zmianie.
  • Jeśli masz uwagi lub chcesz skontaktować się z zespołem deweloperskim, użyj kanału Qiskit Slack Workspace lub powiązanych publicznych repozytoriów GitHub.

Funkcje

Następujące funkcje są dostępne w rozszerzeniach dla Visual Studio Code (VS Code) i kompatybilnych edytorów, a także JupyterLab:

  • Przyspiesza generowanie kodu Qiskit, wykorzystując generatywną AI opartą na modelach wyspecjalizowanych w tworzeniu kodu Qiskit.
  • Obsługuje abstrakcyjne i szczegółowe podpowiedzi w celu generowania rekomendacji.
  • Prezentuje sugestie, które możesz przeglądać, akceptować lub odrzucać.
  • Obsługuje pliki kodu Python i notebooki Jupyter.
  • Zawiera mechanizmy zabezpieczające, aby unikać odpowiadania na pytania stanowiące potencjalne zagrożenie dla użytkowników, takie jak mowa nienawiści.

Aby uzyskać instrukcje dotyczące integracji Qiskit Code Assistant bezpośrednio ze środowiskiem programistycznym, postępuj zgodnie z instrukcjami w odpowiednim temacie:

Duży Model Językowy (LLM) za Qiskit Code Assistant

Aby zapewniać sugestie kodu, Qiskit Code Assistant używa Dużego Modelu Językowego (LLM). W tym przypadku Qiskit Code Assistant opiera się aktualnie na modelu mistral-small-3.2-24b-qiskit, zbudowanym na bazie modelu Mistral-Small-3.2-24B-Qiskit. Model mistral-small-3.2-24b-qiskit ulepsza możliwości generowania kodu modelu Mistral-Small-3.2-24B-Instruct-2506 dla Qiskit poprzez rozszerzone wstępne trenowanie i dostrajanie na wysokiej jakości danych Qiskit, a także commitach Python i czacie. Więcej informacji o rodzinie modeli Mistral AI znajdziesz w dokumentacji Mistral AI. Więcej szczegółów o modelach .*-qiskit znajdziesz w artykule Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.

Nasze LLM wyspecjalizowane dla Qiskit są dostępne również jako modele open-source. Sprawdź wszystkie dostępne modele na https://huggingface.co/Qiskit.

Benchmarki Qiskit HumanEval i Qiskit HumanEval Hard

Aby przetestować mistral-small-3.2-24b-qiskit i inne modele, współpracowaliśmy z Qiskit Advocates i ekspertami, aby stworzyć benchmarki oparte na wykonaniu, zwane Qiskit HumanEval (QHE) i Qiskit HumanEval Hard (QHE Hard), i uruchomiliśmy je na modelach. Benchmarki te są podobne do HumanEval — zawierają wiele trudnych problemów kodowania do rozwiązania, wszystkie oparte na oficjalnych bibliotekach Qiskit.

Benchmarki składają się z około 150 testów, z których każdy zawiera definicję funkcji, a następnie docstring szczegółowo opisujący zadanie, które model ma rozwiązać. Każdy przykład zawiera również referencyjne rozwiązanie kanoniczne oraz testy jednostkowe do oceny poprawności wygenerowanych rozwiązań. Testy mają trzy poziomy trudności: podstawowy, średniozaawansowany i trudny. Benchmark Qiskit HumanEval Hard jest wariacją Qiskit HumanEval, ale usuwa informacje dotyczące importów kodu, więc LLM musi samodzielnie określić właściwe importy metod lub klas. Ta zmiana sprawia, że zbiór danych jest znacznie trudniejszy dla LLM, zgodnie z naszymi testami i początkowymi wynikami.

Zbiory danych dla Qiskit HumanEval i Qiskit HumanEval Hard są dostępne na tych stronach: Qiskit HumanEval i Qiskit HumanEval. Możesz przyczynić się do rozwoju tych benchmarków w repozytorium GitHub.

Więcej informacji i cytowania

Aby dowiedzieć się więcej o Qiskit Code Assistant, benchmarkach Qiskit HumanEval lub Qiskit HumanEval Hard i cytować je w swoich publikacjach naukowych, zapoznaj się z zalecanymi cytowaniami:

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

Następne kroki

Rekomendacje