乐于分享
好东西不私藏

WeKnora – 基于大模型的文档理解检索框架

WeKnora – 基于大模型的文档理解检索框架

腾讯开源的 AI 文档理解检索框架,让企业知识管理更智能。基于大语言模型实现高效、可控的文档问答流程,支持多模态文档解析、Agent模式和混合检索策略。

📌 项目介绍

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

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

官网: https://weknora.weixin.qq.com

🏗️ 架构设计

WeKnora 采用现代化模块化设计,构建了一条完整的文档理解与检索流水线。系统主要包括文档解析、向量化处理、检索引擎和大模型推理等核心模块,每个组件均可灵活配置与扩展。

架构特点: 全流程解耦设计,支持从解析、嵌入、召回到生成的全链路自定义扩展。

🎯 核心特性

🤖 Agent模式

支持ReACT Agent模式,可调用内置工具检索知识库、MCP工具和网络搜索

🔍 精准理解

支持 PDF、Word、图片等文档的结构化内容提取,统一构建语义视图

🧠 智能推理

借助大语言模型理解文档上下文与用户意图,支持精准问答与多轮对话

📚 多类型知识库

支持FAQ和文档两种类型知识库,支持文件夹导入、URL导入、标签管理

🔧 灵活扩展

从解析、嵌入、召回到生成全流程解耦,便于灵活集成与定制扩展

⚡ 高效检索

混合多种检索策略:关键词、向量、知识图谱,支持跨知识库检索

🌐 网络搜索

支持可扩展的网络搜索引擎,内置DuckDuckGo搜索引擎

🔌 MCP工具集成

支持通过MCP扩展Agent能力,内置uvx、npx启动工具,支持多种传输方式

📊 适用场景

应用场景
具体应用
核心价值
企业知识管理
内部文档检索、规章制度问答、操作手册查询
提升知识查找效率,降低培训成本
科研文献分析
论文检索、研究报告分析、学术资料整理
加速文献调研,辅助研究决策
产品技术支持
产品手册问答、技术文档检索、故障排查
提升客户服务质量,减少技术支持负担
法律合规审查
合同条款检索、法规政策查询、案例分析
提高合规效率,降低法律风险
医疗知识辅助
医学文献检索、诊疗指南查询、病例分析
辅助临床决策,提升诊疗质量

🧩 功能模块能力

功能模块
支持情况
说明
Agent模式
✅ ReACT Agent模式
支持使用内置工具检索知识库、MCP工具和网络搜索,跨知识库检索,多次迭代和反思
知识库类型
✅ FAQ / 文档
支持创建FAQ和文档两种类型知识库,支持文件夹导入、URL导入、标签管理和在线录入
文档格式支持
✅ PDF / Word / Txt / Markdown / 图片(含 OCR / Caption)
支持多种结构化与非结构化文档内容解析,支持图文混排与图像文字提取
模型管理
✅ 集中配置、内置模型共享
模型集中配置,知识库设置页增加模型选择,支持多租户共享内置模型
嵌入模型支持
✅ 本地模型、BGE / GTE API 等
支持自定义 embedding 模型,兼容本地部署与云端向量生成接口
向量数据库接入
✅ PostgreSQL(pgvector)、Elasticsearch
支持主流向量索引后端,可灵活切换与扩展,适配不同检索场景
检索机制
✅ BM25 / Dense Retrieve / GraphRAG
支持稠密/稀疏召回、知识图谱增强检索等多种策略,可自由组合召回-重排-生成流程
大模型集成
✅ 支持 Qwen、DeepSeek 等,思考/非思考模式切换
可接入本地大模型(如 Ollama 启动)或调用外部 API 服务,支持推理模式灵活配置

🚀 快速开始

使用 Docker 快速部署

Bash

# 拉取最新镜像docker pull weknora/weknora:latest# 运行容器docker run -d \  --name weknora \  -p 3000:3000 \  -v /path/to/data:/data \  weknora/weknora:latest

使用 Docker Compose

docker-compose.yml

version: '3'services:  weknora:    image: weknora/weknora:latest    ports:      - "3000:3000"    volumes:      - ./data:/data    environment:      - DATABASE_URL=postgresql://user:pass@postgres:5432/weknora      - REDIS_URL=redis://redis:6379    depends_on:      - postgres      - redis  postgres:    image: postgres:15    environment:      - POSTGRES_PASSWORD=pass      - POSTGRES_USER=user      - POSTGRES_DB=weknora    volumes:      - ./postgres-data:/var/lib/postgresql/data  redis:    image: redis:7-alpine

从源码构建

Bash

# 克隆仓库git clone https://github.com/Tencent/WeKnora.gitcd WeKnora# 安装依赖npm install# 配置环境变量cp .env.example .env# 编辑 .env 文件配置数据库等信息# 启动开发服务器npm run dev# 构建生产版本npm run buildnpm start

🛠️ 技术栈

  • 前端
    : React 18 + TypeScript + Vite + Tailwind CSS
  • 后端
    : Node.js + Express + TypeScript
  • 数据库
    : PostgreSQL (pgvector) / Elasticsearch
  • 向量搜索
    : 支持多种向量数据库后端
  • 大模型集成
    : 支持 OpenAI API、Azure OpenAI、Qwen、DeepSeek 等
  • 存储
    : 本地文件系统 / S3 兼容存储
  • 容器化
    : Docker + Docker Compose + Kubernetes (Helm)

📄 开源协议

WeKnora 采用 MIT 许可证,允许商业使用和修改。

🔗 项目地址

  • GitHub
    : https://github.com/Tencent/WeKnora
  • 官方网站
    : https://weknora.weixin.qq.com
  • 文档
    : https://weknora.weixin.qq.com/docs