最终实现
-
我们能够通过前端上传 pdf 进行知识库的更新
-
我们可以通过 自然语言询问 文章里面的内容 。 并且更新对应的内容
-
同样我们可以重新上传文章进行更新


细节
大体框架
- 我们提供了一个 KnowLedgeHandle 其中 . 介绍 我们这个 Handle 是做什么内容的
|
|
这个Handle 对应3个 Tool
-
KnowledgeQA 用于进行 RAG 回答问题
-
KnowledgePatch 部分更新 vector 中的内容
-
KnowledgeUpdate 更新全量的文章

knowledgeQa
我们看一下 knowledgeQa 这里做的内容
-
获取 Store 也就是获取我们的 Redis CLi
-
后去其中的 Content 内容 。并且存入到 qa 里面 。 这里使用了 RAG 相似度匹配
-
然后去询问 AI
整个流程大致这样,相似度匹配也是框架帮我们做的事
|
|
KnowledgeUPdate
KnowledgeUPdate 就好像是一个 Python 脚本,可以看作想是一个skills
不过这里还是有几点需要注意的
-
Param . 我们可以看到 Update 在操作之前解析了参数 path,name,time . 这几个参数从哪里来?
-
我们上传完文件之后会传入到 放入到 memory 中
|
|
然后框架会自动 把 memory 挂载到 history 中 。 从而模型就能够看到这部分memory
|
|
- 通过 PDFprocess 解析pdf文件 然后通过 redis 重新更新 Vector
|
|
遗留问题
-
memory 的实现
-
多个Handle共用memory
- 方案 : chatid = uid + busienss_type 根据业务进行区分