OpenAI SDK через Konductor
Эта страница есть и в виде Markdown для ИИ-ассистентов — openai-sdk.md.
OpenAI SDK для Python работает с Konductor без обёрток: достаточно указать base_url и ключ компании. Пример проверен на openai==2.26.0.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://llm.kodzavod.ru/v1",
api_key=os.environ["KONDUCTOR_KEY"],
)
completion = client.chat.completions.create(
model=os.environ["KONDUCTOR_MODEL"],
messages=[{"role": "user", "content": "Привет!"}],
max_tokens=256,
)
print(completion.choices[0].message.content)Что здесь важно
base_url—https://llm.kodzavod.ru/v1, с/v1на конце. SDK дописывает к нему только/chat/completions, так что без/v1запрос уйдёт на несуществующий путь и вернёт 404.api_key— ключ компании. SDK отправит его в заголовкеAuthorization: Bearer.model— идентификатор модели из каталога на странице Цены.max_tokensограничивает ответ. Перед запросом Konductor резервирует деньги по цене входа и поmax_tokensна выходе, поэтому слишком большое значение может дать 402. Безmax_tokensрезерв считается по потолку вывода модели.
Переменные окружения
SDK читает OPENAI_API_KEY и OPENAI_BASE_URL. Если задашь их, аргументы api_key и base_url в коде не нужны:
export OPENAI_API_KEY="$KONDUCTOR_KEY"
export OPENAI_BASE_URL="https://llm.kodzavod.ru/v1"Потоковый ответ
Передай stream=True, и Konductor отдаст ответ по частям в формате text/event-stream. Последняя часть несёт usage с cost_rub.
Если запрос не прошёл
Смотри страницу Ошибки 402, 403 и 429. Те же переменные KONDUCTOR_KEY и KONDUCTOR_MODEL описаны в быстром старте.