1.摘要
WeKnora(维娜拉)是腾讯开源的一款面向复杂异构文档场景的大语言模型驱动的文档理解与语义检索框架。该框架采用模块化设计,集成了多模态预处理、语义向量索引、智能检索以及大模型生成推理等核心能力,构建了一套高效且可控的文档问答系统。
其核心定位是打造一个生产就绪的企业级RAG(检索增强生成)平台,支持私有化部署,保障企业数据的完全自主与安全可控。
2.docker部署
git clone https://gitcode.com/GitHub_Trending/we/WeKnora&&cd WeKnora# 启动所有Docker服务组件./scripts/start_all.sh# 该脚本支持多种参数,如:# -a, --all:启动所有服务(默认)# -d, --docker:仅启动Docker容器服务# -o, --ollama:仅启动Ollama服务# -s, --stop:停止所有服务# 启动成功后,您可以通过以下地址访问服务:# 前端界面:http://localhost:${FRONTEND_PORT:-80}# API接口:http://localhost:${APP_PORT:-8080}# Jaeger链路追踪:http://localhost:166863.配置文件
cat .env
关键配置项包括:
- DB_DRIVER:数据库驱动类型
- STORAGE_TYPE:存储类型
- OLLAMA_BASE_URL:Ollama服务地址
- APP_PORT:应用端口
- FRONTEND_PORT:前端端口
4.项目结构
WeKnora/├── cmd/# 应用程序入口│ └── server/│ └── main.go# 主服务启动文件├── internal/# 核心业务逻辑(私有包)│ ├── application/# 应用层│ │ ├── service/# 业务服务实现│ │ └── repository/# 数据访问层│ ├── config/# 配置管理│ ├── container/# 依赖注入容器│ ├── handler/# HTTP处理器│ ├── middleware/# 中间件│ ├── models/# AI模型集成│ ├── router/# 路由配置│ ├── types/# 类型定义│ └── utils/# 工具函数├── services/# 微服务实现│ └── docreader/# 文档解析服务(Python gRPC)├── frontend/# 前端应用(Vue.js)├── config/# 配置文件├── migrations/# 数据库迁移脚本├── client/# Go客户端SDK├── mcp-server/# MCP协议服务器└── docs/# 项目文档5.登入页面
6.注册
7.登入后页面
8.设置大模型-API key
9.设置本地Ollama模型
Ollama可以选择部署