对话相关
创建新的对话
POST /chat/create_chat
用途:创建新对话
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
supplierName | string | ollama | 否 | 模型供应商名称 |
model | string | 是 | 模型名称,示例:deepseek-R1 | |
parameters | string | 是 | 要安装的参数参数规模版本,supplierName==ollama时必传 | |
title | string | 是 | 对话标题 | |
agent_name | string | 否 | 智能体名称,如果不使用智能体,可不传或直接传空 |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
context_id | string | 对话上下文ID |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"创建成功",
"error_msg":"",
"message":{
"context_id":"xxxxxxxxx"
}
}
调用搜索引擎
POST /search/search
用途:在选中联网搜索并发送对话时
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
query | string | 是 | 搜索内容(通常是用户输入的内容) | |
searchProvider | string | baidu | 否 | 搜索引擎 |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
title | string | 标题 |
link | string | 连接地址 |
content | string | 正文 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"搜索成功",
"error_msg":"",
"message":[
{
"title": "麻婆豆腐怎么做才正宗?这关键的几步您可看好了,简单美味,三碗米饭...",
"link": "https://m.douyin.com/share/video/7213317945336810752",
"content": "麻婆豆腐怎么做才正宗?这关键的几步您可看好了,简单美味,三碗米饭不够吃!#麻婆豆腐 #美食教程 #家常菜 #美食推荐官 #艾特你的饭搭子请你吃 - 中国烹饪大师郝振江于20230322发布在抖音,已经收获了19209个喜欢,来抖音,记录美好生活!"
},
...
]
}
发送对话消息
POST /chat/chat
用途:创建对话后,发送对话内容
PS:此接口为流式响应,响应类型为text/plain
PS:标签内的为MCP工具调用结果
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
supplierName | string | ollama | 否 | 模型供应商名称 |
model | string | 是 | 模型名称,示例:deepseek-R1 | |
parameters | string | 是 | 要安装的模型参数规模版本,如:1.5b,supplierName=ollama时必传 | |
context_id | string | 是 | 对话上下文ID | |
user_content | string | 是 | 用户输入的对话内容 | |
images | string | 否 | 图片路径,多个用逗号隔开支持的格式:jpg:.jpgjpeg:.jpegpng:.pnggif:.gifbmp:.bmpwebp:.webp | |
doc_files | string | 否 | 文档路径,多个用逗号隔开支持的格式:Word文档:docx:.docxdoc:.doc表格类型:xlsx:.xlsxxls:.xlscsv:.csv演示文稿类型:pptx:.pptxppt:.pptPDF 文件:.pdf网页文件:html:.htmlhtm:.htm图片类型:(仅识别中文和英文)jpg:.jpgjpeg:.jpegpng:.pnggif:.gifbmp:.bmpwebp:.webpMarkdown 文件:md:.mdmarkdown:.markdown纯文本文件:txt:.txtlog:.log | |
search_results | array | 否 | 搜索结果,示例:[{"title": "麻婆豆腐怎么做才正宗?这关键的几步您可看好了,简单美味,三碗米饭...","link": "https://m.douyin.com/share/video/7213317945336810752","content": "麻婆豆腐怎么做才正宗?这关键的几步您可看好了,简单美味,三碗米饭不够吃!#麻婆豆腐 #美食教程 #家常菜 #美食推荐官 #艾特你的饭搭子请你吃 - 中国烹饪大师郝振江于20230322发布在抖音,已经收获了19209个喜欢,来抖音,记录美好生活!"},...] | |
rag_results | array | 否 | 知识库检索结果,示例:[ { "id": "bc78dd90-fa75-11ef-a96a-4b17421e6c04", "doc": "其它SSL证书\n\n1. 什么是其它 SSL 证书?\n\n当您自行在其他厂商申请 SSL 证书(如腾讯云、阿里云)并部署到宝塔面板后,面板会将该证书归类到其他证书分类,您可在面板左侧导航栏SSL模块-其他证书中查看管理,支持删除、部署、下载、上传到云端等。\n\n![]() | |
regenerate_id | string | 否 | 指定ID进行重新生成,此消息之后的历史消息将全部被删除此ID从“获取对话信息”接口中history字段中获取 | |
temp_chat | string | false | 否 | 是否为临时对话:true = 是, false = 否请传字符串如果temp_chat=true,不再传递历史消息给模型,每一个问题都独立回答作用:解决ollama上下文长度不足的情况下,大模型在第二次之后的回答容易产生幻觉的问题缺点:开启后,大模型不知道你之前问过什么,也不知道之前回复过什么 |
compare_id | string | 否 | 多模型对照ID,请随机生成一个唯一值,同一轮对话都使用此值 | |
mcp_servers | array | 否 | 要调用的MCP服务,允许多个,如["mcp-bt-panel","filesystem"] |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
获取指定对话的最后一条消息
POST /chat/get_last_chat_history
用途:在大模型完成回答后调用
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
context_id | string | 是 | 对话上下文ID |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
id | string | 消息ID |
role | string | 角色:user|assistant|tool , user=用户输入的消息,assistant=大模型回复的消息, tool=工具回复 |
reasoning | string | 【?】思考过程,只有role=assistant时才可能有,没有则此字段不存在 |
content | string | 消息内容 |
images | array | 【?】包含在消息中的图片列表,base64,没有则此字段不存在 |
tool_calls | string | 【?】模型使用的工具列表,JSON格式,没有则此字段不存在 |
created_at | string | 创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00 |
create_time | int | 创建时间,时间戳 |
stat | object | 此信息的模型统计信息,详情请查看示例 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"获取成功",
"error_msg":"",
"message":{
"id": "xxxxxxxxxxx",
"stat": {
// 所使用的模型名称,指定为 deepseek-r1 系列的 14b 版本模型
"model":"deepseek-r1:14b",
// 模型创建的时间,遵循 ISO 8601 标准格式,精确到纳秒
"created_at":"2025-02-11T09:34:25.6977786Z",
// 整个操作流程的总耗时,单位为秒
"total_duration":25.3098628,
// 模型加载所耗费的时间,单位为毫秒
"load_duration":18.9324,
// 输入tokens数
"prompt_eval_count":1235,
// 对输入信息进行评估所花费的时间,单位为毫秒
"prompt_eval_duration":455,
// 整个生成过程的总tokens开销
"eval_count":1455,
// 整个生成过程所花费的总时间,单位为秒
"eval_duration":24.477
},
"role": "assistant",
"reasoning": "<think></think>"
"content": "你好,我是xxx",
"created_at": "2023-08-04T08:52:19.385406455-07:00",
"create_time": 1112231231,
}
}
中断生成
POST /chat/stop_generate
用途:发送对话等待响应或正在响应生成内容时,调用此接口可中断响应
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
context_id | string | 是 | 对话上下文ID |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"中断成功",
"error_msg":"",
"message":null
}
获取对话信息
POST /chat/get_chat_info
作用:需要重新获取对话信息时,如:刷新页面、切换对话、进入历史对话等
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
context_id | string | 是 | 对话上下文ID |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
context_id | string | 对话上下文ID |
title | string | 对话标题(通常是第一个问题) |
history | array | 历史消息,请参考:历史消息字段说明 |
model | string | 模型名称,示例:deepseek-R1 |
parameters | string | 模型参数规模版本,如:1.5b |
created_at | string | 创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00 |
create_time | int | 创建时间,时间戳 |
历史消息字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
id | string | 消息ID |
role | string | 角色:user|assistant|tool , user=用户输入的消息,assistant=大模型回复的消息, tool=工具回复 |
reasoning | string | 【?】思考过程,只有role=assistant时才可能有,没有则此字段不存在 |
content | string | 消息内容 |
images | array | 【?】包含在消息中的图片列表,base64,没有则此字段不存在 |
tool_calls | string | 【?】模型使用的工具列表,JSON格式,没有则此字段不存在 |
created_at | string | 创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00 |
create_time | int | 创建时间,时间戳 |
stat | object | 此信息的模型统计信息,详情请查看示例 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"获取成功",
"error_msg":"",
"message":{
"context_id": "xxxxxxxxx",
"title": "你好",
"model": "deepseek-R1",
"parameters": "1.5b",
"created_at": "2023-08-04T08:52:19.385406455-07:00",
"create_time": 1112231231,
"history": [
{
"id": "xxxxxxxxxx",
"role": "user",
"content": "你好",
"created_at": "2023-08-04T08:52:19.385406455-07:00",
"create_time": 1112231231,
"stat": {
// 所使用的模型名称,指定为 deepseek-r1 系列的 14b 版本模型
"model":"deepseek-r1:14b",
// 模型创建的时间,遵循 ISO 8601 标准格式,精确到纳秒
"created_at":"2025-02-11T09:34:25.6977786Z",
// 整个操作流程的总耗时,单位为秒
"total_duration":25.3098628,
// 模型加载所耗费的时间,单位为毫秒
"load_duration":18.9324,
// 输入tokens数
"prompt_eval_count":1235,
// 对输入信息进行评估所花费的时间,单位为毫秒
"prompt_eval_duration":455,
// 整个生成过程的总tokens开销
"eval_count":1455,
// 整个生成过程所花费的总时间,单位为秒
"eval_duration":24.477
},
},
{
"id": "xxxxxxxxxxx",
"role": "assistant",
"reasoning": "<think></think>"
"content": "你好,我是xxx",
"created_at": "2023-08-04T08:52:19.385406455-07:00",
"create_time": 1112231231,
"stat": {
// 所使用的模型名称,指定为 deepseek-r1 系列的 14b 版本模型
"model":"deepseek-r1:14b",
// 模型创建的时间,遵循 ISO 8601 标准格式,精确到纳秒
"created_at":"2025-02-11T09:34:25.6977786Z",
// 整个操作流程的总耗时,单位为秒
"total_duration":25.3098628,
// 模型加载所耗费的时间,单位为毫秒
"load_duration":18.9324,
// 输入tokens数
"prompt_eval_count":1235,
// 对输入信息进行评估所花费的时间,单位为毫秒
"prompt_eval_duration":455,
// 整个生成过程的总tokens开销
"eval_count":1455,
// 整个生成过程所花费的总时间,单位为秒
"eval_duration":24.477
},
},
...
]
}
}
获取历史对话列表
POST /chat/get_chat_list
作用:需要重新获取对话列表时,如:刷新页面、创建新对话,删除对话等
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
context_id | string | 对话上下文ID |
title | string | 对话标题(通常是第一个问题) |
model | string | 模型名称,示例:deepseek-R1 |
parameters | string | 模型参数规模版本,如:1.5b |
created_at | string | 创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00 |
create_time | int | 创建时间,时间戳 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"获取成功",
"error_msg":"",
"message":[
{
"context_id": "xxxxxxxxx",
"title": "你好",
"model": "deepseek-R1",
"parameters": "1.5b",
"created_at": "2023-08-04T08:52:19.385406455-07:00",
"create_time": 1112231231,
}
]
}
删除指定对话
POST /chat/remove_chat
作用:删除对话
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
context_id | string | 是 | 对话上下文ID,多个用逗号隔开 |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"删除成功",
"error_msg":"",
"message":null
}
修改指定对话标题
POST /chat/modify_chat_title
作用:删除对话
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
context_id | string | 是 | 对话上下文ID | |
title | string | 是 | 新的对话标题 |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
响应示例:
JSON
{
"status":0,
"code":200,
"msg":"修改成功",
"error_msg":"",
"message":null
}
获取分享列表
POST /share/get_share_list
作用:分享对话窗口
请求表单 | ||||
---|---|---|---|---|
参数名称 | 数据类型 | 默认值 | 是否必传 | 说明 |
响应字段说明 | ||
---|---|---|
字段名称 | 数据类型 | 说明 |
share_id | string | 分享ID |
title | string | 标题 |
url | string | 公网URL地址 |
model | string | 模型名称,示例:deepseek-R1 |
parameters | string | 模型参数规模版本,如:1.5b |
password | string | 分享密码,可为空 |
chats | array | 对话列表 |
create_time | int | 创建时间 |
响应示例:
JSON
{
"status": 0,
"code": 200,
"msg": "分享列表获取成功",
"error_msg": "",
"message": [
{
"share_id": "5ab88c20-eda7-11ef-a7aa-bdbc32fa6cba",
"model": "deepseek-r1",
"parameters": "14b",
"title": "测试",
"password": "",
"url": "https://share.aingdesk.com/5nyxWm/5ab88c20-eda7-11ef-a7aa-bdbc32fa6cba",
"chats": [
{
"shareId": "5ab88c20-eda7-11ef-a7aa-bdbc32fa6cba",
"contextId": "a0a8be70-ee5c-11ef-8282-1f22922be40b",
"model": "deepseek-r1",
"parameters": "14b",
"create_time": 1739926707,
"update_time": 1739926707,
"history": [
{
"id": "0f991851-ee5f-11ef-b95f-b7344121b57b",
"role": "user",
"reasoning": "",
"stat": {},
"content": "写一篇500字的文章,题目:爸爸和妈妈",
"images": [],
"tool_calls": "",
"created_at": "",
"create_time": 1739927752,
"tokens": 19
},
{
"id": "0f991850-ee5f-11ef-b95f-b7344121b57b",
"role": "assistant",
"reasoning": "<think>\n嗯,用户让我写一篇关于“爸爸和妈妈”的500字文章。首先,我得考虑这个题目的重点是什么。可能用户希望突出父母之间的关系,或者他们各自的特质。\n\n接下来,我应该分析用户的需求。也许这是一个学生作业,或者是想表达对父母的爱。考虑到是学生,可能需要结构清晰、有情感的文章。\n\n然后,我得思考文章的结构。开头可以引出爸爸和妈妈的不同之处,中间部分分别描述他们的性格、互动以及孩子们如何从中受益,结尾总结他们的关系的重要性。\n\n在内容上,我可以举一些例子,比如爸爸严厉而理性,妈妈温柔而感性,他们在教育孩子上的不同方式,但又互补合作。这样能展示他们各自的优点和相互支持的关系。\n\n语言方面,要保持温暖和真诚,避免过于正式或生硬。用一些具体的细节会让文章更生动,比如提到一起做饭、讨论孩子的情况等场景。\n\n最后,确保文章长度大约500字,不要太长或太短。检查一下有没有跑题,是否紧扣主题,表达对父母关系的赞美和理解。\n</think>\n",
"stat": {
"model": "deepseek-r1:14b",
"created_at": "2025-02-19T01:16:02.4710549Z",
"total_duration": 10.1908624,
"load_duration": 20.0953,
"prompt_eval_count": 16,
"prompt_eval_duration": 13,
"eval_count": 599,
"eval_duration": 10.156
},
"content": "\n## 爸爸妈妈:爱的不同表达\n \n 在我眼中,爸爸妈妈就像两颗独特的星星,各自散发着不同的光芒。爸爸总是像一位严谨的学者,他的话语充满逻辑与理性,用独特的方式教会我面对困难时要冷静思考;而妈妈则如同一位温柔的诗人,她的情感细腻而丰富,在我困惑时给予我温暖的慰藉。\n \n 爸爸的爱就像一本厚重的书,需要我们用心去细细品味。他的教育方式看似严厉,实则是对我的严格要求和殷切期望。每当我在学习上遇到难题,爸爸总是耐心地引导我一步步分析问题,教会我用理性的眼光看待世界。而妈妈的爱则像一首优美的诗,她用细腻的心思关注着我的喜怒哀乐,在我受伤时轻轻拥抱着我,用温柔抚慰我的心灵。\n \n 爸爸妈妈虽然表达爱的方式不同,但他们都在用自己的方式守护着这个家。爸爸在工作上认真负责,用坚实的肩膀撑起家庭的重担;妈妈则在家里营造出温暖和睦的氛围,让每个平凡的日子都充满爱意。他们的互补与合作让我感受到一种独特的家庭教育魅力。\n \n 生活中,我常常看到他们互相理解、彼此包容。当意见不同时,爸爸会用理性的方式表达自己的想法,而妈妈则会以温柔的态度化解可能的冲突。这种相处模式教会了我如何在不同观点中找到平衡,在理性与感性之间寻找最适合的解决之道。\n \n 爸爸和妈妈就像生活中的左右手,看似分工不同,实则是最佳拍档。他们的爱让我感受到不一样的成长力量,也让我明白了爱可以有不同的表达方式,但每一种都同样温暖而重要。",
"images": [],
"tool_calls": "",
"created_at": "2025-02-19T01:16:02.4710549Z",
"create_time": 1739927762,
"tokens": 0
},
...
]
}
...
]
}
...
]
}