LangBot发布v4.9.0,代号“Knowledge Without Borders”。这次更新的核心动作只有一个:把整个知识库能力从内置实现重构为插件驱动架构。官方说法是,这重新定义了LangBot里“知识”的含义。
旧架构的两个系统
![]()
在v4.9.0之前,LangBot的知识库被拆成两套独立系统。内置知识库使用Chroma作为向量数据库,嵌入模型由LangBot直接管理,文档解析、分块、索引全部写死在核心里。外部知识库则通过KnowledgeRetriever插件组件桥接Dify、RAGFlow、FastGPT等服务,只做检索,不做文档入库。
这两套系统分别放在不同界面标签下,数据模型和管理流程完全不同。带来的问题很直接:扩展性差,想换向量数据库或自定义分块策略基本没门;维护成本高,每次RAG改进都要改核心代码并发布新版本;用户体验割裂,两套知识库管理流程意味着更陡的学习曲线。
v4.9.0的四个变化
第一,统一知识库模型。内部和外部的区分被取消,所有知识库通过单一界面管理,只靠rag_engine_plugin_id区分引擎。一个列表、一个创建流程,选引擎即可。
第二,新增KnowledgeEngine组件。它取代旧的KnowledgeRetriever,接管知识库完整生命周期:文档入库,从文件解析到向量索引的完整管线;知识检索,查询时返回相关分块;文档删除,清理文档及其关联向量数据;生命周期钩子,知识库创建或删除时的回调。一个KnowledgeEngine插件对索引和检索策略拥有完整控制权,而不只是检索。
第三,Parser组件独立。文档解析被抽成单独的插件组件类型。Parser把PDF、Word、Markdown等二进制文件转成结构化文本,再交给RAG引擎做分块和索引。如果某个RAG引擎声明了DOC_PARSING能力,它可以在内部处理解析,跳过外部Parser。
第四,Host RAG API。LangBot核心不再直接执行RAG操作,但仍通过RAGRuntimeService提供基础设施,插件可以通过RPC访问。具体包括:invoke_embedding()嵌入调用,插件无需管理模型连接;vector_upsert()、vector_search()、vector_delete()向量数据库操作;get_knowledge_file_stream()文件访问,从存储读取原始文件。
这样一来,插件可以专注于RAG策略本身,比如分块算法、检索逻辑、重排序,而不用操心底层连接和存储细节。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.