QAナレッジドキュメントの追加
QAナレッジドキュメントの追加
このAPIを使用して、AgentのナレッジベースにQAペア形式のナレッジドキュメントを追加できます。QAテキストを直接渡す方法、QA形式ファイル(CSV)をアップロードする方法、ドキュメントをアップロードして自動的にQAペアへ変換する方法の3種類に対応しています。
リクエストメソッド
POST
リクエストURL
https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add
リクエスト認証
認証方法の説明についてはAPI Overviewをご参照ください。
リクエスト
リクエスト例
QAテキスト方式:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_TEXT",
"name": "よくある質問",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"qaList": [
{
"question": "アカウントを登録するには?",
"answer": "ホームページ右上の登録ボタンをクリックし、メールアドレスとパスワードを入力すると登録が完了します。"
},
{
"question": "パスワードをリセットするには?",
"answer": "ログインページで「パスワードをお忘れですか」をクリックし、案内に従って操作するとリセットできます。"
}
]
}'
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_TEXT",
"name": "よくある質問",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"qaList": [
{
"question": "アカウントを登録するには?",
"answer": "ホームページ右上の登録ボタンをクリックし、メールアドレスとパスワードを入力すると登録が完了します。"
},
{
"question": "パスワードをリセットするには?",
"answer": "ログインページで「パスワードをお忘れですか」をクリックし、案内に従って操作するとリセットできます。"
}
]
}'
このコードブロックをポップアップで表示
QAファイル方式:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_FILE",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"file_url": "https://example.com/qa.csv",
"file_name": "qa_data.csv"
}
]
}'
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_FILE",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"file_url": "https://example.com/qa.csv",
"file_name": "qa_data.csv"
}
]
}'
このコードブロックをポップアップで表示
ドキュメントからQAへの変換方式:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "FILE_2_QA",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"source_url": "https://example.com/product_manual.pdf",
"file_name": "製品マニュアル.pdf"
}
]
}'
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "FILE_2_QA",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"source_url": "https://example.com/product_manual.pdf",
"file_name": "製品マニュアル.pdf"
}
]
}'
このコードブロックをポップアップで表示
リクエストヘッダー
| フィールド | タイプ | 説明 |
|---|---|---|
| Authorization | Bearer ${token} | 認証には Authorization: Bearer ${token} を使用してください。トークンはAPIキーページから取得できます。 |
| Content-Type | application/json | データ形式。application/json を指定してください。 |
リクエストボディ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
| purpose | string | 必須 | データ種別。指定可能な値:QA_TEXT(QAテキスト)、QA_FILE(QA形式ファイル)、FILE_2_QA(ドキュメントからQAへ変換)。 |
| knowledge_base_id | string | 任意 | ナレッジベースID。未指定の場合はデフォルトのナレッジベースが使用されます。 |
| name | string | 条件付き必須 | ドキュメント名。purpose が QA_TEXT の場合は必須です。 |
| qaList | list | 条件付き必須 | QAペアのリスト。purpose が QA_TEXT の場合は必須です。 |
| question | string | 必須 | 質問の内容。 |
| answer | string | 必須 | 回答の内容。 |
| files | list | 条件付き必須 | ファイルのリスト。purpose が QA_FILE または FILE_2_QA の場合は必須です。最大20ファイルまで指定できます。 |
| source_url | string | 必須 | ファイルのソースURL。 |
| file_name | string | 必須 | ファイル名。 |
| doc_id | string | 任意 | ドキュメントID。 |
| file_url | string | 任意 | ファイルのURL。 |
| file_base64 | string | 任意 | ファイルのbase64エンコード内容。 |
| header_row | int | 任意 | ヘッダー行の番号。 |
| chunk_token | int | 任意 | 1チャンクあたりのトークン数。デフォルトは600です。 |
| splitter | string | 任意 | 区切り文字。 |
| embedding_model_version_id | string | 任意 | このバッチのドキュメントをベクトル化する埋め込みモデルのバージョンID。省略した場合はシステムのデフォルト埋め込みモデルが使用されます。値はモデル一覧の取得 API が返す EMBEDDING グループ内の modelId を指定してください。 |
purpose が
QA_TEXTの場合、name と qaList を必ず指定してください。
purpose がQA_FILEまたはFILE_2_QAの場合、files を必ず指定してください。最大20ファイルまで対応しています。
レスポンス
レスポンス例
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "よくある質問"
}
],
"failed": []
}
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "よくある質問"
}
],
"failed": []
}
このコードブロックをポップアップで表示
成功時のレスポンス
| フィールド | タイプ | 説明 |
|---|---|---|
| doc | list | 追加に成功したドキュメントのリスト。 |
| doc_id | string | ドキュメントID。 |
| doc_name | string | ドキュメント名。 |
| failed | list | 追加に失敗したファイル名のリスト。 |
エラー時のレスポンス
| フィールド | タイプ | 説明 |
|---|---|---|
| code | int | エラーコード。 |
| message | string | エラーの詳細内容 |
エラーコード
| Code | Message |
|---|---|
| 40000 | パラメータエラー |
| 40000 | The embedding_model_version_id does not exist: 指定したモデルバージョンIDがプラットフォームのモデル一覧に存在しません |
| 40000 | The embedding_model_version_id is not an embedding model: 指定したモデルが埋め込みモデルではありません(例:チャットモデルの modelId を指定した場合) |
| 40000 | The embedding_model_version_id is not an available embedding model: この埋め込みモデルの提供元は API での指定にまだ対応していません |
| 50000 | システム内部エラー |
注:
embedding_model_version_idの検証に失敗した場合、バッチ内のドキュメントは一切作成されず、failedリストにも含まれません。上記のエラーレスポンスがそのまま返されます。
