ノート

LLM出力フォーマットの制御と結果の解析

フリーのプロンプト百科事典 Wikiprompt より

宝玉
投稿者宝玉X出典

2023年11月3日

LLM出力フォーマットの制御と結果の解析 LLM出力形式をFunction Callingとfew-shot例を用いて制御するガイド、安定したJSON解析のための実用的なコードスニペット付き。

プロンプト内容保存

🌐
方法1:関数呼び出しを使用する 関数呼び出しは、OpenAIがGPT API向けに提供する機能で、LLMが最終結果を出力する前に特定の関数を呼び出すかどうかを決定できるようにします。例えば、ユーザーが今日の天気について質問した場合、LLMはまず中間結果を出力し、パラメータ「今日」で天気関連の関数を呼び出すように指示します。その後、天気関数を呼び出して結果を取得し、LLMにユーザーへの最終結果を出力させることができます。 この機能は元々出力形式を制御するためのものではありませんでしたが、関数を呼び出す際に標準的なJSON形式を提供してくれるため、GPT-3.5でも比較的安定したJSON出力が得られます。これを利用してLLMの出力形式を制御できます。 ChatGPTに出力させたい内容を関数として定義できますが、実際に関数を実行する必要はなく、LLMから出力結果を取得するだけです。 例えば、ChatGPTにオブジェクトを出力させたい場合: { "name": "John", "age": 30, "city": "New York" } GPTを呼び出す際に、希望するJSON形式に一致するパラメータを持つ関数を定義します: { "name": "getUserInfo", "description": "Get user information", "parameters": { "type": "object", "properties": { "name": { "type": "string", "description": "User's fullname" }, "age": { "type": "number", "description": "User's age" }, "city": { "type": "string", "description": "User's city" } }, "required": ["name", "age", "city"] } } その後、GPTを呼び出すと安定したJSON出力が得られます。制限として、APIが関数呼び出しをサポートしている必要があります。 方法2:出力形式の例を用いたfew-shotを使用する APIが関数呼び出しをサポートしていない場合、1つ以上の出力形式の例を提供してLLMに従わせるfew-shotを使用できます。 例えば、翻訳時にLLMに2回翻訳させ、1回は直訳、もう1回は意訳を行い、その後意訳を使用する場合があります。この場合、JSON形式は必要なく、特別な文字を使用して2つの結果を区切り、その文字で分割して意訳を取得できます。 JSON形式の場合もfew-shotを使用できますが、GPT-3.5では安定性が低く、形式が守られないことがあります。 応答がPythonのjsonで解析できることを確認し、以下の形式を例として使用してください: { "name": "John", "age": 30, "city": "New York" }

ログインして完全なプロンプトを表示

次で続行:

ログインすると、次に同意したことになります: 利用規約 と プライバシーポリシー

使い方

このプロンプトは coding 向けに設計されています。上の内容をコピーして、お好みの AI ツールに貼り付けてください。

最良の結果を得るには、プレースホルダー(角括弧や大文字で示された部分)を具体的な要件に置き換えてください。

参考資料

カテゴリ:coding| twitter| llm| output-format

ノート