概要
テキスト生成(Chat Completions)は、APIYi プラットフォームの中核機能の1つであり、400以上の人気AIモデルを活用したインテリジェントな会話とテキスト生成をサポートします。統一された OpenAI 互換インターフェースを通じて、次のようなことを簡単に実現できます。- インテリジェント対話: チャットボットやバーチャルアシスタントを構築する
- コンテンツ作成: 記事執筆、クリエイティブ生成、コピーライティング
- コード支援: コード生成、デバッグ、リファクタリングの提案
- 知識Q&A: 質問への回答、知識検索、情報抽出
- ロールプレイ: カスタマイズされたAIキャラクターとシナリオのシミュレーション
OpenAI GPT-4、Claude、Gemini、DeepSeek、Qwen を含む 400以上の主要モデルを、1つのAPIキーでサポートします。
クイックスタート
基本的な会話の例
Chat Completions API を使用した、シンプルな単一ターンの会話:マルチターン会話の例
コンテキストを考慮した対話のために、messages 配列で会話履歴を保持します:
コアパラメータ
model (必須)
モデル名を指定します。詳細は モデル情報 をご覧ください。messages (必須)
会話メッセージの配列で、各メッセージにはrole と content フィールドが含まれます:
system
AI の振る舞いと役割を定義するシステムプロンプト
user
ユーザー入力を表すユーザーメッセージ
assistant
AI の応答を表すアシスタントメッセージ
temperature (任意)
出力のランダム性を制御します。範囲は0.0 ~ 2.0、デフォルトは 1.0 です:
- 0.0 ~ 0.3: より決定的で一貫した出力になり、事実ベースのタスク(翻訳、要約、コード生成)に適しています
- 0.7 ~ 1.0: 創造性と正確さのバランスが取れており、日常会話に適しています
- 1.0 ~ 2.0: より創造的で多様な出力になり、創作やブレインストーミングに適しています
max_tokens (任意)
生成される tokens の最大数を制限して、コストと応答の長さを制御します:top_p (任意)
Nucleus sampling パラメータで、範囲は0.0 ~ 1.0、出力の多様性を制御します:
- 低い値(例:
0.5): よりフォーカスされた決定的な出力 - 高い値(例:
0.9): より多様でランダムな出力
temperature または top_p のみを調整することを推奨します。両方を同時に調整しないでください。stream (任意)
ストリーミング出力を有効にすると、結果を token ごとに返せるため、ユーザー体験が向上します:上級者向けの使い方
システムプロンプト
system ロールを通じて、AI の動作、役割、知識範囲、応答スタイルを定義します:
ロールプレイ
特定の個性や専門性を持つ AI アシスタントを作成します:コンテキスト管理
長い会話では、モデルの token 制限を超えないようにコンテキスト長を適切に管理します:JSON モード出力
一部のモデルでは、JSON 形式の出力を強制できます:ベストプラクティス
1. 適切なモデルを選ぶ
タスク要件に基づいて、最もコスト効率の高いモデルを選択してください:2. プロンプトを最適化する
良いプロンプトは出力品質を大きく向上させます:明確なタスク
AI に何をさせるのかを、必要なコンテキストとともに明確に記述します
形式を指定する
出力形式、長さ、トーンなどを定義します
例を示す
入力と出力の例を示して、AI が期待内容を理解しやすくします
段階的に進める
複雑なタスクを複数のステップに分解します
3. コストを管理する
パラメータを賢く使って API コストを抑えます:4. エラーハンドリング
例外処理を追加してアプリケーションの安定性を向上させます:5. ストリーミング出力を使う
長いテキスト生成では、ストリーミング出力がユーザー体験を向上させます:FAQ
tokenの数をどう数えますか?
異なるモデルでは異なるトークナイザーが使われます。推定にはtiktokenライブラリを使用してください:
出力が途中で切れるのはなぜですか?
考えられる理由:max_tokensの上限に達した- モデルのコンテキストウィンドウが不足している
- コンテンツ安全ポリシーが作動した
max_tokensパラメータを増やす- より長いコンテキスト対応のモデルを選ぶ
- 原因を特定するために
finish_reasonフィールドを確認する
会話メモリをどう実装しますか?
アプリケーション層で会話履歴を保持します:関連ドキュメント
モデル情報
対応しているすべてのモデルと料金を確認できます
テキスト埋め込み
テキストをベクトル表現に変換します