LLM¶
Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
LLMノードは大規模言語モデルを呼び出してテキスト、画像、ドキュメントを処理します。設定されたモデルにプロンプトを送信し、その応答を取得します。構造化出力、コンテキスト管理、マルチモーダル入力をサポートしています。

Info:
LLMノードを使用する前に、システム設定 → モデルプロバイダーで少なくとも1つのモデルプロバイダーを設定してください。
モデル選択とパラメータ¶
設定したモデルプロバイダーから任意のモデルを選択できます。異なるモデルはそれぞれ異なるタスクに適しています。GPT-4とClaude 3.5は複雑な推論を得意としますがコストが高く、GPT-3.5 Turboは機能と価格のバランスが取れています。ローカル展開には、Ollama、LocalAI、Xinferenceを使用してください。

モデルパラメータは応答生成を制御します。温度は0(決定的)から1(創造的)の範囲です。Top Pは確率によって単語選択を制限します。頻度ペナルティは繰り返しを減らします。存在ペナルティは新しいトピックを促進します。プリセットも使用できます:精密、バランス、創造的。
プロンプト設定¶
インターフェースはモデルタイプに基づいて適応します。チャットモデルではメッセージロール(システムは動作用、ユーザーは入力用、アシスタントは例用)を使用し、補完モデルでは単純なテキスト継続を使用します。
プロンプト内でワークフロー変数を二重中括弧で参照します:{{variable_name}}。変数はモデルに到達する前に実際の値で置き換えられます。
コンテキスト変数¶
コンテキスト変数はソース帰属を保持しながら外部知識を注入します。これにより、大規模言語モデルがあなたの特定のドキュメントを使用して質問に答えるRAGアプリケーションが可能になります。

知識検索ノードの出力をLLMノードのコンテキスト入力に接続し、次のように参照します:
知識検索からのコンテキスト変数を使用する場合、FlexAIは自動的に引用を追跡するため、ユーザーは情報源を確認できます。
構造化出力¶
プログラムで使用するために、JSONなどの特定のデータ形式での応答をモデルに強制します。3つの方法で設定できます:
ビジュアルエディター:
シンプルな構造のためのユーザーフレンドリーなインターフェース。名前とタイプでフィールドを追加し、必須フィールドをマークし、説明を設定します。エディターは自動的にJSONスキーマを生成します。
JSONスキーマ:
ネストされたオブジェクト、配列、検証ルールを含む複雑な構造のためにスキーマを直接記述します。
```json
{
"type": "object",
"properties": {
"sentiment": {
"type": "string",
"enum": ["positive", "negative", "neutral"]
}
},
"required": ["sentiment"]
}
```
AI生成:
平易な言語でニーズを説明し、AIにスキーマを生成させます。
Warning:
ネイティブJSON対応のモデルは構造化出力を確実に処理します。その他のモデルについては、FlexAIがプロンプトにスキーマを含めますが、結果は異なる場合があります。
メモリとファイル処理¶
メモリを有効にすると、チャットフロー会話内の複数のLLM呼び出しでコンテキストを維持できます。有効にすると、以前のインタラクションがフォーマットされたユーザー - アシスタント出力として後続のプロンプトに含まれます。USERテンプレートを編集することで、ユーザープロンプトに入力される内容をカスタマイズできます。メモリはノード固有であり、異なる会話間では持続しません。
ファイル処理では、マルチモーダルモデル用にプロンプトにファイル変数を追加します。GPT-4Vは画像を、ClaudeはPDFを直接処理しますが、他のモデルでは前処理が必要な場合があります。
ビジョン機能設定¶
画像を処理する際、詳細レベルを制御できます: - 高詳細 - 複雑な画像でより良い精度を提供しますが、より多くのトークンを使用します - 低詳細 - シンプルな画像でより少ないトークンでより高速な処理
ビジョン機能のデフォルト変数セレクターはuserinput.filesで、ユーザー入力ノードからファイルを自動的に取得します。

Jinja2テンプレートサポート¶
LLMプロンプトは高度な変数処理のためにJinja2テンプレートをサポートしています。Jinja2モード(edition_type: "jinja2")を使用すると、次のことができます:
{% for item in search_results %}
{{ loop.index }}. {{ item.title }}: {{ item.content }}
{% endfor %}
Jinja2変数は通常の変数置換とは別に処理され、プロンプト内でループ、条件文、複雑なデータ変換が可能になります。
ストリーミング出力¶
LLMノードはデフォルトでストリーミング出力をサポートしています。各テキストチャンクはRunStreamChunkEventとして生成され、リアルタイムの応答表示が可能になります。ファイル出力(画像、ドキュメント)はストリーミング中に自動的に処理され保存されます。
エラーハンドリング¶
失敗したLLM呼び出しのリトライ動作を設定します。最大リトライ回数、リトライ間隔、バックオフ乗数を設定します。リトライが十分でない場合のデフォルト値、エラールーティング、代替モデルなどのフォールバック戦略を定義します。