你有没有这样的困扰?为了找一个躺在某个PDF角落里的产品参数,或者为了对比几份技术手册里的差异,花了好几天时间;又或者,你是否经历过,面对一份上百页的合同或科研论文,明明知道答案就在里面,却感觉像是在大海捞针?

今天给大家推荐一款腾讯开源的基于大模型的文档理解检索框架——WeKnora,可以给这些结构复杂、格式各异的文档“装上大脑”,让你能从“手动翻找”彻底变为“开口就问”,目前该项目在GitHub上已经收获超12k star,反响非常不错!

01 简介

WeKnora(是一款基于大语言模型(LLM)的文档理解与语义搜索框架,专为结构复杂、内容丰富的文档场景而打造。

框架采用模型架构,融合多模态分割、语义认知索引、智能感知与大模型生成推理,构建高效、可控的文档问答流程。基于RAG(Retrieval-Augmented Generation)的核心搜索流程,将上下文相关片段与语言模型结合,实现更高质量的语义回答。

02 核心特征

  • Agent模式: 支持ReACT Agent模式,可调用内置工具检索知识库、MCP工具和网络搜索,通过多次迭代和反思给出全面总结报告
  • 精准理解: 支持 PDF、Word、图片等文档的结构化内容提取,统一构建语义视图
  • 智能推理: 借助大语言模型理解文档上下文与用户意图,支持精准问答与多轮对话
  • 多类型知识库: 支持FAQ和文档两种类型知识库,支持文件夹导入、URL导入、标签管理和在线录入
  • 灵活扩展: 从解析、嵌入、召回到生成全流程解耦,便于灵活集成与定制扩展
  • 效检索: 混合多种检索策略:关键词、向量、知识图谱,支持跨知识库检索
  • 网络搜索: 支持可扩展的网络搜索引擎,内置DuckDuckGo搜索引擎
  • MCP工具集成: 支持通过MCP扩展Agent能力,内置uvx、npx启动工具,支持多种传输方式
  • 对话策略: 支持配置Agent模型、普通模式模型、检索阈值和Prompt,精确控制多轮对话行为
  • 简单易用: 直观的Web界面与标准API,零技术门槛快速上手
  • 安全可控: 支持本地化与私有云部署,数据完全自主可控

03 技术架构

WeKnora 采用现代化的模块化架构,将文档理解与检索流水线清晰解耦。这主要包括:

  • 文档处理层: 负责多格式文档(PDF, Word, 图片等)的解析与预处理。
  • 知识建模层: 通过向量化、分块、知识图谱等技术,为内容构建深度的知识表示。
  • 检索引擎层: 创新性地融合了关键词、向量、知识图谱等多种检索策略,确保召回既高效又精准。
  • 推理生成层: 利用大语言模型进行深度理解和答案生成,并在此之上集成了Agent推理能力。
  • 交互展示层: 提供直观的Web界面和标准API。

这种设计带来了极大的灵活性。你可以自由组合检索策略、大模型(支持 Ollama,可灵活切换 Qwen、DeepSeek 等主流模型)和向量数据库。同时,全链路的设计也保障了可控性,支持私有化部署,数据完全自主。

从 v0.1.3 开始,系统还增加了登录认证功能,官方强烈建议将服务部署在内网环境,并配置好防火墙,以保障安全。

04 快速开始

环境要求

确保本地已安装以下工具:

  • Docker
  • Docker Compose
  • Git

安装步骤

1、克隆代码仓库

# 克隆主仓库git clone https://github.com/Tencent/WeKnora.gitcd WeKnora

2、配置环境变量

# 复制示例配置文件cp .env.example .env# 编辑 .env,填入对应配置信息# 所有变量说明详见 .env.example 注释

3、启动服务 (含 Ollama)

检查 .env 文件中需要启动的镜像。或者

./scripts/start_all.sh

或者

make start-all

4、停止服务

./scripts/start_all.sh --stop# 或make stop-all

服务访问地址

启动成功后,可访问以下地址:

  • Web UI:http://localhost
  • 后端 API:http://localhost:8080
  • 链路追踪(Jaeger):http://localhost:16686

05 功能展示

  • Web UI 界面
  • 知识库管理

打开网易新闻 查看精彩图片

  • 对话设置

打开网易新闻 查看精彩图片

打开网易新闻 查看精彩图片

06 开源地址

开源地址:https://github.com/Tencent/WeKnora