Перейти до основного вмісту
Примітки
  • Сумісність Qiskit Code Assistant з OpenAI API перебуває у статусі попереднього випуску і може змінюватися.
  • Якщо ти маєш відгуки або хочеш зв'язатися з командою розробників, скористайся каналом Qiskit Slack Workspace або відповідними публічними репозиторіями GitHub.

Qiskit Code Assistant — сумісність з OpenAI API

Qiskit Code Assistant пропонує сумісність із підмножиною специфікації OpenAI API, зокрема з кінцевими точками API доповнень. Мета цієї сумісності — дозволити стороннім пакетам підключатися до Qiskit Code Assistant без зусиль, використовуючи добре відомі бібліотеки та методи, пов'язані зі штучним інтелектом, такі як OpenAI, LiteLLM та інші.

Підтримувані кінцеві точки OpenAI API

МетодШляхКоментар
GET/v1/modelsСписок усіх моделей
GET/v1/model/{model}Отримати деталі моделі
POST/v1/completionsНадіслати промпт до моделі для доповнення
примітка

Кінцева точка /v1/completions повертає помилку 403, якщо відмова від відповідальності моделі не була прийнята. Дивись нижче, як переглянути та прийняти відмову від відповідальності моделі.

Додаткові кінцеві точки (не входять до схеми OpenAI, надаються для зручності):

МетодШляхКоментар
GET/v1/model/{model}/disclaimerОтримати відмову від відповідальності моделі
POST/v1/model/{model}/disclaimerПрийняти відмову від відповідальності моделі
POST/v1/completions/acceptПрийняти або відхилити доповнення

Щоб отримати/переглянути відмову від відповідальності моделі, виконай запит GET до кінцевої точки disclaimer. Наприклад:

curl -X 'GET' \
'https://qiskit-code-assistant.quantum.ibm.com/v1/model/mistral-small-3.2-24b-qiskit/disclaimer' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <IBM Quantum Classic API key>'

Якщо ти згоден(-на) з відмовою від відповідальності моделі, щоб прийняти її, виконай запит POST до кінцевої точки disclaimer, вказавши ID відмови та чи прийнята вона. Наприклад:

curl -X 'POST' \
'https://qiskit-code-assistant.quantum.ibm.com/v1/model/mistral-small-3.2-24b-qiskit/disclaimer' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <IBM Quantum Classic API key>' \
-H 'Content-Type: application/json' \
-d '{
"disclaimer": "<DISCLAIMER_ID>",
"accepted": true
}'

Приклади

Використання офіційної бібліотеки Python від OpenAI

Бібліотека Python від OpenAI надає зручний доступ до REST API OpenAI (такого як той, що надається Qiskit Code Assistant) з будь-якого Python 3.8+ застосунку. Дивись більше деталей у розділі Installation файлу Readme бібліотеки Python API від OpenAI.

from openai import OpenAI

# Initialize the client with your API token
client = OpenAI(
api_key="<IBM Quantum Classic API token>",
base_url="https://qiskit-code-assistant.quantum.ibm.com/v1",
)

# Make a request to the completions API
try:
response = client.completions.create(
model="mistral-small-3.2-24b-qiskit",
prompt="#Transpile a random circuit using the Qiskit Transpiler Service",
)

# Print the generated text
print(response.choices[0].text)

except Exception as e:
print(f"An error occurred: {e}")

Використання LiteLLM

LiteLLM — це зручна бібліотека Python для доступу до кількох LLM API у форматі OpenAI (Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq тощо). Дивись документацію LiteLLM для отримання більше деталей.

from litellm import completion

response = completion(
model=f"text-completion-openai/mistral-small-3.2-24b-qiskit",
base_url="https://qiskit-code-assistant.quantum.ibm.com/v1",
messages=[
{
"role": "user",
"content": "#Transpile a random circuit using the Qiskit Transpiler Service",
}
],
api_key="<IBM Quantum Classic API key>",
)

completion_response = response.json()
print(completion_response)