Skip to main content

Обзор

Генерация текста (Chat Completions) — одна из ключевых возможностей платформы APIYi, поддерживающая более 400 популярных моделей ИИ для интеллектуальных диалогов и генерации текста. Через единый интерфейс, совместимый с OpenAI, вы можете легко реализовать:
  • Интеллектуальный диалог: Создавайте чат-ботов и виртуальных ассистентов
  • Создание контента: Написание статей, креативная генерация, копирайтинг
  • Помощь с кодом: Генерация кода, отладка, предложения по рефакторингу
  • Вопросы и ответы по знаниям: Ответы на вопросы, поиск знаний, извлечение информации
  • Ролевое моделирование: Настраиваемые персонажи ИИ и симуляция сценариев
Поддерживает OpenAI GPT-4, Claude, Gemini, DeepSeek, Qwen и более 400 основных моделей с одним API-ключом.

Быстрый старт

Пример базового диалога

Простой однораундовый диалог с использованием Chat Completions API:

Пример многораундового диалога

Сохраняйте историю диалога через массив messages для диалога с учетом контекста:

Основные параметры

model (обязательный)

Укажите имя модели. Подробности см. в Информации о модели.

messages (обязательный)

Массив сообщений диалога, каждое из которых содержит поля role и content:

system

Системный prompt, определяющий поведение и роль AI

user

Сообщение пользователя, представляющее ввод пользователя

assistant

Сообщение assistant, представляющее ответ AI

temperature (необязательно)

Управляет случайностью вывода, диапазон 0.0 ~ 2.0, значение по умолчанию 1.0:
  • 0.0 ~ 0.3: Более детерминированный и согласованный вывод, подходит для фактических задач (перевод, сводка, генерация кода)
  • 0.7 ~ 1.0: Сбалансированное сочетание креативности и точности, подходит для повседневного общения
  • 1.0 ~ 2.0: Более креативный и разнообразный вывод, подходит для творческого письма и мозгового штурма

max_tokens (необязательно)

Ограничивает максимальное число token, которое можно сгенерировать, чтобы контролировать стоимость и длину ответа:
У разных моделей разная стоимость token. Подробности см. в Тарификации.

top_p (необязательно)

Параметр nucleus sampling, диапазон 0.0 ~ 1.0, управляет разнообразием вывода:
  • Меньшие значения (например, 0.5): Более сфокусированный и детерминированный вывод
  • Большие значения (например, 0.9): Более разнообразный и случайный вывод
Рекомендуется настраивать только temperature или top_p, но не оба одновременно.

stream (необязательно)

Включите потоковую передачу вывода, чтобы возвращать результаты token за token и улучшить пользовательский опыт:

Расширенное использование

Системный промпт

Определяйте поведение ИИ, роль, область знаний и стиль ответа через роль system:

Ролевая игра

Создавайте ИИ-ассистентов с заданными личностными чертами и экспертизой:

Управление контекстом

Для длинных разговоров правильно управляйте длиной контекста, чтобы не превышать лимиты tokens модели:

Вывод в режиме JSON

Некоторые модели поддерживают принудительный вывод в формате JSON:

Лучшие практики

1. Выберите подходящую модель

Выберите наиболее экономичную модель на основе требований к задаче:

2. Оптимизируйте промпты

Хорошие промпты значительно повышают качество результата:

Четкая задача

Четко укажите, что должен сделать ИИ, с необходимым контекстом

Укажите формат

Определите формат вывода, длину, тон и т. д.

Приведите примеры

Приведите примеры входных и выходных данных, чтобы помочь ИИ понять ожидания

По шагам

Разбейте сложные задачи на несколько шагов

3. Контроль затрат

Используйте параметры разумно, чтобы снизить расходы на API:

4. Обработка ошибок

Добавьте обработку исключений, чтобы повысить стабильность приложения:

5. Используйте потоковый вывод

Для генерации длинного текста потоковый вывод улучшает пользовательский опыт:

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

Как считать tokens?

Разные модели используют разные токенизаторы. Используйте библиотеку tiktoken для оценки:

Почему вывод обрезается?

Возможные причины:
  1. Достигнут лимит max_tokens
  2. Контекстное окно модели недостаточно
  3. Сработала политика безопасности контента
Решения:
  • Увеличьте параметр max_tokens
  • Выбирайте модели с поддержкой более длинного контекстного окна
  • Проверьте поле finish_reason, чтобы определить причину

Как реализовать память диалога?

Сохраняйте историю диалога на уровне приложения:

Связанная документация

Информация о моделях

Просмотрите все поддерживаемые модели и тарификацию

Текстовые эмбеддинги

Преобразуйте текст в векторные представления