ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何让公司文档变成能提问的私有知识库:用 WeKnora 从 0 到上线的完整路径

如何让公司文档变成能提问的私有知识库:用 WeKnora 从 0 到上线的完整路径 如何让公司文档变成能提问的私有知识库用 WeKnora 从 0 到上线的完整路径【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora你手上有几百份 PDF、Word、语雀和 Wiki但每次想找差旅报销上限是多少这种信息都得翻半天文件夹、开一堆文档、靠记忆拼答案。WeKnora 私有知识库做的事情就是把这些散落的文档变成一套可以像聊天一样提问的 RAG 问答系统——你问一句它给出答案并附上出处。下面带你先把它跑起来再讲清楚它内部是怎么把一份文档变成一个回答的。先跑起来3 步在你自己的电脑上跑通WeKnora 依赖很少你只需要装好Docker、Docker Compose 和 Git这三样不需要自己配数据库、向量库或 Python 环境这些都被打包进容器里了。最短的体验路径大致是三步第一步把代码取下来并准备好一份本地配置文件git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env.env里大部分是注释说明你先不用改保持默认即可。第二步拉取官方镜像。WeKnora 由前端界面、后端服务、文档解析器docreader、PostgreSQL 和 Redis 等容器组成镜像名都写在仓库根目录的docker-compose.yml里docker compose pull第三步启动并打开浏览器docker compose up -d启动后访问http://localhost就能看到 Web 界面后端 API 在http://localhost:8080。第一次进来你会做三件事注册管理员账号、在设置里配置一个可用的大语言模型支持 OpenAI、DeepSeek、通义千问、Ollama 等本地模型可以直接跑、然后新建一个知识库并上传第一份文档。传完文档等解析完成你就可以在问答框里对着自己刚上传的资料提问了——到这里跑起来这件事就完成了。几个常用的可选开关按需再加即可# 想要知识图谱依赖 Neo4j docker compose --profile neo4j up -d # 想要链路追踪依赖 Langfuse docker compose --profile langfuse up -d它是怎么做到的一份文档如何变成一次回答先看整体结构。WeKnora 把输入 → 加工 → 存储 → 查询 → 生成拆成了几层上面是各种入口Web 界面、API、IM 机器人、MCP 服务器中间是文档加工和推理引擎下面是 PostgreSQL、向量数据库、对象存储和 Redis旁边再挂上模型厂商、网络搜索和外部数据源。把这张图读成一条链路大概是这样的。数据进去。你上传一份文档后它先进入独立的文档解析服务docreader。解析器按文件类型分派PDF、Word、Excel、PPT、EPUB、Markdown、图片、网页……每类都有自己的解析逻辑代码集中在docreader/parser/目录下。图片里的文字会走 OCR 识别扫描件也能被读出来。变成小块。解析得到的纯文本会被分块。这一步很关键因为 RAG 不是把整篇文档塞给大模型而是把文档切成适合检索的小片段。WeKnora 用一套自适应分块策略先对文档做个画像看它是 Markdown 风格、PDF 风格还是纯叙述体再决定按标题切、按段落切还是按固定长度递归切切完还会校验结果有没有切坏。分块的策略与实现位于internal/infrastructure/chunker/。存成索引。每个小片段会算出一个向量embedding连同它的元数据来自哪份文档、哪个知识库、哪个文件夹一起写进向量库。默认的向量库就是 PostgreSQL 的 pgvector 扩展也支持 Milvus、Qdrant、Weaviate、Elasticsearch 等。原文和文件则落在对象存储里。这样语义索引 可回查原文就都备好了。查询进来。你问一句话系统先做查询理解可能改写你的问题、拆出关键词。然后进入混合检索——同时用稀疏检索BM25 关键词匹配和稠密检索向量语义匹配两条路去捞候选片段再叠加知识图谱里已经抽好的实体关系。检索的融合逻辑在internal/application/service/knowledgebase_search.go一带。重排并生成。候选片段会经过一个重排序rerank模型按相关度重新打分挑出最相关的前几条连同你的问题一起交给大模型生成最终回答并把这句话来自哪份文档的引用一并标出来。整条链路你其实不用手写代码但理解它之后你就知道答得准不准主要由哪几步决定解析全不全、分块合不合理、检索捞得准不准、重排挑得好不好。能力深潜四个直接决定答案质量的地方混合检索关键词和语义一起捞再用重排压轴能帮你做什么单靠向量检索遇到报销上限第 42 条这种很具体的词容易漏单靠关键词遇到上次那个方案这种说法又抓不到。混合检索把两条路的结果融合起来召回更全最后再由重排序模型把最相关的顶到最前面。它是怎么实现的系统会先把你这句问题算成向量去向量库做近邻召回同时用关键词路做 BM25 召回如果开了知识图谱还会把图谱里相邻的实体片段拉进来。三路结果在一个融合函数里合并去重再交给 rerank 模型打分排序。检索与融合的主逻辑集中在internal/application/service/knowledgebase_search.go融合细节在internal/application/service/knowledgebase_search_fusion.go。自适应分块先读懂文档再决定怎么切能帮你做什么切得太碎上下文断了答案支离破碎切得太大一个片段里混着不相关的内容检索反而变差。自适应分块让你不用手动调每个参数。它是怎么实现的上传时先跑一个文档画像统计标题数量、分页符、章节标记、分隔线这些结构信号然后从按标题切 → 按 PDF 结构切 → 递归按长度切这条链里挑最合适的层级切完还有个校验器发现切坏了比如 200 个单行块就自动退回下一级。Markdown 风格的块还会在嵌入时补上顶部 小节这样的面包屑让模型知道这段话属于哪个章节。这套策略与切分器在internal/infrastructure/chunker/对应的说明文档是docs/CHUNKING.md里面写清了默认值为什么选 512 字符、什么时候该调。知识图谱让相关不再只靠字面能帮你做什么文档里两个概念可能隔着几十页字面上不挨着但业务上是关联的。知识图谱把实体和关系抽出来让检索能顺着关系把相关段落一起带出来回答的广度明显提升。它是怎么实现的开启后需要 Neo4jdocker compose --profile neo4j up -d系统会在解析阶段用大模型抽取文档里的实体和关系存进图谱检索时再查图谱补全相关片段。配置说明在docs/KnowledgeGraph.md抽取与图构建逻辑主要在internal/application/service/graph.go一带。Wiki 模式把问答沉淀成可维护的知识页能帮你做什么除了一问一答WeKnora 还能让 Agent 从你的原始文档里自动生成一套互相链接的 Markdown Wiki 页面支持人工编辑、版本历史、逐行 diff 和一键回滚。相当于让知识库自己长出一份结构化的说明而不只是临时的回答。它是怎么实现的这是 Agent 运行时里的一个技能方向工具实现散在internal/agent/下的 wiki 相关工具读源文档、改页面、维护链接等。你既可以直接问也可以让它整理、修订、回滚这些 Wiki 页面。落地场景谁在用、在什么情况下、解决什么场景一企业内部制度问答。一家公司把报销、考勤、差旅、采购制度等几十份 Word 和网页文档传进同一个知识库员工在企业微信或 Web 里直接问出差住宿标准是多少系统给出答案并标注出处。这里混合检索很关键因为制度类文档里数字和条款名都很具体纯语义检索容易漏掉精确条款。场景二客服 FAQ。产品团队把历史工单、帮助文档、常见问题导入配成 FAQ 型知识库。对这类一问一答、答案很短的内容把分块调小200–400 字符、重叠设为 0效果更好答案直接命中减少客服重复回答。场景三研究与培训的自助学习。研究员或新员工把论文、讲义、内部培训材料建库用问答方式边读边问还可以开 Wiki 模式让它把零散笔记整理成一份结构化的学习页。回答里的引用让你能顺藤摸瓜回到原文。收尾WeKnora 的价值是把文档堆变成能提问、有出处、可持续维护的私有知识库——解析、分块、混合检索、重排和生成这条链路你都可以在自己的机器上完整跑起来并且每一步都换得动、调得动。想继续深入可以从这三个入口下手完整产品文档website-docs/按入门 → 架构 → 功能 → API → 客户端 → 开发六个板块组织可直接本地起站点预览后端核心源码internal/application/service/检索与知识服务与internal/agent/推理与工具配置样例仓库根目录的docker-compose.yml服务编排与config/config.yaml应用配置【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表