
OpenAI助手 API与聊天机器人集成 API:打造智能互动体验
自从发了 当我把公众号作为知识库塞进了智能体后后,有人问我,只能拿自己的公众号?能不能拿别人的公众号信息?我想去年朋友分享给我的ima,我想腾讯的云宝和元器都接入了DeepSeek,ima是不是也接入了,打开一看果然没让我失望。
直接在线搜索总结
除了在线搜索总结,还有本地知识库操作,下面重点讲解下本地知识库。
我们在输入框里输入知识链接,直接回车。
其实你会发现就是包了一个浏览器。我们主要关注两个地方
1,浏览器的地址,我们可以复制粘贴进去替换浏览
2,点击右上角加入个人知识库
我把dify官网的部署文档添加到个人知识库,对应的链接:https://docs.dify.ai/getting-started/install-self-hosted/docker-compose
添加完成以后可以在个人知识库里看到对应的知识。每个链接都是一个知识。
1,选择对应的知识右上角的..
2,点击编辑标签
1,手动给知识设置标签difye
2,点击确定
1,在个人知识库下方的输入框里,输入# 会弹出标签,选择我们刚标记的标签difye
2,选择deepseek模型
我在英文知识库里通过提问根据知识库内容,帮我整理一篇中文部署dify的文档
大家看下下面的效果。
生成的内容还算可以,当然结果我没有验证过。
我把dify官方外部知识库api文档拿过来,添加到知识库中。
https://docs.dify.ai/zh-hans/guides/knowledge-base/connect-external-knowledge-base
https://docs.dify.ai/zh-hans/guides/knowledge-base/external-knowledge-api-documentation
添加到知识库中,并打上标签。
提问内容
根据知识库文档中的接口规范,使用python帮我生成对应的接口,并能够接入到dify中作为外部数据库
大家看下生成的代码,略微调整就可以使用。
from flask import Flask, request, jsonify
import os
app = Flask(__name__)
# 配置参数
API_KEYS = {"your-api-key": True} # 预定义有效API Keys
KNOWLEDGE_BASES = {
"your-knowledge-id": [
{
"content": "Dify:GenAI 应用程序的创新引擎",[1](@ref)
"score": 0.98,
"title": "Dify 简介",
"metadata": {
"path": "s3://dify/knowledge.txt",
"description": "dify 知识文档"[1](@ref)
}
}
]
}
@app.route('/retrieval', methods=['POST'])
def retrieval():
# 验证Authorization头
auth_header = request.headers.get('Authorization')
ifnot auth_header:
return jsonify({
"error_code": 1001,
"error_msg": "无效的 Authorization 头格式"[1](@ref)
}), 403
try:
scheme, api_key = auth_header.split()
if scheme.lower() != 'bearer':
raise ValueError
except:
return jsonify({
"error_code": 1001,
"error_msg": "无效的 Authorization 头格式"[1](@ref)
}), 403
if api_key notin API_KEYS:
return jsonify({
"error_code": 1002,
"error_msg": "授权失败"[1](@ref)
}), 403
# 解析请求体
data = request.get_json()
ifnot data:
return jsonify({
"error_code": 2001,
"error_msg": "请求体格式错误"
}), 400
# 验证必需字段
required_fields = ['knowledge_id', 'query', 'retrieval_setting']
for field in required_fields:
if field notin data:
return jsonify({
"error_code": 2001,
"error_msg": f"缺失必需字段: {field}"[1](@ref)
}), 400
knowledge_id = data['knowledge_id']
if knowledge_id notin KNOWLEDGE_BASES:
return jsonify({
"error_code": 2001,
"error_msg": "知识库不存在"[1](@ref)
}), 404
# 执行检索逻辑(示例逻辑)
top_k = data['retrieval_setting'].get('top_k', 3)
score_threshold = data['retrieval_setting'].get('score_threshold', 0.5)
filtered_records = [
r for r in KNOWLEDGE_BASES[knowledge_id]
if r['score'] >= score_threshold
][:top_k]
return jsonify({"records": filtered_records})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
在看下让他生成springboot的代码。
看下推理过程,以及生成的代码,基本上都可以适当改下,就可以使用。
我们以前在公众号中看到感兴趣的内容怎么办?
1,收藏,根据72小时原则,基本上就忘了
2,转发到自己的文件助手里
现在还有一种,就是直接添加到ima知识库中。
1, 点击文章的右上角...
2,点击在小程序工具中打开
点击一键存入到ima知识库
然后怎么使用,不用我在说了吧(手动打标,知识库提问)
ima不仅可以收藏url,还可以添加文件,看提示支持pdf.doc、jpg、png等。
1,点击左侧打开知识库
2, 点击个人知识库
3,点击上传文件
打开以后文件类型直接过滤了。
我分别上传了一张图片和pdf,
使用deepseek查询图片效果
使用混元模型查询图片效果
使用deepseek总结pdf
它会结合文档,然后加上自己的推理。
使用混元模型总结pdf
混元就是把文档梳理了下。
用知识库提问是有技巧的,你是让他整理,还是推导,还是检索。这个提示词就很关键。
提示词用不好会出现:
ima内部设置了一些提示词,当问题文档未提及时应拒答。
万能提示词结构
基于知识库里的___
帮我___
用于__
每次使用的时候,如果没有关联,就清除上下文,防止上下文关联清除位置如图所示。
1, 在线联网版是每次提问以后,都是先搜索再梳理,参考的内容不固定,设置你不知道它参考了什么
2,ima是你指定内容投喂
3,ima是对问题回答做了限定的,参考提示词
1, 此知识库可以用于存储个人碎片时间看到的文章,然后通过提示词让他汇总分析一些知识
2,此知识库不建议存储个人敏感信息
3,如果我把代码模板整理成知识库,是不是可以根据我的代码风格快速生成代码了,留着后续尝试。
目前元宝、元器、ima、微信里的搜索(灰度中)都接入了deepseek。以后好用的工具会越来越多。
文章转载自: 个人神级知识库DeepSeek+ima 个人学习神器