Готовые клиенты и библиотеки
Какие три значения указать в программе или библиотеке с поддержкой OpenAI, примеры для Python, Node.js и LangChain и случаи, когда клиент не подойдёт.
Подключите клиент
Подойдёт любая программа или библиотека, которая работает с Chat Completions от OpenAI и где можно сменить адрес сервера. Ей нужны три значения.
- Найдите в настройках поле адреса API. Оно называется Base URL, API base или Endpoint.
- Укажите
https://epicai.ru/v1. Если клиент просит адрес запроса целиком, добавьте/chat/completions. - Вставьте ключ API в поле API key.
- Выберите модель. Клиент со списком берёт его у
GET /v1/models, а если имя вводится вручную, скопируйте его из ответа этого запроса. - Отправьте короткое сообщение. В ответе должен прийти текст, а в
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. На такие запросы приходит 404not_found. - Он работает по протоколу Anthropic и шлёт запросы на
/v1/messages. Заголовокx-api-keyepicai принимает, но протокол у API только OpenAI, и такого адреса нет. - Всегда добавляет параметры, которые API не поддерживает, например
nбольше 1,logprobs, аудио,web_search_optionsили устаревшиеfunctions. Отключите их в настройках клиента, иначе придёт 400unsupported_parameter. - Имена моделей OpenAI в нём прописаны жёстко. Укажите имя из списка epicai, иначе придёт 404
model_not_found.
Лишние поля вроде user, store и metadata клиенту слать можно, они игнорируются без ошибки.
Не нашли ответ?
Посмотрите частые вопросы или напишите в поддержку.