Документация API
Начните работу с нашим OpenAI-совместимым API за считанные минуты. Используйте сгенерированный ключ API glm для отправки запросов к нашему конечному пункту с одной моделью.
Аутентификация & заголовки
Ваш glm api key авторизует каждый запрос. Передайте его в Authorization заголовок как Bearer-токен. Это стандартный метод, используемый официальными SDK OpenAI, и работает с любым клиентом, поддерживающим аутентификацию, совместимую с OpenAI. Вы получаете этот ключ сразу после регистрации с помощью Google или email на панели управления.
Храните ключ в безопасности. Он обеспечивает полный доступ к вашему предоплаченному балансу. Если вы его потеряете, сгенерируйте новый; старый ключ станет недействительным мгновенно. В один момент времени на аккаунте может быть активен только один ключ.
Эндпоинт Chat Completions
Отправляйте текстовые сообщения модели с помощью POST /v1/chat/completions endpoint. endpoint. Базовый URL для всех запросов — https://api.apiglm.com/v1. Вы должны указать идентификатор модели как uncensored в теле запроса. Этот эндпоинт обрабатывает стандартные диалоговые ходы и возвращает сгенерированный текст.
Каждый запрос потребляет токены из вашего предоплаченного баланса. Ошибки и отказы не списывают кредиты. Модель принимает последовательность сообщений, что позволяет вести многооборотные беседы в рамках контекстного окна.
curl https://api.apiglm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the features"}]
}'
Эндпоинт Модели
Проверьте доступные модели и конфигурацию конечных точек, вызвав GET /v1/models. Этот эндпоинт возвращает список моделей, поддерживаемых API в настоящее время. Вы можете использовать его для подтверждения соединения и проверки идентификатора модели перед отправкой запросов на завершение. Это полезно для отладки конфигураций клиента.
Ответ включает метаданные о модели, такие как ее ID и поле owned_by. Этот эндпоинт не потребляет кредит. Используйте его, чтобы убедиться, что ваш клиент указывает на правильный базовый URL и что ваш заголовок аутентификации действителен.
Потоковая передача & SSE
Включите вывод токенов в реальном времени, установив stream: true в вашем запросе. API возвращает поток Server-Sent Events (SSE). Каждый фрагмент содержит частичные изменения текста. Последний фрагмент включает полную статистику использования токенов для запроса.
Потоковая передача снижает воспринимаемую задержку для пользователей. Она позволяет вашему приложению отображать токены по мере их генерации. Это идеально подходит для чат-интерфейсов, где ожидается немедленная обратная связь. Правильно обрабатывайте поток, чтобы убедиться, что все токены обработаны.
from openai import OpenAI
client = OpenAI(base_url="https://api.apiglm.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)
Вызов функций
Определите инструменты в запросе, чтобы включить вызов функций. Модель может возвращать структурированный JSON, указывающий, какую функцию вызвать и с какими аргументами. Это позволяет вашему приложению выполнять код на основе намерения пользователя. Поддерживаются определения инструментов, выбор инструментов и режим JSON для строгого форматирования вывода.
Используйте эту функцию для интеграции LLM в ваш рабочий процесс. Определите схему функции в теле запроса. Модель отвечает списком вызовов инструментов. Разберите эти вызовы в своем коде, чтобы запустить внешние действия. Это позволяет выполнять сложные многошаговые задачи.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiglm.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 токенов для суммарного промпта и завершения. Максимальный объем вывода составляет 16,000 токенов за запрос. Установите max_tokens для управления длиной вывода. По умолчанию — 2,048 токенов, если не указано. Вы можете настроить температуру, top_p и seed для вариативности.
Лимиты позволяют 300 запросов в минуту на ключ. Параллельные запросы ограничены 8 на ключ. Тела запросов должны быть менее 8 МБ. Ошибки возвращают стандартные коды состояния HTTP. 401 указывает на недействительный ключ. 402 означает, что ваши средства исчерпаны. 429 сигнализирует о превышении лимита запросов.
Потоковая передача
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)Частые вопросы
Каков базовый URL для API?
Базовый URL — HTTPS://api.apiglm.com/v1. Все конечные точки, включая завершение чата и модели, являются относительными к этому URL. Используйте этот URL в конфигурации вашего SDK или HTTP-клиента.
Как обрабатывать потоковые ответы?
Установите параметр stream в true в запросе. API возвращает поток SSE. Каждый чанк содержит частичный текст. Последний чанк включает использование токенов. Обрабатывайте каждый чанк по мере поступления, чтобы отображать вывод в реальном времени.
Что произойдет, если я превышу лимит частоты запросов?
API возвращает код состояния 429. Лимит составляет 300 запросов в минуту и 8 одновременных запросов на ключ. Подождите, пока окно лимита сбросится, или снизьте частоту запросов.
Получите ключ мгновенно
Зарегистрируйтесь, скопируйте ключ, обновите базовый URL. Вот и всё.