together-chat-completions
Together Chat Completions — официальный skill Together AI для интерактивного serverless inference через OpenAI-compatible chat/completions API. Его область — обычная генерация текста, потоковая выдача, multi-turn conversations, tool и function calling, structured outputs и reasoning models. Это основной вход для чат-бота, ассистента или text-generation endpoint на Together AI, пока задача не относится к offline batch, vector retrieval, training или управлению отдельной инфраструктурой. Сначала нужно определить тип нагрузки. Для realtime-чата и потокового ответа подходит этот workflow; для больших offline-запусков, backfill и асинхронных дешёвых задач исходник направляет к together-batch-inference. Embeddings, semantic search и reranking относятся к together-embeddings, обучение и адаптация модели — к together-fine-tuning, постоянно работающий single-tenant endpoint — к together-dedicated-model-inference, а собственные контейнеры и GPU-кластеры — к отдельным навыкам. Такое разделение не даёт использовать интерактивный endpoint как универсальную замену соседним продуктам. Рабочая последовательность состоит из пяти шагов: подтвердить, что выбран serverless interactive inference; выбрать наименьшую модель, достаточную по latency, quality и context; определить необходимость plain text, tools, structured output или reasoning; начать с соответствующего официального script; затем читать глубокую reference-документацию только для нужной ветки. Для обычного чата и streaming предназначены chat_basic.py и chat_basic.ts. Для проверки параметров, совместимости SDK, rate limits и debug headers есть api-parameters.md и debug_headers.*. В Python источник требует Together v2 SDK версии 2.0 или новее и предлагает проверить или обновить пакет до together>=2.0.0. В Python и TypeScript используется client.chat.completions.create(). История multi-turn сообщений должна сохраняться полностью: нельзя восстанавливать контекст только из последнего текста. При streaming данные собираются из chunks; если ответ структурированный, после накопления нужно разобрать итоговую строку как JSON. Для большого числа независимых запросов допускается async_parallel.py, а не последовательный ручной вызов. Tool calling требует полного цикла: получить вызов модели, выполнить инструмент, добавить его результат к messages и сделать второй вызов модели. В определениях tools рекомендуется использовать enum вместо свободной строки, additionalProperties: false и strict: true там, где нужна строгая форма аргументов. Имена инструментов не должны содержать пробелы, точки или дефисы. Завершение нужно различать по finish_reason: tool_calls означает запрос инструмента, stop — обычное завершение; function.arguments разбирается как JSON с обработкой ошибки. Для стабильного машинного результата предпочтителен json_schema, а не менее строгий JSON mode. Если нужно совместить tools со structured output, источник требует двух фаз: сначала запрос с tools без response_format, затем после добавления результатов инструментов запрос с response_format без tools. Для reasoning выбирается соответствующая ветка и переносится поле reasoning и во входной assistant message при сохранении предыдущего ответа; reasoning_content допускается для обратной совместимости, но в новых запросах рекомендовано reasoning. Usage нужно читать защитно: reasoning tokens могут находиться в completion_tokens_details, cached tokens — в prompt_tokens_details или в плоском поле. Ресурсная карта направляет к официальным материалам Chat Overview, Inference Parameters, Serverless Models, Function Calling, JSON Mode, Reasoning Overview и Chat Completions API. Для production stock-model workload с требуемыми SLA исходник отдельно упоминает provisioned throughput с резервируемой PTU capacity, месячным минимумом и тем же chat/completions API. Навык не гарантирует качество ответа, квоту, цену, latency или доступность конкретной модели без живой проверки; выбор модели и её параметры остаются частью задачи проекта.
Для чего подходит
- Streaming-генерация текста
- Tool и function calling
- Structured JSON и reasoning models
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/togethercomputer/skills/tree/main/skills/together-chat-completions