OpenAI codex api: Быстрый старт с Python
Это руководство показывает, как использовать uncensored LLM со стандартными OpenAI SDK через наш openai compatible API. Вы можете начать отправлять запросы немедленно, обновив базовый URL и API ключ.
Установка официального SDK
Используйте официальный SDK для обеспечения совместимости с нашим прокси-API OpenAI. Этот подход работает с любой стандартной библиотекой, поддерживающей протокол OpenAI.
- Установите пакет с помощью предпочитаемого вами менеджера пакетов.
- Убедитесь в установке, импортировав библиотеку.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);
Установить ваш базовый URL и ключ
Направьте клиента на конечную точку нашего шлюза openai для доступа к нецензурируемой ИИ-модели. Замените базовый URL по умолчанию на наш конкретный конечный пункт.
- Укажите ключ API в переменных окружения.
- Настройте базовый URL на
https://api.openaicodexapi.com/v1.
Эта конфигурация гарантирует правильную маршрутизацию ваших запросов на наши серверы без изменения существующей структуры кода.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
Отправить первый запрос
Отправьте простое завершение текста, чтобы проверить подключение. Используйте идентификатор модели uncensored для запроса.
- Определите содержимое сообщения.
- Выполните запрос.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Ответ возвращает сгенерированный текст напрямую.
Включить потоковую передачу и режим JSON
Потоковая передача ответов для снижения задержки или принудительный режим JSON для структурированных данных. Установите stream=true для доставки токенов в реальном времени.
- Использовать
response_formatдля JSON вывода. - Обрабатывайте фрагменты в своём коде.
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)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'Потоковая передача помогает быстро отображать частичные результаты.
Обрабатывайте инструменты и вызовы функций
Определите инструменты в запросе, чтобы включить вызов функций. Укажите определения инструментов и позвольте модели решить, когда их использовать.
- Определите схему функции.
- Разбирайте вызовы инструментов в ответе.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Эта функция позволяет интегрироваться с внешними системами.
Лимиты, Ошибки и Контекстное окно
Отслеживайте использование, чтобы избежать ограничений по скорости или ошибок. Контекстное окно поддерживает 100,000 токенов всего.
- Обработка ошибок 401 для недействительных ключей.
- Обрабатывайте ошибки 402 при недостатке средств.
- Обрабатывайте ошибки 429 при превышении лимитов.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);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)FAQ
Что такое API OpenAI Codex?
Это API для нецензурированных LLM, совместимое с протоколом OpenAI. Вы можете использовать его со стандартными SDK, просто обновив базовый URL.
Как обрабатывать ошибки?
Типичные ошибки включают 401 для неверных ключей, 402 при отсутствии кредита и 429 для лимитов частоты. Проверьте баланс вашего аккаунта и действительность ключа.
Каков размер контекстного окна?
Окно контекста составляет 100,000 токенов для промпта и сгенерированного ответа вместе. Максимальный объем вывода — 16,000 токенов на запрос.
Получите API-ключ
Зарегистрируйтесь, скопируйте ключ и обновите базовый URL. Вот и всё.