你是否曾为了一份深藏在PDF角落的产品参数或对比几份技术手册的差异,花费数天时间大海捞针?面对动辄上百页的合同或学术论文,明知答案就在其中,却苦于无从下手?
现在,腾讯开源的WeKnora项目为这类难题提供了智能化的解决方案。它是一个基于大语言模型(LLM)的文档理解与语义搜索框架,专为处理结构复杂、格式多样的文档而生。通过为文档“装上大脑”,它能让你从繁琐的“手动翻找”彻底转变为高效的“开口就问”。目前,该项目在 GitHub 上已收获超过1.1万Star,获得了开发者社区的广泛关注。
简介
WeKnora 是一款基于大语言模型(LLM)的文档理解与语义搜索框架,专为结构复杂、内容丰富的文档场景而打造。
框架采用分层架构,融合了多模态分割、语义认知索引、智能感知与大模型生成推理,构建了一套高效、可控的文档问答流程。其核心基于 RAG(检索增强生成)技术,通过结合检索到的上下文相关片段与大语言模型的生成能力,实现了更高质量、更准确的语义问答。
核心特征
- Agent模式:支持 ReACT Agent 模式,可调用内置工具检索知识库、MCP工具和进行网络搜索,通过多次迭代和反思给出全面总结报告。
- 精准理解:支持 PDF、Word、图片等文档的结构化内容提取,统一构建语义视图。
- 智能推理:借助大语言模型理解文档上下文与用户意图,支持精准问答与多轮对话。
- 多类型知识库:支持 FAQ(问答型)和文档型两种知识库,支持文件夹导入、URL导入、标签管理和在线录入。
- 灵活扩展:从文档解析、嵌入、召回到答案生成全流程解耦,便于灵活集成与定制扩展。
- 高效检索:混合多种检索策略,包括关键词、向量、知识图谱检索,并支持跨知识库检索。
- 网络搜索:支持可扩展的网络搜索引擎,内置 DuckDuckGo 搜索引擎。
- MCP工具集成:支持通过 MCP(Model Context Protocol)扩展 Agent 能力,内置 uvx、npx 启动工具,支持多种传输方式。
- 对话策略:支持配置 Agent 模型、普通模式模型、检索阈值和 Prompt,精确控制多轮对话行为。
- 简单易用:提供直观的 Web 界面与标准 API,零技术门槛即可快速上手。
- 安全可控:支持本地化与私有云部署,保障数据完全自主可控。
技术架构
WeKnora 采用现代化的模块化架构,将文档理解与检索的流水线清晰地解耦为以下几个层次:
- 文档处理层:负责多格式文档(PDF, Word, 图片等)的解析与预处理。
- 知识建模层:通过向量化、分块、知识图谱等技术,为文档内容构建深度的语义化知识表示。
- 检索引擎层:创新性地融合了关键词、向量、知识图谱等多种检索策略,确保信息召回既高效又精准。
- 推理生成层:利用 大语言模型 进行深度语义理解和答案生成,并在此基础上集成了强大的 Agent 推理能力。
- 交互展示层:提供直观的 Web 管理界面和标准化的 REST API。
这种设计带来了极大的灵活性。你可以根据需求自由组合不同的检索策略、大语言模型(支持 Ollama,可灵活切换 Qwen、DeepSeek 等主流模型)以及向量数据库。同时,全链路的设计也保障了系统的可控性,支持完全私有化部署,确保数据安全。
从 v0.1.3 版本开始,系统还增加了登录认证功能。官方强烈建议将服务部署在内网环境,并配置好防火墙,以进一步保障安全。
快速开始
环境要求
确保本地已安装以下工具:
- Docker
- Docker Compose
- Git
安装步骤
① 克隆代码仓库
# 克隆主仓库
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
② 配置环境变量
# 复制示例配置文件
cp .env.example .env
# 编辑 .env,填入对应配置信息
# 所有变量说明详见 .env.example 注释
③ 启动服务 (含 Ollama)
检查 .env 文件中需要启动的镜像。
./scripts/start_all.sh
或者
make start-all
④ 停止服务
./scripts/start_all.sh --stop
# 或
make stop-all
服务访问地址
启动成功后,可访问以下地址:
- Web UI:
http://localhost
- 后端 API:
http://localhost:8080
- 链路追踪(Jaeger):
http://localhost:16686
功能展示
Web UI 界面
知识库管理

对话设置

Agent模式工具调用过程

开源地址
https://github.com/Tencent/WeKnora
WeKnora 的出现,为企业和开发者处理非结构化文档提供了强大的工具。无论是构建企业内部知识库、智能客服系统,还是进行学术文献分析,它都能显著提升信息检索和利用的效率。对这类 技术文档 处理与智能问答技术感兴趣的朋友,不妨访问 云栈社区 获取更多相关资源和讨论。
|