入力
INPUT
は、エージェントに入力情報を送信するために使用されます。他のアクションは入力情報に基づいて適切な操作を実行します。エージェントの最初のアクションは
INPUT
でなければならず、それを削除したりコピーしたりすることはできません。デザインモードでは、データセットを入力として指定できます。このデータセットの各データ(各行)はエージェントへの個別の入力として扱われ、すべての入力が並行して実行されます。各データ行は別個のスレッド ID を受け取ります。
プロダクションモードでは、入力はエージェントの API を介して渡されます。
imprai は、エージェントに渡されるメッセージを処理するための共通データ構造を定義しています。エージェントをアシスタントやスレッド API とシームレスに連携させるために、この形式を使用することを強くお勧めします。
共通メッセージ形式
異なる LLM には異なるメッセージ形式がありますが、imprai はエージェントに渡されるメッセージを処理するための共通メッセージ形式を定義しています。内部的にはすべての互換性の問題を処理します。
テキストメッセージ
{
"role": "このメッセージの役割、例えばユーザー、アシスタント",
"content": "このメッセージの内容"
}
画像 URL を含むメッセージ
{
"role": "ユーザー",
"content": "このメッセージの内容",
"parts": [
{
"type": "image_url",
"image_url": {
"url": "この画像のURL"
}
}
]
}
画像データを含むメッセージ
{
"role": "ユーザー",
"content": "このメッセージの内容",
"parts": [
{
"type": "blob",
"blob": {
"mime_type": "image/png",
"url": "base64でエンコードされた画像データ"
}
}
]
}
ファイルを含むメッセージ
{
"role": "このメッセージの役割、例えばユーザー、アシスタント",
"content": "このメッセージの内容",
"parts": [
{
"type": "file",
"file": {
"id": "このファイルのUUID",
"name": "拡張子を含むこのファイルの名前"
}
}
]
}
複数のメッセージ
{
"messages": [
{
"role": "",
"content": "",
"parts": []
},
{
"role": "",
"content": "",
"parts": []
}
]
}
重要 この形式に準拠しているメッセージのみが自動的にスレッドに保存されます。他のメッセージは無視されます。
使用方法
指示内で {{INPUT.message}}
変数を使用したり、コードエディタで env.state.INPUT.messages
を使用したりして入力を利用できます。

データ形式
エージェントページで使用される場合、入力は事前定義されたデータセットから抽出されます。
アプリに接続されている場合、入力はアプリユーザーの入力および会話履歴から取得されます。デフォルトでは、最後の 10 件のメッセージをエージェントに送ります。
入力データ形式は次の通りです:
{ "messages": [ { "role": "ユーザー", "content": "内容" }, { "role": "アシスタント", "content": "内容" } ] }
最終更新