ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

5条命令跑通WeKnora本地知识问答:私有RAG知识库快速搭建

5条命令跑通WeKnora本地知识问答:私有RAG知识库快速搭建 5条命令跑通WeKnora本地知识问答私有RAG知识库快速搭建【免费下载链接】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你手上有一堆产品手册、内部制度同事提问时一条条翻文档回答很累。把它们丢进开源项目 WeKnora它会自动解析、向量化并能带引用地回答提问全程跑在你自己的机器上数据不出内网。下面带你完成一次从本地部署、接入 Ollama 到文档导入、首次提问的完整流程。 5条命令启动先看到知识库界面这节能帮你在10分钟内把 WeKnora 跑起来得到一个能直接打开的网页界面。前置条件只有一个宿主机装好 Docker 和 Docker Compose。然后克隆代码并启动git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env docker compose pull docker compose up -d启动后浏览器打开http://localhost会落在注册页。WeKnora 没有内置账号首次注册会自动建一个工作空间你直接是这个空间的 Owner。用curl http://localhost:8080/health能返回{status:ok}说明后端就绪。想接本地 Ollama 模型的话先把模型拉下来1个对话模型 1个向量模型ollama pull qwen3:8b ollama pull bge-m3硬件怎么估参考下面这张表官方建议标准 Docker 部署 4核CPU / 8GB内存起步docreader 解析容器较吃内存部署形态建议配置适合场景Docker Compose 标准部署4核 / 8GB 内存起步团队自托管默认推荐Lite 单二进制更低配置的机器个人、离线、低资源环境 一张图看懂 WeKnora 的工作方式这节用大白话讲清你上传文档后数据去了哪里之后排查问题时就不会迷路。默认部署是4个容器分工frontendNginx端口80管页面并把/api/请求反代给后端app端口8080是主后端负责问答编排和索引管理docreader 走 gRPC 专门解析文档PDF、Word 的版式识别都发生在它里面代码在 docreader 解析服务数据层是 ParadeDB带向量能力的 PostgreSQL加 Redis前者存分块和向量后者跑异步任务队列。提问时的路径是你的问题先走混合检索向量召回 BM25 关键词召回两路结果融合后交给大模型组织答案回答里会带可点击的引用。模型层既接本地 Ollama也接任意 OpenAI 兼容的远程服务Ollama 客户端实现在 internal/models/chat/ollama.go。 建库到提问完整走一遍这节按操作顺序演示一次真实闭环建库、配模型、导入文档、提问看引用每步都能在网页界面完成。第1步在「知识库」页点新建填名称类型选document普通文档库或faq问答对库。第2步在初始化向导里为这个库选模型对话模型负责生成回答向量模型负责把文档转成向量。注意向量模型建库后不要换换了要重建索引。选 Ollama 时点「测试」确认连通再保存。第3步进入知识库上传文档。支持 PDF、Word、Excel、PPT、Markdown、HTML、EPUB、图片等格式。上传后解析异步进行状态依次是pending → processing → finalizing → completed列表页实时刷进度等它变completed再提问。第4步进对话页选中刚才的知识库直接提问。默认的「快速问答」Agent 会先检索相关片段再作答引用点一下能跳回原文想处理多步推理的问题可以切到「智能推理」Agent。如果习惯命令行每一步都有对应接口统一前缀/api/v1前端 Nginx 会代理。下面这段走通核心链路可直接复制BASEhttp://localhost/api/v1 TOKEN$(curl -s -X POST $BASE/auth/login -H Content-Type: application/json \ -d {email:adminexample.com,password:pass123456} | jq -r .token) AUTHAuthorization: Bearer $TOKEN KB_ID$(curl -s -X POST $BASE/knowledge-bases -H $AUTH -H Content-Type: application/json \ -d {name:公司文档,type:document} | jq -r .data.id) curl -s -X POST $BASE/initialization/initialize/$KB_ID -H $AUTH -H Content-Type: application/json \ -d {llm:{source:local,modelName:qwen3:8b},embedding:{source:local,modelName:bge-m3,dimension:1024},rerank:{enabled:false},multimodal:{enabled:false},documentSplitting:{chunkSize:512,chunkOverlap:50},nodeExtract:{enabled:false},questionGeneration:{enabled:false}} curl -s -X POST $BASE/knowledge-bases/$KB_ID/knowledge/file -H $AUTH -F file./manual.pdf SESSION_ID$(curl -s -X POST $BASE/sessions -H $AUTH -H Content-Type: application/json \ -d {title:第一次对话} | jq -r .data.id) curl -N -X POST $BASE/knowledge-chat/$SESSION_ID -H $AUTH -H Content-Type: application/json \ -d {query:总结这份文档的要点,knowledge_base_ids:[$KB_ID]} 新手期最容易踩的5个坑这节把新手阶段出现频率最高的5类报错讲清楚每个按「现象→原因→解决」三句话交代完。坑1Ollama 检测不到模型。现象是初始化向导里本地模型一直连不上、列表为空。原因是 WeKnora 后端跑在容器里容器内的localhost不是你的宿主机。解决地址填http://host.docker.internal:11434.env里OLLAMA_BASE_URL的默认值就是这个Linux 上确认host.docker.internal能解析即可。坑2文档一直卡在 processing。现象是上传半小时状态仍不变成 completed。原因是解析在独立的 docreader 容器里进行扫描件和大文件天然慢且受MAX_FILE_SIZE_MB默认50MB限制。解决docker logs WeKnora-docreader看它卡在哪一步超大文件先拆分再传。坑3回答没引用或答非所问。现象是提问后引用区为空、内容泛泛。原因通常是解析还没 completed 就去提问或向量模型和建库时不一致导致检索对不上。解决确认所有文档解析完成且不要在已有文档的库里换 embedding 模型。坑4http://localhost打不开。现象是启动成功但浏览器拒绝连接。原因是宿主机80或8080端口已被其他服务占用。解决在.env里改FRONTEND_PORT或APP_PORT再执行docker compose up -d。坑5compose 启动直接报错。现象是docker compose up -d提示 env_file 相关错误。原因是 app 服务声明了读取.env文件不存在时编排解析直接失败。解决先执行cp .env.example .env再启动这也是上面5条命令里第3条的作用。 想深入时看哪里这节给你几个入口按需求各取所需部署形态与配置项安装部署文档、配置详解API 全链路参考快速上手含 curl 完整链路与三种认证方式、API 文档问题排查常见问题排查【免费下载链接】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),仅供参考
返回列表