メインコンテンツまでスキップ

Chat Log API

概要: RAG API の対話履歴を取得・管理するAPIです。チャット一覧の取得、特定チャットのメッセージ全文取得、タイトル更新、メッセージへのフィードバック送信が可能です。chatlog_id は RAG API のレスポンスに含まれており、これを次回以降の chatlog_id として渡すことで会話を継続できます。


GET /v1/user/chatlog

ユーザー(または指定スペース)に紐づくチャットログの一覧を取得します。

GET /v1/user/chatlog

Headers

  • api-key : string(required) - rokadoc APIキー

Query Parameters

必須パラメータ

なし

オプショナルパラメータ
  • space_id : string(optional) - スペース機能を利用する場合はスペースIDを指定

Request Example

curl -X 'GET' \
"https://api.rokadoc.ntt.com/v1/user/chatlog" \
-H "api-key: ${ROKADOC_API_KEY}"

Response

200 OK - チャットログ一覧取得成功
{
"code": 200,
"data": [
{
"chat_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_title": "NTTドコモビジネスの社名変更時期",
"created_at": "2026-04-28T01:11:41.061048+00:00",
"updated_at": "2026-04-28T01:11:46.332288+00:00"
}
]
}
  • code : integer - ステータスコード
  • data : array - チャットログ情報の配列
    • chat_id : string - チャットログID(RAG API の chatlog_id と同一)
    • chat_title : string|null - 自動生成されたチャットタイトル(初回応答前は null)
    • created_at : string - 作成日時(ISO 8601形式)
    • updated_at : string - 最終更新日時(ISO 8601形式)

注意事項

  • chat_title は RAG API の最初の応答時に LLM が自動生成するため、それまでは null です
  • スペースを指定した場合、そのスペース内で自分が作成したチャットのみが返却されます

GET /v1/user/chatlog/{chatlog_id}

特定のチャットログの詳細(メッセージ履歴とハイライト要素)を取得します。

GET /v1/user/chatlog/{chatlog_id}

Headers

  • api-key : string(required) - rokadoc APIキー
必須パラメータ
  • chatlog_id : string(required) - チャットログID(パスパラメータ)
オプショナルパラメータ
  • space_id : string(optional) - スペース機能を利用する場合はスペースIDを指定
  • space_admin : boolean(optional) - スペース管理者として他ユーザーのチャットを参照する場合はtrue(管理者権限が必要、デフォルト: false)

Request Example

curl -X 'GET' \
"https://api.rokadoc.ntt.com/v1/user/chatlog/${CHATLOG_ID}" \
-H "api-key: ${ROKADOC_API_KEY}"

Response

200 OK - チャットログ詳細取得成功
{
"code": 200,
"data": {
"chat_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_title": "サンプル質問のタイトル",
"messages": [
{
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"content": "rokadocとは何ですか",
"role": "user",
"feedback": null,
"chat_user_id": "xxxxxxxxxxxx",
"references": [],
"created_at": "2026-04-28T01:11:41.061048+09:00"
},
{
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"content": "<アシスタントによる回答>",
"role": "ai_assistant",
"feedback": null,
"chat_user_id": "xxxxxxxxxxxx",
"references": [
{
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"content": "<参照されたチャンクのテキスト>",
"page": "1",
"conversion_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"highlight_reading_orders": [],
"score": 3.0513556003570557,
"created_at": "2026-04-28T01:11:46.332288+09:00"
}
],
"created_at": "2026-04-28T01:11:46.332288+09:00"
}
],
"highlight_elements_list": [
[
{
"type": "text",
"coordinates": [[73.7, 333.4], [2445.7, 815.4]],
"text": "<該当elementに含まれるテキスト>",
"page": 1,
"reading_order": 2,
"element_id": "xxxx__1__2",
"chat_message_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"conversion_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"pdf_name": "sample.pdf",
"page_width": 2550,
"page_height": 3300,
"score": 3.05
}
]
]
}
}
  • code : integer - ステータスコード
  • data.chat_id : string - チャットログID
  • data.chat_title : string|null - チャットタイトル
  • data.messages : array - メッセージ履歴(時系列順)
    • id : string - メッセージID
    • content : string - メッセージ本文
    • role : string - 発話者ロール(user または ai_assistant
    • feedback : string|null - フィードバック(good / bad / null)
    • chat_user_id : string - 発話者のユーザーID
    • references : array - RAGで参照されたドキュメントチャンク(roleが ai_assistant の場合のみ設定)
      • id : string - 参照ID
      • content : string - 参照されたチャンクテキスト
      • page : string - 該当ページ番号
      • conversion_id : string - 変換ID
      • highlight_reading_orders : array - ハイライトされた要素のreading_order配列
      • score : float - 類似度スコア
      • created_at : string - 作成日時
    • created_at : string - メッセージ作成日時
  • data.highlight_elements_list : array of array - 各 ai_assistant メッセージに対応するハイライト要素のリスト(RAG APIhighlight_elements と同形式)
404 Not Found - チャットログが存在しない、または権限がない
{
"error": {
"code": 404,
"message": "Not Found",
"details": "リソースが見つかりませんでした。"
}
}

注意事項

  • 自分が作成していないチャットログは取得できません(space_admin=true でスペース管理権限がある場合を除く)
  • highlight_elements_list の各要素は、messages の中の ai_assistant メッセージと順序対応します

PUT /v1/user/chatlog/{chatlog_id}

チャットログのタイトルを更新します。

PUT /v1/user/chatlog/{chatlog_id}

Headers

  • api-key : string(required) - rokadoc APIキー

Request Body (multipart/form-data)

必須パラメータ
  • chatlog_id : string(required) - チャットログID(パスパラメータ)
オプショナルパラメータ
  • chatlog_title : string(optional) - 新しいタイトル
  • space_id : string(optional) - スペース機能を利用する場合はスペースIDを指定

Request Example

curl -X 'PUT' \
"https://api.rokadoc.ntt.com/v1/user/chatlog/${CHATLOG_ID}" \
-H "api-key: ${ROKADOC_API_KEY}" \
-F "chatlog_title=決算資料に関するQ&A"

Response

200 OK - 更新成功
{
"code": 200,
"data": {
"chat_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_title": "決算資料に関するQ&A",
"messages": [
"..."
]
}
}
404 Not Found - チャットログが存在しない、または権限がない
{
"error": {
"code": 404,
"message": "Not Found",
"details": "リソースが見つかりませんでした。"
}
}

PUT /v1/user/chatlog/message/{message_id}

チャットメッセージにフィードバック(good / bad)を付与します。LLM応答品質の改善やログ分析に利用できます。

PUT /v1/user/chatlog/message/{message_id}

Headers

  • api-key : string(required) - rokadoc APIキー

Request Body (multipart/form-data)

必須パラメータ
  • message_id : string(required) - メッセージID(パスパラメータ。RAG API のレスポンスの assistant_message_id または user_message_id を指定)
オプショナルパラメータ
  • feedback : string(optional) - フィードバック値。good または bad を指定。未指定の場合は更新されません

Request Example

curl -X 'PUT' \
"https://api.rokadoc.ntt.com/v1/user/chatlog/message/${MESSAGE_ID}" \
-H "api-key: ${ROKADOC_API_KEY}" \
-F "feedback=good"

Response

200 OK - フィードバック登録成功
{
"code": 200,
"description": "フィードバック完了"
}

注意事項

  • feedbackgood または bad を指定してください
  • 同じ message_id に対して複数回呼び出すと、最後に送信した値で上書きされます