Готовые клиенты и библиотеки

Какие три значения указать в программе или библиотеке с поддержкой OpenAI, примеры для Python, Node.js и LangChain и случаи, когда клиент не подойдёт.

Обновлено: 2 мин чтения

Подключите клиент

Подойдёт любая программа или библиотека, которая работает с Chat Completions от OpenAI и где можно сменить адрес сервера. Ей нужны три значения.

  1. Найдите в настройках поле адреса API. Оно называется Base URL, API base или Endpoint.
  2. Укажите https://epicai.ru/v1. Если клиент просит адрес запроса целиком, добавьте /chat/completions.
  3. Вставьте ключ API в поле API key.
  4. Выберите модель. Клиент со списком берёт его у GET /v1/models, а если имя вводится вручную, скопируйте его из ответа этого запроса.
  5. Отправьте короткое сообщение. В ответе должен прийти текст, а в GET /v1/account изменится расход.

Конкретные программы мы не перечисляем, потому что поля у них называются по-разному, а смысл везде один.

Переменные окружения

Официальные библиотеки OpenAI читают адрес и ключ из переменных окружения, так что в коде их можно вообще не указывать. Тот же приём работает в программах, которые собраны на этих библиотеках.

export OPENAI_BASE_URL="https://epicai.ru/v1"
export OPENAI_API_KEY="sk-epic-ВАШ_КЛЮЧ"
from openai import OpenAI

client = OpenAI()
for model in client.models.list():
    print(model.id)
import OpenAI from "openai";

const client = new OpenAI();
for await (const model of client.models.list()) {
  console.log(model.id);
}

Запрос списка моделей бесплатный, поэтому он удобен как проверка настройки.

LangChain

В langchain-openai адрес и ключ передаются в конструктор ChatOpenAI.

import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-6-luna",
    base_url="https://epicai.ru/v1",
    api_key=os.environ["EPICAI_API_KEY"],
    max_tokens=300,
)
print(llm.invoke("Назови столицу Франции одним словом.").content)

Когда клиент не подойдёт

  • Он обращается к адресам, которых в API нет: /v1/responses, /v1/embeddings, /v1/completions, /v1/images, /v1/audio, /v1/files. На такие запросы приходит 404 not_found.
  • Он работает по протоколу Anthropic и шлёт запросы на /v1/messages. Заголовок x-api-key epicai принимает, но протокол у API только OpenAI, и такого адреса нет.
  • Всегда добавляет параметры, которые API не поддерживает, например n больше 1, logprobs, аудио, web_search_options или устаревшие functions. Отключите их в настройках клиента, иначе придёт 400 unsupported_parameter.
  • Имена моделей OpenAI в нём прописаны жёстко. Укажите имя из списка epicai, иначе придёт 404 model_not_found.

Лишние поля вроде user, store и metadata клиенту слать можно, они игнорируются без ошибки.

Не нашли ответ?

Посмотрите частые вопросы или напишите в поддержку.

Войти или создать аккаунт

20 000 токенов в подарок новым пользователям. Без карты и без VPN.

или через сервис

Продолжая, вы получаете сервисные письма.

Для защиты от роботов используется Yandex SmartCaptcha. Условия обработки данных.