mcpField
T
together-chat-completions

together-chat-completions

github.com/togethercomputer開発39107 回インストール2 週間前に更新
リポジトリ

together-chat-completions について

together-chat-completions は、Together AI のサーバーレス Chat Completions API を使った対話型テキスト生成向けのガイドとスクリプト集です。ストリーミング、複数ターンの会話、ツール呼び出し、構造化出力、推論モデルを扱います。

主な機能

  1. 01基本・ストリーミングテキスト生成
  2. 02複数ターンの会話状態管理
  3. 03ツールと関数の呼び出し
  4. 04構造化出力
  5. 05推論モデルの設定
  6. 06リクエストのデバッグと並列呼び出し

活用シーン

  1. 01Together AI でチャットボットを構築
  2. 02リアルタイム画面にストリーミングを追加
  3. 03ツール呼び出しループを実装
  4. 04JSON スキーマに沿った応答を生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/togethercomputer/skills --skill together-chat-completions

インストール後、Claude Code で/together-chat-completionsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
api-parameters.md
function-calling-patterns.md
models.md
reasoning-models.md
structured-outputs.md
scripts/
async_parallel.py
chat_basic.py
chat_basic.ts
debug_headers.py
debug_headers.ts
reasoning_models.py
reasoning_models.ts
structured_outputs.py
structured_outputs.ts
tool_call_loop.py
tool_call_loop.ts

詳細

Together Chat Completions

概要

Together AI のサーバーレスチャット/補完 API を使用して、次のような対話型推論ワークロードを実行します。

  • 基本的なテキスト生成
  • ストリーミング応答
  • 複数ターンのチャット状態
  • ツール呼び出しと関数呼び出し
  • 構造化出力
  • 推論対応モデル

タスクが明らかにオフラインのバッチ処理、ベクトル検索、モデルのトレーニング、またはインフラストラクチャ管理でない限り、このスキルを Together AI のテキスト生成のデフォルトの入り口として扱ってください。

このスキルが適している場合

  • Together AI でチャットボット、アシスタント、またはテキスト生成エンドポイントを構築する
  • リアルタイムのユーザー体験にストリーミング出力を追加する
  • ツール呼び出しまたは関数呼び出しのループを実装する
  • モデル出力を JSON または正規表現で定義した形式に制約する
  • 標準的なチャットモデルと推論モデルのどちらを選ぶか判断する
  • リクエストパラメーター、モデルの動作、または応答形式をデバッグする

別のスキルに引き継ぐ場合

  • 大規模なオフライン実行、バックフィル、または低コストの非同期ジョブには together-batch-inference を使用します
  • ベクトル検索、セマンティック検索、または再ランキングには together-embeddings を使用します
  • ユーザーがモデルのトレーニングまたは適応を希望する場合は together-fine-tuning を使用します
  • ユーザーが常時稼働するシングルテナントのホスティングを必要とする場合は together-dedicated-model-inference を使用します
  • カスタムインフラストラクチャには together-dedicated-containers または together-gpu-clusters を使用します
  • ハードウェアを管理せずに、定義済みの SLA(確約されたスループットと信頼性)が必要な本番環境の標準モデルワークロードについては、Together のプロビジョニング済みスループットティア(予約済み PTU 容量、最低契約期間は1か月、営業への問い合わせが必要。同じチャット/補完 API のインターフェースを使用)を案内してください

クイックルーティング

ワークフロー

  1. 対象のワークロードが、バッチ処理、検索、トレーニングではなく、対話型のサーバーレス推論であることを確認します。
  2. レイテンシー、品質、コンテキストの要件を満たす最小のモデルを選びます。
  3. ジョブに必要なのが、プレーンテキスト、ツール、構造化出力、推論のどれかを判断します。
  4. リクエストの形式を一から考え直すのではなく、要件に合ったスクリプトを使い始めます。
  5. 詳細を確認する必要がある場合にのみ、関連するリファレンスファイルを参照します。

特に重要なルール

  • Python スクリプトには Together v2 SDK(together>=2.0.0)が必要です。古いバージョンを使っている場合は、最初にアップグレードしてください:uv pip install --upgrade "together>=2.0.0"。
  • Python では client.chat.completions.create()、TypeScript では client.chat.completions.create() を使用します。
  • 複数ターンの会話では、messages の履歴全体を保持してください。最終テキストだけからコンテキストを再構築しないでください。
  • ツールを使う場合は、モデルがツールを呼び出す → ツールを実行する → ツールの結果を追加する → 2回目のモデル呼び出しを行う、という一連の処理を実装します。
  • ツール定義では、自由形式の文字列より enum を優先し、"additionalProperties": false を設定します。また、引数の生成をスキーマに準拠させる必要がある場合は、関数定義に "strict": true を追加します。
  • ツール名にスペース、ピリオド、ダッシュを含めてはいけません。ツールが呼び出されたと決めつけず、finish_reason("tool_calls" と "stop")で分岐し、try/except 内で function.arguments を JSON として解析します。
  • 安定した機械可読出力が必要な場合は、より制約の緩い JSON モードより json_schema を優先します。
  • 推論モデルは、より深い検討が役立つタスクでのみ使用してください。それ以外の場合は、より安価な標準モデルを優先します。
  • 保持された思考は、出力と入力の両方で reasoning キーを使用します(フィールドは対称です)。以前のアシスタントターンを API に再度渡す場合は、アシスタントメッセージに "reasoning": ... を含めてください。後方互換性のため、入力では引き続き reasoning_content も受け付けられますが、新しいコードでは reasoning を優先してください。
  • 推論モデルでは、OpenAI 形式の追加トークン数(usage.completion_tokens_details.reasoning_tokens、usage.prompt_tokens_details.cached_tokens)がネストされています。一方、一部の非推論モデルでは、cached_tokens が usage の直下にフラットに返されます。どちらの場所も考慮して防御的に読み取ってください。片方の形式しか確認しないクライアントでは、値が気付かれないまま 0 になります。防御的な読み取り方法は references/reasoning-models.md を参照してください。
  • ツール呼び出しと構造化出力を組み合わせるには、2段階の方法を使います。フェーズ1では tools を指定します(response_format は指定しません)。フェーズ2では、ツールの結果を追加した後に response_format を指定します(tools は指定しません)。
  • ストリーミングは response_format と併用できます。チャンクを蓄積し、最後に連結した文字列を JSON として解析します。
  • 多数の独立したリクエストが必要な場合は、このスキルを async_parallel.py と組み合わせるか、バッチ推論に切り替えます。

リソース一覧

スクリプト

公式ドキュメント

コメント