跳转到内容

对话相关

创建新的对话

POST /chat/create_chat

用途:创建新对话

请求表单
参数名称数据类型默认值是否必传说明
supplierNamestringollama模型供应商名称
modelstring模型名称,示例:deepseek-R1
parametersstring要安装的参数参数规模版本,supplierName==ollama时必传
titlestring对话标题
agent_namestring智能体名称,如果不使用智能体,可不传或直接传空
响应字段说明
字段名称数据类型说明
context_idstring对话上下文ID

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"创建成功",
    "error_msg":"",
    "message":{
         "context_id":"xxxxxxxxx"
    }
}

调用搜索引擎

POST /search/search

用途:在选中联网搜索并发送对话时

请求表单
参数名称数据类型默认值是否必传说明
querystring搜索内容(通常是用户输入的内容)
searchProviderstringbaidu搜索引擎
响应字段说明
字段名称数据类型说明
titlestring标题
linkstring连接地址
contentstring正文

响应示例:

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工具调用结果

请求表单
参数名称数据类型默认值是否必传说明
supplierNamestringollama模型供应商名称
modelstring模型名称,示例:deepseek-R1
parametersstring要安装的模型参数规模版本,如:1.5b,supplierName=ollama时必传
context_idstring对话上下文ID
user_contentstring用户输入的对话内容
imagesstring图片路径,多个用逗号隔开支持的格式:jpg:.jpgjpeg:.jpegpng:.pnggif:.gifbmp:.bmpwebp:.webp
doc_filesstring文档路径,多个用逗号隔开支持的格式: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_resultsarray搜索结果,示例:[{"title": "麻婆豆腐怎么做才正宗?这关键的几步您可看好了,简单美味,三碗米饭...","link": "https://m.douyin.com/share/video/7213317945336810752","content": "麻婆豆腐怎么做才正宗?这关键的几步您可看好了,简单美味,三碗米饭不够吃!#麻婆豆腐 #美食教程 #家常菜 #美食推荐官 #艾特你的饭搭子请你吃 - 中国烹饪大师郝振江于20230322发布在抖音,已经收获了19209个喜欢,来抖音,记录美好生活!"},...]
rag_resultsarray知识库检索结果,示例:[ { "id": "bc78dd90-fa75-11ef-a96a-4b17421e6c04", "doc": "其它SSL证书\n\n1. 什么是其它 SSL 证书?\n\n当您自行在其他厂商申请 SSL 证书(如腾讯云、阿里云)并部署到宝塔面板后,面板会将该证书归类到其他证书分类,您可在面板左侧导航栏SSL模块-其他证书中查看管理,支持删除、部署、下载、上传到云端等。\n\n图片\n\n》", "docId": "bc78dd90-fa75-11ef-a96a-4b17421e6c04", "docName": "其它SSL证书.docx", "docFile": "F:\desk-top-ai\data\rag\堡塔\markdown\其它SSL证书.docx.md", "score": 0.23035039901733398, "vectorScore": 0.3290719985961914, "keywordScore": 0 }, ...]
regenerate_idstring指定ID进行重新生成,此消息之后的历史消息将全部被删除此ID从“获取对话信息”接口中history字段中获取
temp_chatstringfalse是否为临时对话:true = 是, false = 否请传字符串如果temp_chat=true,不再传递历史消息给模型,每一个问题都独立回答作用:解决ollama上下文长度不足的情况下,大模型在第二次之后的回答容易产生幻觉的问题缺点:开启后,大模型不知道你之前问过什么,也不知道之前回复过什么
compare_idstring多模型对照ID,请随机生成一个唯一值,同一轮对话都使用此值
mcp_serversarray要调用的MCP服务,允许多个,如["mcp-bt-panel","filesystem"]
响应字段说明
字段名称数据类型说明

获取指定对话的最后一条消息

POST /chat/get_last_chat_history

用途:在大模型完成回答后调用

请求表单
参数名称数据类型默认值是否必传说明
context_idstring对话上下文ID
响应字段说明
字段名称数据类型说明
idstring消息ID
rolestring角色:user|assistant|tool , user=用户输入的消息,assistant=大模型回复的消息, tool=工具回复
reasoningstring【?】思考过程,只有role=assistant时才可能有,没有则此字段不存在
contentstring消息内容
imagesarray【?】包含在消息中的图片列表,base64,没有则此字段不存在
tool_callsstring【?】模型使用的工具列表,JSON格式,没有则此字段不存在
created_atstring创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00
create_timeint创建时间,时间戳
statobject此信息的模型统计信息,详情请查看示例

响应示例:

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,
            }
}
  1. 中断生成

POST /chat/stop_generate

用途:发送对话等待响应或正在响应生成内容时,调用此接口可中断响应

请求表单
参数名称数据类型默认值是否必传说明
context_idstring对话上下文ID
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"中断成功",
    "error_msg":"",
    "message":null
}

获取对话信息

POST /chat/get_chat_info

作用:需要重新获取对话信息时,如:刷新页面、切换对话、进入历史对话等

请求表单
参数名称数据类型默认值是否必传说明
context_idstring对话上下文ID
响应字段说明
字段名称数据类型说明
context_idstring对话上下文ID
titlestring对话标题(通常是第一个问题)
historyarray历史消息,请参考:历史消息字段说明
modelstring模型名称,示例:deepseek-R1
parametersstring模型参数规模版本,如:1.5b
created_atstring创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00
create_timeint创建时间,时间戳
历史消息字段说明
字段名称数据类型说明
idstring消息ID
rolestring角色:user|assistant|tool , user=用户输入的消息,assistant=大模型回复的消息, tool=工具回复
reasoningstring【?】思考过程,只有role=assistant时才可能有,没有则此字段不存在
contentstring消息内容
imagesarray【?】包含在消息中的图片列表,base64,没有则此字段不存在
tool_callsstring【?】模型使用的工具列表,JSON格式,没有则此字段不存在
created_atstring创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00
create_timeint创建时间,时间戳
statobject此信息的模型统计信息,详情请查看示例

响应示例:

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_idstring对话上下文ID
titlestring对话标题(通常是第一个问题)
modelstring模型名称,示例:deepseek-R1
parametersstring模型参数规模版本,如:1.5b
created_atstring创建时间,格式示例:2023-08-04T08:52:19.385406455-07:00
create_timeint创建时间,时间戳

响应示例:

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_idstring对话上下文ID,多个用逗号隔开
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"删除成功",
    "error_msg":"",
    "message":null
}
  1. 修改指定对话标题

POST /chat/modify_chat_title

作用:删除对话

请求表单
参数名称数据类型默认值是否必传说明
context_idstring对话上下文ID
titlestring新的对话标题
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"修改成功",
    "error_msg":"",
    "message":null
}

获取分享列表

POST /share/get_share_list

作用:分享对话窗口

请求表单
参数名称数据类型默认值是否必传说明
响应字段说明
字段名称数据类型说明
share_idstring分享ID
titlestring标题
urlstring公网URL地址
modelstring模型名称,示例:deepseek-R1
parametersstring模型参数规模版本,如:1.5b
passwordstring分享密码,可为空
chatsarray对话列表
create_timeint创建时间

响应示例:

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
                        },
                       ...
                    ]
                }
                ...
            ]
        }
        ...
    ]
}