Предварительные требования: SDK и окружение
Начните с установки предпочитаемого вами SDK, совместимого с OpenAI. Вам нужен только действительный API-ключ и базовый URL для нашего сервиса.
Экспортируйте ключ в переменные окружения, чтобы ваши скрипты могли безопасно к нему обращаться. Создайте новый аккаунт через Google или email, чтобы мгновенно получить ключ. Для этого шага не требуется подтверждение по номеру телефона.
Убедитесь, что ваша среда поддерживает стандартные библиотеки HTTP. API ожидает стандартные JSON-пакеты для всех запросов. Вам не нужно устанавливать драйверы от конкретного вендора.
Настройка базового URL
Укажите базовый URL нашего SDK-клиента для выделенного эндпоинта uncensored-инференса. Базовый URL заменяет стандартный эндпоинт OpenAI в вашей конфигурации.
Используйте HTTPS://api.apikeymistral.com/v1 в качестве базового URL. Это гарантирует, что все запросы будут маршрутизироваться через наши высокопроизводительные серверы. Вам не нужно изменять путь к конечной точке, если ваш SDK по умолчанию использует /chat/completions.
Храните ваш API-ключ в памяти или в защищенном хранилище. Ключ аутентифицирует каждый запрос, который вы отправляете на этот URL.
Выполнение первого POST-запроса
Отправьте стандартный запрос chat completion для получения текстового вывода. Используйте идентификатор модели "uncensored" для доступа к нашей настроенной модели.
Specify the temperature and other parameters to control creativity. The endpoint accepts standard JSON bodies with messages array.
Базовая команда curl для проверки подключения:
curl https://api.apikeymistral.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "return json object with keys name age"}]
}'Проверьте, содержит ли ответ сгенерированный текст. Проверьте, что код статуса равен 200 для успеха.
Интеграция Python SDK
Настройте Python-клиент на использование нашего базового URL. Инициализируйте клиент с вашим API-ключом и пользовательским конечным пунктом.
Вызовите метод chat.completions.create с вашим запросом. Объект ответа содержит сгенерированный текст в choices[0].message.content.
Грамотно обрабатывайте потенциальные ошибки, такие как превышение лимитов или недействительные ключи. Логируйте использование токенов, если это необходимо для отслеживания затрат.
from openai import OpenAI
client = OpenAI(base_url="https://api.apikeymistral.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)Этот подход работает с любой библиотекой, совместимой с OpenAI. Вы можете повторно использовать существующий код с минимальными изменениями.
Интеграция Node SDK
Инициализируйте клиент Node.js с пользовательским базовым URL. Передайте свой API-ключ в объекте конфигурации.
Вызовите функцию chat.completions.create с желаемыми параметрами. Ответ следует стандартному формату OpenAI.
Обработка потока или финального ответа по мере необходимости. Обработка ошибок должна перехватывать сетевые проблемы или сбои аутентификации.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apikeymistral.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);Эта настройка позволяет быстро интегрировать вывод без цензуры в ваши приложения Node.
Обработка потоковых ответов
Включите потоковую передачу, установив stream=true в запросе. API возвращает данные фрагментами по мере их генерации.
Обрабатывайте каждый фрагмент для отображения вывода в реальном времени вашим пользователям. Накапливайте контент, чтобы получить полный ответ.
Отслеживайте использование токенов в последнем чанке потока. Это помогает точно отслеживать расходы.
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)Потоковая передача снижает воспринимаемую задержку для длинных ответов. Она идеально подходит для чат-интерфейсов и интерактивных приложений.
Лимиты, ошибки и контекстное окно
Понимание технических лимитов, чтобы избежать прерывания сервиса. Контекстное окно поддерживает 100 000 токенов для промпта и завершения в совокупности.
Макс. вывод составляет 16 000 токенов на запрос. Установите max_tokens явно, чтобы избежать достижения значения по умолчанию 2 048.
Лимиты позволяют 300 запросов в минуту на ключ. Вы можете выполнять 8 параллельных запросов одновременно.
Обработка ошибок 401 путем проверки действительности ключа. Ошибки 402 указывают на недостаток кредита. Ошибки 429 означают, что вы достигли лимита частоты запросов.
Запросы, превышающие лимит размера тела в 8 МБ, завершатся неудачей. Планируйте свой полезный груз соответственно.