- Сумісність 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)