Задержка - это время, которое требуется модели для обработки запроса и генерации ответа. На задержку могут влиять различные факторы, такие как размер модели, сложность запроса и базовая инфраструктура, поддерживающая модель и точку взаимодействия.

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


Как измерить задержку

При обсуждении задержки вы можете встретить несколько терминов и измерений:

  • Базовая задержка: Это время, которое требуется модели для обработки запроса и генерации ответа, без учета входящих и исходящих токенов в секунду. Она дает общее представление о скорости модели.
  • Время до первого токена (TTFT): Этот показатель измеряет время, которое требуется модели для генерации первого токена ответа с момента отправки запроса. Это особенно важно при использовании потоковой передачи (об этом позже) и когда вы хотите обеспечить быстрый отклик для ваших пользователей.

Для более глубокого понимания этих терминов ознакомьтесь с нашим глоссарием.


Как снизить задержку

1. Выберите правильную модель

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

2. Оптимизируйте длину запроса и вывода

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

Вот несколько советов, которые помогут вам оптимизировать ваши запросы и выводы:

  • Будьте ясными, но лаконичными: Стремитесь четко и кратко передать свое намерение в запросе. Избегайте ненужных деталей или избыточной информации, помня при этом, что claude не имеет контекста о вашем случае использования и может не сделать предполагаемых логических выводов, если инструкции неясны.
  • Просите более короткие ответы: Попросите Claude быть лаконичным. Семейство моделей Claude 3 имеет улучшенную управляемость по сравнению с предыдущими поколениями. Если Claude выдает нежелательную длину, попросите Claude ограничить его многословность.
    Из-за того, как LLM считают токены вместо слов, запрос точного количества слов или ограничения количества слов не является такой эффективной стратегией, как установка ограничений на количество абзацев или предложений.
  • Установите подходящие ограничения вывода: Используйте параметр max_tokens для установки жесткого ограничения на максимальную длину генерируемого ответа. Это предотвращает генерацию Claude слишком длинных выводов.

    Примечание: Когда ответ достигает max_tokens токенов, ответ будет обрезан, возможно, посреди предложения или слова, поэтому это грубая техника, которая может потребовать постобработки и обычно наиболее подходит для ответов с множественным выбором или коротких ответов, где ответ идет прямо в начале.

  • Экспериментируйте с температурой: Параметр temperature контролирует случайность вывода. Более низкие значения (например, 0.2) иногда могут привести к более сфокусированным и коротким ответам, в то время как более высокие значения (например, 0.8) могут привести к более разнообразным, но потенциально более длинным выводам.

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

3. Используйте потоковую передачу

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

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

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