メッセージ送信
メッセージ送信
指定した会話IDにメッセージを送信し、エージェントのレスポンスメッセージを取得します。メッセージ内容としてテキストおよび/または画像の送信をサポートしています。
リクエストメソッド
POST
リクエストURL
https://api.gptbots.ai/v1/conversation/message
リクエスト認証
認証の詳細は「概要」セクションをご参照ください。
リクエスト
リクエスト例
curl -X POST https://api.gptbots.ai/v1/conversation/message \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"text": "HI!",
"conversation_id": "xxxxxx",
"response_mode": "streaming",
"short_term_memory": true,
"long_term_memory": false,
"files":[
{
"url": "https://res.gptbots.ai/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
"name": "something.jpg",
"width": 200,
"height": 200
},
{
"base64_content": "Your_file_base64_content",
"name": "something.pdf"
}
],
"knowledge": {
"data_ids": [
"48c70da0403cc812641b934f",
"48c70da0403cc812641df35k"
]
}
}
}'
curl -X POST https://api.gptbots.ai/v1/conversation/message \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"text": "HI!",
"conversation_id": "xxxxxx",
"response_mode": "streaming",
"short_term_memory": true,
"long_term_memory": false,
"files":[
{
"url": "https://res.gptbots.ai/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
"name": "something.jpg",
"width": 200,
"height": 200
},
{
"base64_content": "Your_file_base64_content",
"name": "something.pdf"
}
],
"knowledge": {
"data_ids": [
"48c70da0403cc812641b934f",
"48c70da0403cc812641df35k"
]
}
}
}'
このコードブロックをポップアップで表示
フィールド | タイプ | 説明 |
---|---|---|
Authorization | Bearer ${token} | 認証には Authorization: Bearer ${token} を使用してください。トークンはAPIキーページから取得できます。 |
Content-Type | application/json | データの形式は application/json を設定してください。 |
リクエストボディ
フィールド | タイプ | 必須 | 説明 |
---|---|---|---|
text | String | 必須 | text または files のいずれかを入力する必要があります。ユーザーのテキストメッセージであり、テキスト内容の長さはエージェントの設定で定められたトークン長の上限を超えてはいけません。 |
files | JSON Array | 任意 | text または files のいずれか一方の入力が必要です。ファイルは画像・音声・ドキュメント型のデータをエージェントに送信するために使用されます。エージェントは2種類のファイル認識方式に対応しています:「システムファイル認識」と「LLMファイル認識」。認識方式によって対応するファイル形式が異なります。ファイル送信にはネットワークパスが使用可能で、最大9ファイルまでアップロード可能です。ドキュメントは20MB以下、画像は10MB以下、音声は5MB以下が上限です。LLMファイル認識 |
conversation_id | String | 必須 | 会話ID。以前の会話を継続するために指定します。 |
response_mode | String | 必須 | blocking: |
short_term_memory | Boolean | 任意 | このメッセージ送信に短期記憶を含めるかどうか。未記入の場合は、エージェントのメモリ設定に従います。 |
long_term_memory | Boolean | 任意 | このメッセージ送信に長期記憶を含めるかどうか。未記入の場合は、エージェントのメモリ設定に従います。 |
knowledge | Object | 任意 | このメッセージにおけるナレッジ検索のスコープをカスタマイズします。このフィールドが存在しない場合、エージェントのデフォルトのナレッジ設定が適用されます。 |
data_ids | Array | 任意 | data_ids はナレッジドキュメントIDの配列です。"data_ids": [] のように空配列を指定すると、ナレッジ検索は行われません。値を指定した場合は、そのIDの範囲内のみでナレッジ検索が行われます。 |
レスポンス
レスポンス例
{
"message_id": "65a4ccfC7ce58e728d5897e0",
"message_type": "ANSWER",
"text": "Hi, is there anything I can help you?",
"flow_output": [
{
"content": "Hello",
"branch": "1",
"from_component_name": "User Input"
}
],
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe"
}
{
"message_id": "65a4ccfC7ce58e728d5897e0",
"message_type": "ANSWER",
"text": "Hi, is there anything I can help you?",
"flow_output": [
{
"content": "Hello",
"branch": "1",
"from_component_name": "User Input"
}
],
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe"
}
このコードブロックをポップアップで表示
成功時のレスポンス(Blocking)
フィールド | タイプ | 説明 |
---|---|---|
message_id | String | 一意のメッセージID |
message_type | String | メッセージの種別。値は ANSWER または QUESTION |
text | String | レスポンステキスト |
flow_output | JSON Array | フローエージェントによる出力内容 |
content | String | フローエージェントのコンポーネントからレスポンステキスト |
branch | String | フローエージェントのブランチ名 |
from_component_name | String | フローエージェントで、このレスポンスを生成した直前のコンポーネント名 |
create_time | Long | レスポンスメッセージが生成されたタイムスタンプ |
conversation_id | String | 会話ID |
成功時のレスポンス(Streaming)
フィールド | タイプ | 説明 |
---|---|---|
code | Int | メッセージ種別コード。3:テキスト、10:フロー出力、0:終了。 |
message | String | メッセージ種別。値:Text、FlowOutput、End。 |
data | Object | レスポンス内容 |
ストリーミングデータは複数のチャンク(断片)に分割されて返されます。
{"code":11,"message":"MessageInfo","data":{"message_id":"6785dba0f06d872bff9ee347"}}
{"code":3,"message":"Text","data":"I"}
{"code":3,"message":"Text","data":"can"}
{"code":3,"message":"Text","data":"help"}
{"code":3,"message":"Text","data":"you"}
{"code":3,"message":"Text","data":"?"}
{"code":10,"message":"FlowOutput","data":[{"content":"Hello","branch":null,"from_component_name":"User Input"}]}
{"code":0,"message":"End","data":null}
{"code":11,"message":"MessageInfo","data":{"message_id":"6785dba0f06d872bff9ee347"}}
{"code":3,"message":"Text","data":"I"}
{"code":3,"message":"Text","data":"can"}
{"code":3,"message":"Text","data":"help"}
{"code":3,"message":"Text","data":"you"}
{"code":3,"message":"Text","data":"?"}
{"code":10,"message":"FlowOutput","data":[{"content":"Hello","branch":null,"from_component_name":"User Input"}]}
{"code":0,"message":"End","data":null}
このコードブロックをポップアップで表示
成功時のレスポンス(Webhook)
開発者がWebhookアドレスを設定している場合、正常なレスポンスが返された際に、GPTBotsシステムはエージェントおよび人間のカスタマーサポートからのメッセージをWebhookアドレスに送信します。詳細なメッセージ形式については、Webhookモードをご参照ください。
エラー時のレスポンス
フィールド | タイプ | 説明 |
---|---|---|
code | Int | エラーコード |
message | String | エラー詳細内容 |
エラーコード
コード | メッセージ |
---|---|
40000 | 無効なパラメータ |
40127 | 開発者の認証に失敗しました |
40356 | 会話が存在しません |
50000 | サーバ内部エラーが発生しました |
40364 | このエージェントは画像モード対応のLLMを使用していません |
20059 | エージェントが削除されました |
20040 | 問い合わせの上限を超えています |
40358 | conversation_id がエージェントまたはユーザーと一致しません |
20022 | クレジット残高が不足しています |