diff --git a/docs/changelog/update.md b/docs/changelog/update.md index 81c4ae2c..3b40c750 100644 --- a/docs/changelog/update.md +++ b/docs/changelog/update.md @@ -27,3 +27,17 @@ - [ ] 对话页面支持文档/图片临时上传(🌟🌟🌟🌟) - [ ] 优化对文档信息的检索展示(检索结果页、详情页) + +TODO1:知识库页面的文档信息的查看(检索结果页、详情页) + +根据这个模糊的分析,判断一下这个需求应该如何实现,务必阅读所有相关的文献,包括但不限于当前代码中,保存文本片段的时候所保存的信息是否支撑功能的实现,当某些需求无法实现的时候,能否采用退而求其次的方法实现略差一些的功能(不要过度增加代码的复杂度)。 + +模糊的需求如下:先实现在 FileTable.vue, FileDetailModal.vue 中,点击文件详情按钮,能够弹出文件详情的弹窗,显示的方法有两种,一种是以现在的 chunk 的形式展示,一种是以 markdown渲染全文的形式,但是存在 overlap 拼接的问题。 + +关于全文 Markdown 的获取:目前 Milvus、Chroma 知识库里面没有存储 fulltext,需要对现有的 chunk 片段做合并,但是因为存在 overlap,所以需要想办法去除 overlap。如果有 start_idx 和 end_idx 就好办了(不一定有这两个参数)。请注意,直接读取源文件的方法是错的,因为源文件并不全是 markdown 格式,可能是 html、pdf 等结构文件,因此,只能想办法拼接,而不是尝试读取文件。项目中已经安装了 md-editor-v3 ,可以参考 AgentMessageComponent.vue 中对于 markdown 的渲染。 + +先告诉我你要如何实现这些功能,重点实现的是 milvus db 和 chroma db ,lightrag db 尽量实现,实现不了也没事。相关的上下文如下 knowledge_router.py knowledge_base.py DataBaseInfoView.vue。 + +TODO2:检索以及知识库工具调用情况下的片段展示 + +result 中可以按照 file_id 聚合信息;信息的展示以结果卡片的形式展示,卡片之间有间隔,卡片中可以选择点击查看全文或者下载原文件。下载源文件需要根据 file_id 可以从后端获取文件的基本信息,比如可下载的路径,chunks 等信息;在 @web/src/components/ToolCallingResult/KnowledgeBaseResult.vue 文件中,添加点击某个片段的时候可以弹出信息预览框(最好可以提供源文件下载的功能)这里可以复用 FileDetailModal.vue 组件。 \ No newline at end of file