接口文档
本文档详细介绍了各类接口的使用说明,包括请求方式、接口路径、请求参数及响应格式。开发者可根据本说明文档快速对接接口,完成推荐问题、会话管理、推理服务、点赞操作及历史记录等功能的集成,同时还提供了通用能力接口(rewrite、file、tutor、youtube、search、advise、celebrity)的说明。
接口概览
获取推荐问题接口
请求方法:
GET
接口路径:
/api/v1/chat/recommend
请求参数:
参数 类型 描述 是否必填 num int 推荐问题的数量 否 响应示例:
{ "data": [ { "avatar": "https://firebasestorage.googleapis.com/v0/b/rumi-bdb43.appspot.com/o/public%2Ftmp%2Fimg_v3_02cd_bd6fe904-94f1-4986-9d65-0175e22746eh.png?alt=media", "title": "课程与教授", "content": "我们有没有推荐的适合R区域的简单课程?" }, { "avatar": "https://firebasestorage.googleapis.com/v0/b/rumi-bdb43.appspot.com/o/public%2Ftmp%2Fimg_v3_02cd_7b40632d-d0f6-4328-99ce-2e36d966709h.png?alt=media", "title": "作业帮助", "content": "SJSU主校区附近有哪些最好的或有名的餐厅?" }, { "avatar": "https://firebasestorage.googleapis.com/v0/b/rumi-bdb43.appspot.com/o/public%2Ftmp%2Fimg_v3_02cd_32d2f8af-a364-4a10-a9b0-4a5d6686b27h.png?alt=media", "title": "校园导览", "content": "如何注册课程,以及注册的截止日期和程序是什么?" }, { "avatar": "https://firebasestorage.googleapis.com/v0/b/rumi-bdb43.appspot.com/o/public%2Ftmp%2Fimg_v3_02cd_e638ecb7-73d6-45d4-805d-001f2065142h.png?alt=media", "title": "校园生活", "content": "学生可以免费进入橄榄球比赛吗?" } ], "code": 1, "msg": null, "ok": true }
会话管理
本节介绍会话管理相关的接口,包括创建会话、列出会话、设置会话名称和删除会话。
1. 创建会话
请求方法:
POST
接口路径:
/api/v1/chat/create
请求参数:
参数 类型 描述 是否必填 user_id String 用户 Id 否 name String 会话名称 是 school_id Long 学校 ID(可选,默认值为 1) 否 chat_type Integer 会话类型(默认值为 0) 否 type String 会话类型描述 否 app_id Long 应用 ID(可选) 否 响应示例:
{ "data": { "id": 12345, "name": "会话名称" }, "code": 1, "msg": null, "ok": true }
2. 列出会话
请求方法:
GET
接口路径:
/api/v1/chat/list
请求参数:
参数 类型 描述 是否必填 user_id String 用户 Id 否 offset Integer 页码(默认值为 1) 否 limit Integer 每页数量(默认值为 10) 否 school_id Long 学校 ID(可选) 否 chat_type Integer 会话类型(可选) 否 响应示例:
{ "data": [ { "id": 12345, "name": "会话名称", "user_id": "user123", "school_id": 1, "type": "类型描述", "chat_type": 0, "create_time": "2024-07-16T12:34:36.651846Z", "update_time": "2024-07-16T12:34:36.651846Z" } // 更多会话数据 ], "code": 1, "msg": null, "ok": true }
3. 设置会话名称
请求方法:
PUT
接口路径:
/api/v1/chat/set/name
请求参数:
参数 类型 描述 是否必填 user_id String 用户 Id 否 session_id Long 会话 ID 是 name String 新的会话名称 是 响应示例:
{ "data": null, "code": 1, "msg": null, "ok": true }
4. 删除会话
请求方法:
DELETE
接口路径:
/api/v1/chat/delete
请求参数:
参数 类型 描述 是否必填 user_id String 用户 Id 否 session_id Long 会话 ID 是 响应示例:
{ "data": null, "code": 1, "msg": null, "ok": true }
推理接口
本节提供推理相关接口说明,主要用于处理用户提问及停止推理操作。
1. 发送用户提问
请求方法:
POST
接口路径:
/api/v1/chat/send
请求头:
Content-Type: application/json
请求体示例:
{ "user_id": "452057544733368321", "session_id": "452057544733368320", "type": "general", "provider": "opneai", "school_id": 1, "app_id": "", "messages": [ { "role": "user", "content": "When is the last day of Kapiolani Community College in spring 2025" } ], "stream": true }
SSE 数据示例:
event:delta data:{"content":"- Think about your question: When is the last day of Kapiolani Community College in spring 2025\r\n"} event:progress data:The number of history records to be queried:0 event:message_id data:{"question_id":"452093442603847680"} event:progress data:Serach it is processed using ppl event:question data:When is the last day of Kapiolani Community College in spring 2025? event:delta data:{"content":"- Understand your intention: When is the last day of Kapiolani Community College in spring 2025?\r\n"} event:delta data:{"content":"- Searching... \r\n"} event:progress data:default event:input data:[] event:delta data:{"content":"- Reply to your question.\r\n\r\n"} event:citations data:["https://www.bhcc.edu/academic-calendar/academiccalendar-spring2025/","https://kellogg.edu/about/academic-calendar/","https://hawaii.hawaii.edu/sites/default/files/assets/catalog/docs/02-academic_calendar.pdf","https://www.kapiolani.hawaii.edu/classes/academic-calendar/","https://www.kapiolani.hawaii.edu/classes/"] event:delta data:{"content":"The"} ... event:delta data:{"content":" May "} event:delta data:{"content":"16[4]."} event:message_id data:{"answer_id":"452093453534203904"}
2. 停止推理
请求方法:
POST
接口路径:
/api/v1/chat/stop
请求参数:
参数 类型 描述 是否必填 session_id Long 会话 ID 是 请求示例:
POST /api/v1/chat/stop?session_id=452057544733368320
响应示例:
{ "data": null, "code": 1, "msg": null, "ok": true }
点赞/取消点赞
用于对问答内容进行点赞或取消点赞。
请求方法:
POST
接口路径:
/api/v1/chat/like
请求头:
Content-Type: application/json
请求体示例:
{ "question_id": "452075106336137216", "answer_id": "452075122110914560", "like": true }
请求示例:
POST /api/v1/chat/like Content-Type: application/json { "question_id": "452075106336137216", "answer_id": "452075122110914560", "like": true }
响应示例:
{ "data": null, "code": 1, "msg": null, "ok": true }
历史记录
用于查询指定会话的历史问答记录。
请求方法:
GET
接口路径:
/api/v1/chat/history
请求参数:
参数 类型 描述 是否必填 user_id String 用户 Id 否 session_id Long 会话 ID 是 offset Integer 页码(默认值为 1) 否 limit Integer 每页数量(默认值为 100) 否 请求示例:
GET /api/v1/chat/history?session_id=12345&offset=1&limit=20
响应示例:
{ "data": [ { "id": 452075106336137216, "role": "user", "content": "如何注册课程,以及注册的截止日期和程序是什么?", "liked": true, "metadata": { "some_key": "some_value" }, "create_time": "2024-07-16T12:34:36.651846Z" }, { "id": 452075122110914560, "role": "assistant", "content": "您可以通过学校的在线系统注册课程,截止日期为每学期的最后一周。", "liked": false, "metadata": { "some_key": "some_value" }, "create_time": "2024-07-16T12:35:00.123456Z" } // 更多历史记录 ], "code": 1, "msg": null, "ok": true }
通用能力
本节介绍一些通用能力接口,用于实现重写、文件处理、在线辅导、YouTube 信息查询、搜索、建议及名人查询等功能。
rewrite
用于对用户输入内容进行重写,示例请求如下:
{
"chat_id": "483307863913861120",
"type": "general",
"provider": "siliconflow",
"model": "deepseek-ai/DeepSeek-V3",
"rewrite": true,
"previous_question_id": "483308651331522560",
"previous_answer_id": "483308164662235136",
"messages": [
{
"role": "user",
"content": "我是李通 帮我填一下这文件"
}
],
"stream": true
}
file
用于处理文件相关请求,示例请求如下:
{
"chat_id": "486526811028639744",
"messages": [],
"model": "deepseek-v3",
"provider": "volcengine",
"type": "general",
"stream": true,
"file_ids": ["486523763188379648"]
}
tutor
用于辅导相关问答,示例请求如下:
{
"chat_id": "490485297164648448",
"type": "tutor",
"provider": "volcengine",
"model": "deepseek-v3",
"messages": [
{
"role": "user",
"content": "When is the last day of sjsu"
}
],
"stream": true
}
youtube
首消息示例:
{ "chat_id": "490478322053439488", "type": "youtube", "args": { "url": "https://www.youtube.com/watch?v=Q-l-qfM1cEI" }, "messages": [ { "role": "user", "content": "解释一下视频内容" } ], "stream": true }
追问消息示例:
{ "chat_id": "490485509258018816", "type": "youtube", "messages": [ { "role": "user", "content": "视频封面和标题是什么?里面没有作者信息吗?" } ], "stream": true }
youtube summary
{
"chat_id": "490825086888157184",
"type": "youtube",
"cmd": "summary",
"args": {
"url": "https://www.youtube.com/watch?v=Q-l-qfM1cEI"
},
"messages": [],
"stream": true
}
search
用于搜索查询相关内容,示例请求如下:
{
"chat_id": "485054371897335808",
"messages": [
{
"role": "user",
"content": "How is Tong Li"
}
],
"model": "deepseek-r1",
"provider": "volcengine",
"type": "search",
"stream": true
}
advise
用于给出学习或选课建议,示例请求如下:
{
"chat_id": "488723434463805441",
"messages": [
{
"role": "user",
"content": "I am a 4th year business administration entrepreneurship student pursuing a BS, what classes should I take my last semester"
}
],
"model": "deepseek-r1",
"provider": "volcengine",
"type": "advise",
"stream": true,
"school_id": 881
}
celebrity
用于查询名人信息,示例请求如下:
接收消息:
{ "chat_id": "489061136933552128", "type": "celebrity", "provider": "volcengine", "model": "deepseek-r1", "args": { "name": "Corey Chapman", "institution": "Bowie State University" }, "stream": true }
追问消息:发送时将
type
设置为general
。