對話與訊息

發送訊息 (串流)

POST /api/chatbots/{chatbotId}/completions/

參數

參數名稱
必填
類型
說明

chatbotId

string

AI 助理的 ID

請求內容

請求參數

欄位
類型
必填
說明

conversation

string (uuid)

非必填,取決於是否要繼續現有對話

message

object

要發送給 AI 助理的具體訊息內容

message.content

string

要發送的訊息內容

message.attachments

array[AttachmentCreateInput]

附件陣列,預設為空陣列 []

isStreaming

boolean

串流回應模式開關

請求結構範例

{
  "conversation"?: string (uuid) // 非必填
  "message": 
  {
    "content": string
    "attachments"?: [ // 非必填
      {
        "id": string (uuid) // 附件的唯一識別碼
        "type": string (enum: image, audio, other) 
        // * `image` - 圖片類型檔案 * `audio` - 音訊類型檔案  * `other` - 其他類型檔案
        "filename": string // 附件的檔案名稱
        "file": string (uri) // 附件的URL
      }
    ]
  }
  "isStreaming"?: boolean // 非必填
}

請求範例值

{
  "conversation": "550e8400-e29b-41d4-a716-446655440000",
  "message": {
    "content": "request_string",
    "attachments": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "type": "image",
        "filename": "request_string",
        "file": "request_string"
      }
    ]
  },
  "isStreaming": true
}

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X POST --no-buffer "https://api.maiagent.ai/api/chatbots/550e8400-e29b-41d4-a716-446655440000/completions/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation": "550e8400-e29b-41d4-a716-446655440000",
    "message": {
      "content": "request_string",
      "attachments": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "type": "image",
          "filename": "request_string",
          "file": "request_string"
        }
      ]
    },
    "isStreaming": true
  }'

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

# 註意: 此API返回的是串流數據,可以通過以下方式處理:
# 方法1: 使用jq處理每個JSON數據塊
# 例如: curl -X POST --no-buffer "https://api.maiagent.ai/api/chatbots/550e8400-e29b-41d4-a716-446655440000/completions/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation": "550e8400-e29b-41d4-a716-446655440000",
    "message": {
      "content": "request_string",
      "attachments": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "type": "image",
          "filename": "request_string",
          "file": "request_string"
        }
      ]
    },
    "isStreaming": true
  }' | jq -r .

# 方法2: 使用管道將輸出寫入文件
# 例如: curl -X POST --no-buffer "https://api.maiagent.ai/api/chatbots/550e8400-e29b-41d4-a716-446655440000/completions/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation": "550e8400-e29b-41d4-a716-446655440000",
    "message": {
      "content": "request_string",
      "attachments": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "type": "image",
          "filename": "request_string",
          "file": "request_string"
        }
      ]
    },
    "isStreaming": true
  }' > response.json

回應內容

狀態碼
說明

200

對話回應內容,若是串流則為事件流


發送訊息 (建立)

POST /api/messages/

請求內容

請求參數

欄位
類型
必填
說明

conversation

string (uuid)

對話的唯一識別碼

content

string

要發送的訊息內容

attachments

array[AttachmentCreateInput]

附件陣列,預設為空陣列 []

請求結構範例

{
  "conversation": string (uuid)
  "content"?: string // 非必填
  string (enum: like, dislike) // 非必填
  "attachments"?: [ // 非必填
    {
      "id": string (uuid) // 附件的唯一識別碼
      "type"?: object // 附件的類型
      "filename": string // 附件的檔案名稱
      "file": string (uri) // 附件的URL
    }
  ]
}

請求範例值

{
  "conversation": "72251f2b-37ff-44ba-8051-465e40492518",
  "content": "這是一條測試訊息",
  "attachments": [
    {
      "id": "e67d7275-bfae-4355-9502-5e4efdc458dd",
      "type": "file",
      "filename": "string",
      "file": "string"
    }
  ]
}

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X POST "https://api.maiagent.ai/api/messages/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation": "72251f2b-37ff-44ba-8051-465e40492518",
    "content": "這是一條測試訊息",
    "attachments": [
      {
        "id": "e67d7275-bfae-4355-9502-5e4efdc458dd",
        "type": "file",
        "filename": "string",
        "file": "string"
      }
    ]
  }'

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 201

回應結構範例

{
  "id": string (uuid)
  "conversation": string (uuid)
  "sender": object
  "type"?: string // 非必填
  "content"?: string // 非必填
  "feedback"?: // 可能有不同的類型 (非必填)
  string (enum: like, dislike) // 非必填
  "createdAt": string (timestamp)
  "attachments"?: [ // 非必填
    {
      "id": string (uuid)
      "type"?: object // 非必填
      "filename": string
      "file": string (uri)
      "conversation"?: string (uuid) // 非必填
    }
  ]
  "citations": [
    {
      "id": string (uuid)
      "filename": string
      "file": string (uri)
      "fileType": string
      "size": integer
      "status": object
      "parser": 
      {
        "id": string (uuid)
        "name": string
        "provider": string (enum: maiagent, maiagent_ocr_beta, llama, azure) // * `maiagent` - MaiAgent
* `maiagent_ocr_beta` - MaiAgent OCR Beta
* `llama` - Llama
* `azure` - Azure
        "order"?: integer // 非必填
      }
      "createdAt": string (timestamp)
    }
  ]
  "citationNodes": [
    {
      "chatbotTextNode": 
      {
        "id": string (uuid)
        "charactersCount": integer
        "hitsCount": integer
        "text": string
        "updatedAt": string (timestamp)
        "filename": string
        "chatbotFile": string (uuid)
        "pageNumber": integer
      }
      "score"?: number (double) // 非必填
      "displayScore": integer
    }
  ]
}

回應範例值

{
  "conversation": "72251f2b-37ff-44ba-8051-465e40492518",
  "type": "incoming",
  "content": "這是一條測試訊息",
  "feedback": "like",
  "attachments": [
    {
      "id": "e67d7275-bfae-4355-9502-5e4efdc458dd",
      "type": "file",
      "filename": "string",
      "file": "string"
    }
  ]
}

取得訊息列表

GET /api/messages/

參數

參數名稱
必填
類型
說明

conversation

string

對話 ID

cursor

string

The pagination cursor value.

pageSize

integer

Number of results to return per page.

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X GET "https://api.maiagent.ai/api/messages/?conversation=example&cursor=example&pageSize=1" \
  -H "Authorization: Api-Key YOUR_API_KEY"

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 200

回應結構範例

{
  "count": integer
  "next"?: string (uri) // 非必填
  "previous"?: string (uri) // 非必填
  "results": [
    {
      "id": string (uuid)
      "conversation": string (uuid)
      "sender": object
      "type"?: string // 非必填
      "content"?: string // 非必填
      "feedback"?: // 可能有不同的類型 (非必填)
      string (enum: like, dislike) // 非必填
      "createdAt": string (timestamp)
      "attachments"?: [ // 非必填
        {
          "id": string (uuid)
          "type"?: object // 非必填
          "filename": string
          "file": string (uri)
          "conversation"?: string (uuid) // 非必填
        }
      ]
      "citations": [
        {
          "id": string (uuid)
          "filename": string
          "file": string (uri)
          "fileType": string
          "size": integer
          "status": object
          "parser": 
          {
            "id": string (uuid)
            "name": string
            "provider": string (enum: maiagent, maiagent_ocr_beta, llama, azure) // * `maiagent` - MaiAgent
* `maiagent_ocr_beta` - MaiAgent OCR Beta
* `llama` - Llama
* `azure` - Azure
            "order"?: integer // 非必填
          }
          "createdAt": string (timestamp)
        }
      ]
      "citationNodes": [
        {
          "chatbotTextNode": 
          {
            "id": string (uuid)
            "charactersCount": integer
            "hitsCount": integer
            "text": string
            "updatedAt": string (timestamp)
            "filename": string
            "chatbotFile": string (uuid)
            "pageNumber": integer
          }
          "score"?: number (double) // 非必填
          "displayScore": integer
        }
      ]
    }
  ]
}

回應範例值

{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "results": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "conversation": "550e8400-e29b-41d4-a716-446655440000",
      "sender": {
        "id": 456,
        "name": "response_string",
        "avatar": "response_string"
      },
      "type": "response_string",
      "content": "response_string",
      "feedback": "like",
      "createdAt": "response_string",
      "attachments": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "type": {},
          "filename": "response_string",
          "file": "response_string",
          "conversation": "550e8400-e29b-41d4-a716-446655440000"
        }
      ],
      "citations": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "filename": "response_string",
          "file": "response_string",
          "fileType": "response_string",
          "size": 456,
          "status": {},
          "parser": {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "name": "response_string",
            "provider": "maiagent",
            "order": 456
          },
          "createdAt": "response_string"
        }
      ],
      "citationNodes": [
        {
          "chatbotTextNode": {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "charactersCount": 456,
            "hitsCount": 456,
            "text": "response_string",
            "updatedAt": "response_string",
            "filename": "response_string",
            "chatbotFile": "550e8400-e29b-41d4-a716-446655440000",
            "pageNumber": 456
          },
          "score": 456,
          "displayScore": 456
        }
      ]
    }
  ]
}

取得特定訊息

GET /api/messages/{id}/

參數

參數名稱
必填
類型
說明

id

string

A UUID string identifying this 訊息.

conversation

string

對話 ID

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X GET "https://api.maiagent.ai/api/messages/550e8400-e29b-41d4-a716-446655440000/?conversation=example" \
  -H "Authorization: Api-Key YOUR_API_KEY"

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 200

回應結構範例

{
  "id": string (uuid)
  "conversation": string (uuid)
  "sender": object
  "type"?: string // 非必填
  "content"?: string // 非必填
  "feedback"?: // 可能有不同的類型 (非必填)
  string (enum: like, dislike) // 非必填
  "createdAt": string (timestamp)
  "attachments"?: [ // 非必填
    {
      "id": string (uuid)
      "type"?: object // 非必填
      "filename": string
      "file": string (uri)
      "conversation"?: string (uuid) // 非必填
    }
  ]
  "citations": [
    {
      "id": string (uuid)
      "filename": string
      "file": string (uri)
      "fileType": string
      "size": integer
      "status": object
      "parser": 
      {
        "id": string (uuid)
        "name": string
        "provider": string (enum: maiagent, maiagent_ocr_beta, llama, azure) // * `maiagent` - MaiAgent
* `maiagent_ocr_beta` - MaiAgent OCR Beta
* `llama` - Llama
* `azure` - Azure
        "order"?: integer // 非必填
      }
      "createdAt": string (timestamp)
    }
  ]
  "citationNodes": [
    {
      "chatbotTextNode": 
      {
        "id": string (uuid)
        "charactersCount": integer
        "hitsCount": integer
        "text": string
        "updatedAt": string (timestamp)
        "filename": string
        "chatbotFile": string (uuid)
        "pageNumber": integer
      }
      "score"?: number (double) // 非必填
      "displayScore": integer
    }
  ]
}

回應範例值

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "conversation": "550e8400-e29b-41d4-a716-446655440000",
  "sender": {
    "id": 456,
    "name": "response_string",
    "avatar": "response_string"
  },
  "type": "response_string",
  "content": "response_string",
  "feedback": "like",
  "createdAt": "response_string",
  "attachments": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "type": {},
      "filename": "response_string",
      "file": "response_string",
      "conversation": "550e8400-e29b-41d4-a716-446655440000"
    }
  ],
  "citations": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "filename": "response_string",
      "file": "response_string",
      "fileType": "response_string",
      "size": 456,
      "status": {},
      "parser": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "response_string",
        "provider": "maiagent",
        "order": 456
      },
      "createdAt": "response_string"
    }
  ],
  "citationNodes": [
    {
      "chatbotTextNode": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "charactersCount": 456,
        "hitsCount": 456,
        "text": "response_string",
        "updatedAt": "response_string",
        "filename": "response_string",
        "chatbotFile": "550e8400-e29b-41d4-a716-446655440000",
        "pageNumber": 456
      },
      "score": 456,
      "displayScore": 456
    }
  ]
}

建立新的對話

POST /api/conversations/

請求內容

請求參數

欄位
類型
必填
說明

webChat

string (uuid)

請求結構範例

{
  "webChat": string (uuid)
}

請求範例值

{
  "webChat": "550e8400-e29b-41d4-a716-446655440000"
}

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X POST "https://api.maiagent.ai/api/conversations/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webChat": "550e8400-e29b-41d4-a716-446655440000"
  }'

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 201

回應結構範例

{
  "id": string (uuid)
  "contact": 
  {
    "id": string (uuid)
    "name": string
    "avatar"?: string (uri) // 非必填
    "createdAt": string (timestamp)
  }
  "inbox": 
  {
    "id": string (uuid)
    "name": string
    "channelType": object
    "unreadConversationsCount"?: integer // 非必填
    "signAuth"?: object // 非必填
  }
  "title": string
  "lastMessage"?:  // 非必填
  {
    "id": string (uuid)
    "type"?: string // 非必填
    "content"?: string // 非必填
    "feedback"?: // 可能有不同的類型 (非必填)
    string (enum: like, dislike) // 非必填
    "createdAt": string (timestamp)
  }
  "lastMessageCreatedAt": string (timestamp)
  "unreadMessagesCount": integer
  "autoReplyEnabled": boolean
  "isAutoReplyNow": boolean
  "lastReadAt": string (timestamp)
  "createdAt": string (timestamp)
  "isGroupChat": boolean
  "enableGroupMention": boolean
}

回應範例值

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "contact": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "response_string",
    "avatar": "response_string",
    "createdAt": "response_string"
  },
  "inbox": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "response_string",
    "channelType": {},
    "unreadConversationsCount": 456,
    "signAuth": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "signSource": "550e8400-e29b-41d4-a716-446655440000",
      "signParams": {
        "keycloak": {
          "clientId": "response_string",
          "url": "response_string",
          "realm": "response_string"
        },
        "line": {
          "liffId": "response_string"
        }
      }
    }
  },
  "title": "response_string",
  "lastMessage": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "response_string",
    "content": "response_string",
    "feedback": "like",
    "createdAt": "response_string"
  },
  "lastMessageCreatedAt": "response_string",
  "unreadMessagesCount": 456,
  "autoReplyEnabled": false,
  "isAutoReplyNow": false,
  "lastReadAt": "response_string",
  "createdAt": "response_string",
  "isGroupChat": false,
  "enableGroupMention": false
}

取得對話列表

GET /api/conversations/

參數

參數名稱
必填
類型
說明

cursor

string

The pagination cursor value.

inbox

string

收件匣 ID

keyword

string

關鍵字搜尋

pageSize

integer

Number of results to return per page.

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X GET "https://api.maiagent.ai/api/conversations/?cursor=example&inbox=example&keyword=example&pageSize=1" \
  -H "Authorization: Api-Key YOUR_API_KEY"

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 200

回應結構範例

{
  "next"?: string (uri) // 非必填
  "previous"?: string (uri) // 非必填
  "results": [
    {
      "id": string (uuid)
      "contact": 
      {
        "id": string (uuid)
        "name": string
        "avatar"?: string (uri) // 非必填
        "createdAt": string (timestamp)
      }
      "inbox": 
      {
        "id": string (uuid)
        "name": string
        "channelType": object
        "unreadConversationsCount"?: integer // 非必填
        "signAuth"?: object // 非必填
      }
      "title": string
      "lastMessage"?:  // 非必填
      {
        "id": string (uuid)
        "type"?: string // 非必填
        "content"?: string // 非必填
        "feedback"?: // 可能有不同的類型 (非必填)
        string (enum: like, dislike) // 非必填
        "createdAt": string (timestamp)
      }
      "lastMessageCreatedAt": string (timestamp)
      "unreadMessagesCount": integer
      "autoReplyEnabled": boolean
      "isAutoReplyNow": boolean
      "lastReadAt": string (timestamp)
      "createdAt": string (timestamp)
      "isGroupChat": boolean
      "enableGroupMention": boolean
    }
  ]
}

回應範例值

{
  "next": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
  "previous": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
  "results": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "contact": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "response_string",
        "avatar": "response_string",
        "createdAt": "response_string"
      },
      "inbox": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "response_string",
        "channelType": {},
        "unreadConversationsCount": 456,
        "signAuth": {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "signSource": "550e8400-e29b-41d4-a716-446655440000",
          "signParams": {
            "keycloak": {
              "clientId": "response_string",
              "url": "response_string",
              "realm": "response_string"
            },
            "line": {
              "liffId": "response_string"
            }
          }
        }
      },
      "title": "response_string",
      "lastMessage": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "type": "response_string",
        "content": "response_string",
        "feedback": "like",
        "createdAt": "response_string"
      },
      "lastMessageCreatedAt": "response_string",
      "unreadMessagesCount": 456,
      "autoReplyEnabled": false,
      "isAutoReplyNow": false,
      "lastReadAt": "response_string",
      "createdAt": "response_string",
      "isGroupChat": false,
      "enableGroupMention": false
    }
  ]
}

取得特定對話

GET /api/conversations/{id}/

參數

參數名稱
必填
類型
說明

id

string

A UUID string identifying this 對話.

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X GET "https://api.maiagent.ai/api/conversations/550e8400-e29b-41d4-a716-446655440000/" \
  -H "Authorization: Api-Key YOUR_API_KEY"

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 200

回應結構範例

{
  "id": string (uuid)
  "contact": 
  {
    "id": string (uuid)
    "name": string
    "avatar"?: string (uri) // 非必填
    "createdAt": string (timestamp)
  }
  "inbox": 
  {
    "id": string (uuid)
    "name": string
    "channelType": object
    "unreadConversationsCount"?: integer // 非必填
    "signAuth"?: object // 非必填
  }
  "title": string
  "lastMessage"?:  // 非必填
  {
    "id": string (uuid)
    "type"?: string // 非必填
    "content"?: string // 非必填
    "feedback"?: // 可能有不同的類型 (非必填)
    string (enum: like, dislike) // 非必填
    "createdAt": string (timestamp)
  }
  "lastMessageCreatedAt": string (timestamp)
  "unreadMessagesCount": integer
  "autoReplyEnabled": boolean
  "isAutoReplyNow": boolean
  "lastReadAt": string (timestamp)
  "createdAt": string (timestamp)
  "isGroupChat": boolean
  "enableGroupMention": boolean
}

回應範例值

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "contact": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "response_string",
    "avatar": "response_string",
    "createdAt": "response_string"
  },
  "inbox": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "response_string",
    "channelType": {},
    "unreadConversationsCount": 456,
    "signAuth": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "signSource": "550e8400-e29b-41d4-a716-446655440000",
      "signParams": {
        "keycloak": {
          "clientId": "response_string",
          "url": "response_string",
          "realm": "response_string"
        },
        "line": {
          "liffId": "response_string"
        }
      }
    }
  },
  "title": "response_string",
  "lastMessage": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "response_string",
    "content": "response_string",
    "feedback": "like",
    "createdAt": "response_string"
  },
  "lastMessageCreatedAt": "response_string",
  "unreadMessagesCount": 456,
  "autoReplyEnabled": false,
  "isAutoReplyNow": false,
  "lastReadAt": "response_string",
  "createdAt": "response_string",
  "isGroupChat": false,
  "enableGroupMention": false
}

取得 AI 助理對話紀錄

GET /api/chatbots/{chatbotPk}/records/

參數

參數名稱
必填
類型
說明

chatbotPk

string

A UUID string identifying this Chatbot ID

page

integer

A page number within the paginated result set.

pageSize

integer

Number of results to return per page.

程式碼範例

# 呼叫 API 示例 (Shell)
curl -X GET "https://api.maiagent.ai/api/chatbots/550e8400-e29b-41d4-a716-446655440000/records/?page=1&pageSize=1" \
  -H "Authorization: Api-Key YOUR_API_KEY"

# 請確認在執行前替換 YOUR_API_KEY 並核對請求資料。

回應內容

狀態碼: 200

回應結構範例

{
  "count": integer
  "next"?: string (uri) // 非必填
  "previous"?: string (uri) // 非必填
  "results": [
    {
      "id": string (uuid)
      "inputMessage": string
      "condenseMessage": string // 綜合聊天歷史與上下文後,修飾過後的使用者訊息
      "outputMessage": string
      "context": string
      "faithfulnessScore": number (double) // 判斷chatbot回覆是否符合資料庫內容,是否憑空想像
      "displayFaithfulnessScore": integer
      "answerRelevancyScore": number (double) // 判斷chatbot回覆是否與使用者問題相關
      "displayAnswerRelevancyScore": integer
      "contextPrecisionScore": number (double) // 判斷chatbot回覆是否與參考資料相關
      "displayContextPrecisionScore": integer
      "answerCorrectnessScore": number (double) // 判斷chatbot回覆是否正確(需要有標準答案)
      "displayAnswerCorrectnessScore": integer
      "answerSimilarityScore": number (double) // 判斷chatbot回覆是否與標準答案相似
      "displayAnswerSimilarityScore": integer
      "contextRecallScore": number (double) // 判斷chatbot回覆是否能夠從參考資料中召回相關資料
      "displayContextRecallScore": integer
      "replyTime": string
      "createdAt": string (timestamp)
      "error": string // 儲存執行過程中的錯誤訊息
    }
  ]
}

回應範例值

{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "results": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "inputMessage": "response_string",
      "condenseMessage": "response_string",
      "outputMessage": "response_string",
      "context": "response_string",
      "faithfulnessScore": 456,
      "displayFaithfulnessScore": 456,
      "answerRelevancyScore": 456,
      "displayAnswerRelevancyScore": 456,
      "contextPrecisionScore": 456,
      "displayContextPrecisionScore": 456,
      "answerCorrectnessScore": 456,
      "displayAnswerCorrectnessScore": 456,
      "answerSimilarityScore": 456,
      "displayAnswerSimilarityScore": 456,
      "contextRecallScore": 456,
      "displayContextRecallScore": 456,
      "replyTime": "response_string",
      "createdAt": "response_string",
      "error": "response_string"
    }
  ]
}

對話紀錄匯出為 Excel 檔案

GET /api/chatbots/{chatbotPk}/records/export-excel/

參數

參數名稱
必填
類型
說明

chatbotPk

string

A UUID string identifying this Chatbot ID

程式碼範例

# 呼叫 API 示例 (Shell)
# 請將 YOUR_API_KEY 替換成您的 API 金鑰
# 請將 {chatbotPk} 替換成您的 Chatbot ID
# 預設會將檔案儲存為 export.xlsx,您可以修改 -o 後面的檔案名稱
curl -X GET "https://api.maiagent.ai/api/chatbots/{chatbotPk}/records/export-excel/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -o export.xlsx

# 提示:伺服器可能透過 Content-Disposition 標頭提供建議的檔案名稱。
# 您可以使用 curl -OJ (大寫O, 大寫J) 來嘗試使用伺服器提供的檔名 (如果有的話)。
# 例如: curl -X GET "https://api.maiagent.ai/api/chatbots/{chatbotPk}/records/export-excel/" -H "Authorization: Api-Key YOUR_API_KEY" -OJ

回應內容

狀態碼
說明

200

Excel 檔案下載


Last updated

Was this helpful?