Konductor

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 описаны в быстром старте.