上篇文章中我们使用AnythingLLM成功在本地部署了DeepSeek的本地知识库,并且上传了几个文件让DeepSeek学习,可点击查看:
然而我们写程序的时候都需要api去调用它,别急AnythingLLM有自带的api接口,我们先打开AnythingLLM.
一、申请API密钥
打开AnythingLLM的设置界面
打开API密钥工具,并点击生成新的API密钥
创建API密钥
将密钥复制下来保存好(建议写到备忘录中)
通过切换控制台刷新一下就会出来了
二、查看API文档
在API密钥中找到阅读API文档
在Authorize中输入刚刚复制的API密钥
找到/v1/workspace/{slug}/chat
填写要是有工作区的名字
这里简单讲解几个key / value
message:你要问的问题,中英都可以。
mode: 单选chat、query
query(查询):除非有来自vectorDB的相关来源,否则不会使用LLM,并且不会回忆聊天记录。chat(聊天):使用LLM的一般知识,使用自定义嵌入生成输出,使用滚动聊天记录。
sessionId:标识符用于对聊天进行分区
这是我的Body:
{
"message": "你知道sp标准病人的培养应该有哪些条件?",
"mode": "chat",
"sessionId": "123456"
}
编辑好后就可以点击Execute发送了
这里可以看到已经成功回答了,并且带有sessionId方便让它结合上下文回答
也可以看到也是查询了上篇上传的文本的
三、使用ApiFox或Postman调用API
结合api文档中整理出curl:
curl -X 'POST' \
'http://localhost:3001/api/v1/workspace/deepseek/chat' \
-H 'accept: application/json' \
-H 'Authorization: Bearer ZGDZF17-D7XMV0M-KHF84KV-8XGB5NR' \
-H 'Content-Type: application/json' \
-d '{
"message": "你知道sp标准病人的培养应该有哪些条件?",
"mode": "chat",
"sessionId": "123456789"
}'
将url输入后,先添加3个请求头:
accept: application/json
Authorization: Bearer ZGDZF17-D7XMV0M-KHF84KV-8XGB5NR
Content-Type: application/json
添加请求体:
可以看到正常返回了,其中textResponse就是回答的
<think></think>是深度思考的内容,不喜欢可以到时候直接通过字符剪切
总结:
1.申请了AnythingLLM的API密钥
2.通过API文档获取了请求的curl
3.通过apifox/postman成功进行了api调用
免责声名:
一切均严格参照开源策略,没有任何侵权意图,完全免费,本文章全由自己编写,如出现任何问题请联系我,我将删除。