Агенты и разработка приложений

Строить агентов на OpenAI-совместимом API

Каждый шаг агента — это вызов, и модель должна надёжно возвращать вызовы инструментов, потоки и JSON. EasyAPI пропускает эти возможности без переписывания запросов. Смените base_url — и код работает.

Рекомендуемые модели, доступные сейчас

Подобраны для агентов: надёжные вызовы инструментов, структурированный вывод, контекст на много ходов. Стоимость многошаговых циклов растёт линейно, поэтому отладьте поток на дешёвой модели, затем переключитесь на сильную и сравните.

Цены платформы за 1 млн токенов, оплата по факту. Список следует за живым API цен; снятые модели здесь не появляются. Выберите модель, и конфигурация с расчётом ниже подстроятся.

Точная конфигурация

Адрес API и выбранная модель qwen3.8-max уже подставлены. Замените ключ на свой.

python
from openai import OpenAI

client = OpenAI(base_url="https://token.easyapi.com/v1", api_key="sk-your-key")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    },
}]

resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "What is the weather in Shanghai today?"}],
    tools=tools,
    tool_choice="auto",
)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, call.function.arguments)

Полное руководство по подключению OpenAI SDK · Python →

Сначала добейтесь одного успешного запроса

Подставьте ключ и выполните как есть. Ответ 200 означает, что адрес, ключ и модель верны; иначе сверьте ошибку со списком ниже.

curl
curl https://token.easyapi.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3.8-max","messages":[{"role":"user","content":"Hello"}]}'

Что нужно знать

  • tools, tool_choice, stream и response_format передаются апстриму как есть. Поддержка зависит от модели; таблица параметров на карточке модели показывает, что действует.
  • Многоходовые агенты накапливают messages. Окно контекста — жёсткий предел: запрос сверх него падает, а не обрезается.
  • Следите за 429 при высокой параллельности на одном ключе. И лимит платформы, и исчерпанный баланс возвращают 429; сообщение уточняет, что именно.
  • Список запасных моделей models и provider.sort позволяют объявить в запросе резервные модели и предпочтение маршрутизации с автоматическим переключением при сбое апстрима. См. документацию API.

Частые ошибки

tool_calls пуст, модель ответила текстом
Скорее всего модель не поддерживает вызовы инструментов или не задан tool_choice. Возьмите модель из рекомендованных и поставьте tool_choice в auto или конкретную функцию.
В стриминге не приходят delta
Убедитесь, что stream = true и клиент не буферизует. curl с -N покажет сырой SSE и быстро укажет причину.
Возвращённый JSON не парсится
Используйте response_format с json_object или json_schema и напишите в системном промпте «только JSON». Модели без response_format полагаются на промпт и не гарантируют результат.
429 Too Many Requests
Прочитайте сообщение: insufficient quota — пополните баланс; rate limit — слишком высокая параллельность, снизьте её или распределите по ключам.

Пример стоимости

По текущей цене qwen3.8-max, типичный запрос 6,000 токенов на входе + 800 на выходе, 2,000 раз в день:

За запрос¥0.0753
В день¥150.52
В месяц (30 дней)¥4515.74

Платите только за реально использованные токены. Без платы за платформу, маршрутизацию и месячного минимума. Реальное потребление видно по каждому запросу в логах консоли.

Подключайтесь сейчас

После регистрации на главной консоли появится гид, который сгенерирует готовую к копированию конфигурацию для вашего ключа и модели, и останется до первого успешного вызова.

Другие решения: Подключить Claude Code, Cursor и Codex к API · Использовать модели в Dify, n8n и FastGPT