Sari la conținutul principal

Qiskit Code Assistant

Qiskit Code Assistant își propune să facă informatica cuantică mai accesibilă noilor utilizatori Qiskit și să îmbunătățească experiența de programare pentru utilizatorii actuali. Este un asistent de cod bazat pe AI generativ, alimentat de watsonx. A fost antrenat folosind milioane de tokeni de text din Qiskit SDK, ani de exemple de cod Qiskit și funcționalități IBM Quantum®. Qiskit Code Assistant poate sprijini fluxul tău de lucru în dezvoltarea cuantică oferind sugestii generate de LLM bazate pe modelele IBM Granite, care încorporează cele mai recente funcționalități și caracteristici de la IBM®.

Note
  • Aceasta este o funcționalitate experimentală disponibilă utilizatorilor IBM Quantum Premium Plan înregistrați pe noua platformă IBM Quantum.
  • Qiskit Code Assistant se află în stadiu de previzualizare și poate suferi modificări.
  • Dacă ai feedback sau dorești să contactezi echipa de dezvoltare, folosește canalul Qiskit Slack Workspace sau depozitele publice GitHub aferente.

Funcționalități

Următoarele funcționalități sunt incluse în extensiile pentru Visual Studio Code (VS Code) și editoarele compatibile, precum și pentru JupyterLab:

  • Accelerează generarea de cod Qiskit valorificând AI generativ bazat pe modele specializate în generarea de cod Qiskit.
  • Permite formularea de prompturi abstracte și specifice pentru a genera recomandări.
  • Prezintă sugestii pe care le poți revizui, accepta sau respinge.
  • Suportă fișiere cu cod Python și fișiere Jupyter notebook.
  • Include măsuri de siguranță pentru a evita răspunsurile la întrebări ce reprezintă un risc potențial pentru utilizatori, cum ar fi discursul instigator la ură.

Pentru instrucțiuni de integrare a Qiskit Code Assistant direct în mediul tău de dezvoltare, urmează instrucțiunile din subiectul corespunzător:

Modelul lingvistic de mari dimensiuni (LLM) din spatele Qiskit Code Assistant

Pentru a oferi sugestii de cod, Qiskit Code Assistant folosește un Model Lingvistic de Mari Dimensiuni (LLM). În acest caz, Qiskit Code Assistant se bazează în prezent pe modelul mistral-small-3.2-24b-qiskit, construit pe modelul Mistral-Small-3.2-24B-Qiskit. Modelul mistral-small-3.2-24b-qiskit îmbunătățește capacitățile de generare a codului modelului Mistral-Small-3.2-24B-Instruct-2506 pentru Qiskit prin preantrenare extinsă și ajustare fină pe date Qiskit de înaltă calitate, precum și pe commit-uri Python și conversații. Pentru mai multe informații despre familia de modele Mistral AI, consultă documentația Mistral AI. Pentru mai multe detalii despre modelele .*-qiskit, vezi Qiskit Code Assistant: Training LLMs for generating Quantum Computing Code.

LLM-urile noastre specializate pentru Qiskit sunt disponibile și ca modele open-source. Verifică toate modelele disponibile la https://huggingface.co/Qiskit.

Benchmark-urile Qiskit HumanEval și Qiskit HumanEval Hard

Pentru a testa modelul mistral-small-3.2-24b-qiskit și alte modele, am colaborat cu Qiskit Advocates și experți pentru a crea benchmark-urile bazate pe execuție numite Qiskit HumanEval (QHE) și Qiskit HumanEval Hard (QHE Hard), pe care le-am rulat pe modele. Aceste benchmark-uri sunt similare cu HumanEval, incluzând multiple probleme de cod dificile de rezolvat, toate bazate pe bibliotecile oficiale Qiskit.

Benchmark-urile sunt compuse din aproximativ 150 de teste, fiecare construit dintr-o definiție de funcție, urmată de un docstring care detaliază sarcina pe care modelul trebuie să o rezolve. Fiecare exemplu include, de asemenea, o soluție canonică de referință, precum și teste unitare, pentru a evalua corectitudinea soluțiilor generate. Există trei niveluri de dificultate pentru teste: de bază, intermediar și dificil. Benchmark-ul Qiskit HumanEval Hard este o variație a celui Qiskit HumanEval, dar elimină informațiile legate de importurile de cod, astfel încât LLM-ul trebuie să determine importurile corecte de metode sau clase. Această modificare face setul de date mult mai dificil pentru LLM-uri, conform testelor și rezultatelor noastre inițiale.

Seturile de date pentru Qiskit HumanEval și Qiskit HumanEval Hard sunt disponibile pe aceste site-uri: Qiskit HumanEval și Qiskit HumanEval. Poți contribui la dezvoltarea acestor benchmark-uri la depozitul GitHub.

Mai multe informații și citări

Pentru a afla mai multe despre Qiskit Code Assistant, benchmark-urile Qiskit HumanEval sau Qiskit HumanEval Hard, și pentru a le cita în publicațiile tale științifice, consultă aceste citări recomandate:

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

Pașii următori

Recomandări