Базовый URL и аутентификация
Наш API следует стандартному интерфейсу OpenAI chat-completions. Для интеграции обновите конфигурацию клиента, указав наш базовый URL и действительный API-ключ codex api. Вы генерируете этот ключ при регистрации в панели управления. Эндпоинт принимает как стандартные, так и потоковые запросы, что делает его готовой заменой для большинства агентов, ожидающих структуру, совместимую с OpenAI.
Аутентификация опирается на заголовок Authorization. Укажите свой API-ключ в качестве Bearer-токена. Если вы используете прокси или пользовательский фреймворк агента, убедитесь, что он поддерживает стандартные заголовки HTTP. Сервис независим; он не маршрутизирует запросы через других поставщиков и не агрегирует модели. Вы подключаетесь напрямую к нашей LLM без цензуры.
Отправка завершения чата
Начните с тестирования простого текстового запроса. Это подтвердит, что ваша аутентификация и базовый URL верны. Эндпоинт принимает список сообщений с ролями, такими как user или assistant. Идентификатор модели всегда uncensored. Этот запрос возвращает стандартный ответ завершения. Используйте его, чтобы убедиться, что ваш агент может разобрать структуру JSON, прежде чем переходить к сложным промптам.
Убедитесь, что полезная нагрузка не превышает лимит тела в 8 МБ. Поддерживаются большие контекстные окна, но общее количество токенов (ввод плюс вывод) должно оставаться ниже 100 000 токенов. Если вы превысите эти лимиты, сервер вернет ошибку. Начните с небольшого теста, чтобы подтвердить подключение.
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Включение потоковой передачи (SSE)
Для агентов, которым нужна генерация токенов в реальном времени, включите потоковую передачу. Установите параметр stream в значение true в теле запроса. Сервер возвращает последовательность событий Server-Sent Events (SSE) вместо одного объекта JSON. Каждое событие содержит частичный фрагмент ответа. Это снижает воспринимаемую задержку для ваших пользователей и позволяет агенту обрабатывать токены по мере их поступления.
Потоковая передача не меняет тарификацию или подсчет токенов. Вы по-прежнему платите за общее количество входных и выходных токенов. Обрабатывайте поток SSE в коде клиента, чтобы накопить окончательный ответ или обрабатывать его инкрементально. Это идеально подходит для генерации кода, где промежуточные результаты полезны.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Использование вызова функций
Наша модель поддерживает вызов функций, позволяя вашему агенту выполнять внешние инструменты. Определите ваши функции в параметре tools. Модель вернет ответ с вызовом функции вместо обычного текста, если сочтет, что это необходимо. Ваш агент должен распознать этот ответ и выполнить инструмент, а затем передать результат обратно в разговор.
Эта возможность необходима для агентов, которым нужно запускать код, опрашивать базы данных или получать актуальные данные. Схема инструмента соответствует стандартному формату OpenAI. Убедитесь, что ваш агент правильно обрабатывает обратный вызов между моделью и логикой выполнения вашего инструмента. Это эффективно сохраняет контекстное окно, заменяя обычный текст структурированными результатами вызова функций.
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Проверка доступных моделей
Используйте эндпоинт GET /v1/models для проверки доступных моделей. Этот эндпоинт возвращает список объектов моделей, включая их идентификаторы и даты создания. Наш API обслуживает одну модель: uncensored. В отличие от прокси-маршрутизаторов, агрегирующих несколько поставщиков, мы предоставляем выделенный эндпоинт для одной оптимизированной модели LLM. Это обеспечивает согласованное поведение и предсказуемую производительность для ваших задач кодинга.
Запросите этот эндпоинт, чтобы подтвердить, что клиент подключен к правильной службе. Он возвращает стандартные поля метаданных. Вам не нужно вручную управлять выбором модели. Клиент просто запрашивает идентификатор модели uncensored во всех завершениях чата. Это упрощает интеграцию и избегает ошибок маршрутизации.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Лимиты запросов и ограничения
Отслеживайте использование, чтобы избежать прерываний. API устанавливает лимит в 300 запросов в минуту на ключ. Если вы превысите этот лимит, вы получите ошибку 429 Too Many Requests. Размер тела запроса ограничен 8 МБ. Эти ограничения обеспечивают стабильную производительность для агентов с высокой пропускной способностью. Отрегулируйте частоту запросов клиента, если вы обрабатываете большие пакеты.
Ошибки аутентификации возвращают статус 401, если ключ недействителен. Недостаточно средств приводит к статусу 402. Убедитесь, что ваш предоплаченный баланс положительный перед отправкой запросов. Кредиты не сгорают, поэтому вы можете пополнить их в удобное время. Ключ codex api можно перегенерировать в любое время, что мгновенно аннулирует старый. Храните ваш ключ в безопасности.