Подключение и примеры

Grok API через CLODEx

Grok — семейство моделей xAI. Доступ к текстовой модели не означает доступ к ленте X или поиску в реальном времени. Ниже — подключение обычного текстового запроса и границы такого режима.

Что нужно для запроса

Выберите доступную Grok-модель в /v1/models с вашим ключом CLODEx. Не подставляйте gpt- или claude-ID в надежде, что шлюз сам выберет Grok. Если модель отсутствует, сначала уточните доступ и ограничения группы.

Задайте CLODEX_API_KEY и CLODEX_MODEL на сервере. Базовый адрес OpenAI-compatible клиента — https://clodex.xyz/v1. Он отличается от прямого API xAI; учётные данные и баланс тоже отдельные.

Проверка ключа

Один текстовый запрос

Пример не включает поиск, инструменты или автоматические повторы. Время ожидания ограничено 60 секундами. Он подходит для проверки текстового контракта, но не подтверждает поддержку изображений или выполнения функций.

import json
import os
from urllib.request import Request, urlopen

payload = {
    "model": os.environ["CLODEX_MODEL"],
    "messages": [{"role": "user", "content": "Reply with one word: ready"}],
    "stream": False,
}
request = Request(
    "https://clodex.xyz/v1/chat/completions",
    data=json.dumps(payload).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["CLODEX_API_KEY"],
        "Content-Type": "application/json",
    },
    method="POST",
)
with urlopen(request, timeout=60) as response:
    result = json.load(response)
choices = result.get("choices", [])
if not choices or choices[0].get("finish_reason") != "stop":
    raise RuntimeError("Incomplete text response")
text = choices[0].get("message", {}).get("content")
if not isinstance(text, str) or not text.strip():
    raise RuntimeError("Missing text")
print(text)

Модель не равна поиску

Ответ на вопрос о текущем событии может основываться на знаниях модели, а не на свежем источнике. Для подтверждения новости нужны полученный документ, дата и ссылка. Уверенный тон или упоминание X не являются доказательством выполненного поиска.

Если ваш продукт использует поиск, выполняйте его отдельным поддерживаемым инструментом и передавайте модели найденные фрагменты. Ссылки в ответе сверяйте с реальными результатами поиска, а не принимайте по форме URL.

Пример: ответ только по предоставленным данным

Передайте два фрагмента: [A] «Версия 2.0 выпущена 10 октября; добавлен экспорт CSV»; [B] «SSO находится в разработке». Попросите назвать выпущенную функцию и отдельно то, что ещё не выпущено. Ожидается CSV и отсутствие подтверждения релиза SSO.

Данные синтетические. Проверка не требует доступа к сети и не сравнивает Grok с другими моделями. Она показывает, отличает ли ответ прямо указанное событие от предположения.

Ошибки и повторная отправка

401 требует проверки ключа, а не серии повторов. Для 429 учитывайте причину ограничения и Retry-After, если он передан. Таймаут клиента не доказывает, что сервер не начал обработку: перед повтором проверьте журнал и статус запроса.

При резервной модели зафиксируйте замену явно. Разные модели могут по-разному понимать формат, поля tools и ограничения вывода. Не выдавайте результат резервного маршрута за ответ выбранной пользователем Grok-модели.

Документация · Тарифы

Документация и проверка примера

Адреса и настройки подключения сверены с документацией CLODEx. Примеры предназначены для указанного протокола; они не являются журналом выполненных запросов и не обещают одинаковые функции у всех моделей. Рабочий запрос на генерацию может списать средства.

Подключение клиентов · Протоколы API

Частые вопросы

Есть ли доступ к X в этом примере?

Нет. Здесь отправляется только текст; параметры поиска или инструменты не подключены.

Почему не указан один постоянный model ID?

Доступ зависит от каталога конкретного ключа. Указание несуществующего или недоступного имени сделало бы пример нерабочим.

Можно ли повторять любой неуспешный запрос?

Нет. Ошибки авторизации и схемы не исправляются повтором; после таймаута сначала проверьте, не был ли запрос принят.

Подключите CLODEX API к своему проекту

Один ключ, единый endpoint и несколько семейств LLM для разработки, приложений и ботов.