ANNA工作室头像
关注
安装自己的个人免费知识库-MoreLogic RAG 个人免费版封面图

安装自己的个人免费知识库-MoreLogic RAG 个人免费版

安装自己的个人免费知识库-MoreLogic RAG 个人免费版

MoreLogic RAG 个人免费版 · 安装与配置指南

版本:1.5.7.D
日期:2026 年 9 月
许可证:Apache License 2.0


一、个人免费版介绍

MoreLogic RAG 个人免费版是一套完全私有化、纯 CPU 可运行的本地知识助手。它能读取你自己的 PDF、Markdown、TXT、HTML 文档,用自然语言提问,基于文档内容给出带来源的回答。

免责声明

所有数据、所有运算,都在你自己的电脑上完成,不依赖任何外部云服务。

  1. 本工具为中立技术产品,不审查用户索引的文档内容。
    用户须自行确保所索引文档的合法性。
    因索引无版权或非法内容引发的责任,因用户索引、处理、传播无版权或非法内容所引发的任何法律责任、纠纷或损失,由用户自行承担。
    开发者、贡献者及分发者不承担由此产生的任何直接或间接责任。
    This tool is content-neutral. Users are solely responsible for ensuring they have the legal right to index and process any documents. The developers assume no liability for any illegal or unauthorized use of this software.

  2. 使用本产品生成的内容,请自行核实,不作为任何专业建议,仅供参考。
    The result produced by MoreLogic RAG is AI-generated, for reference only.

仓库

https://gitcode.com/sakura_sea/morelogic_rag_free.git
https://gitee.com/waterruby_admin/morelogic_rag_free.git

核心特点

在这里插入图片描述

特点说明
完全本地数据不出内网,断网也能用
纯 CPU 可跑8GB 内存 + 4 核 CPU,无需显卡
中英双语中文问英文答,英文问中文答
流式输出回答逐字显示,体验流畅
来源可追溯每条回答附参考片段
Apache 2.0可安全商用,无隐藏条款

支持的文件格式

.txt.md.pdf.html.htm

技术栈

组件
文档解析pypdf、BeautifulSoup4
嵌入BGE-M3 ONNX INT8(约 558MB)
向量索引FAISS(CPU 版)
稀疏检索BM25(rank-bm25)
生成Ollama + Qwen2.5-1.5B-Instruct
框架FastAPI + Uvicorn
前端(可选)Open WebUI

使用范围

个人免费版面向个人本地单用户使用。不建议部署到服务器供多用户访问。


二、系统要求

硬件最低配置

组件最低推荐
CPU4 核8 核
内存8 GB16 GB
磁盘15 GB 可用25 GB 可用
GPU不需要不需要

软件环境

组件版本说明
操作系统Ubuntu 20.04+ / Windows 10+ / macOS 11+都支持
Python3.11 或 3.12不要用 3.13
Ollama最新版本地 LLM 运行时
pip最新版Python 包管理

三、安装步骤

第 1 步:安装 Python

Ubuntu / Debian:

sudo apt update
sudo apt install -y python3.11 python3.11-venv python3-pip
python3.11 --version

Windows:

  1. 访问 https://www.python.org/downloads/release/python-3119/
  2. 下载 Python 3.11 安装包(不要选 3.13)
  3. 安装时勾选 Add Python to PATH
  4. 打开 PowerShell,输入 python --version 确认

macOS:

brew install [email protected]
python3.11 --version

第 2 步:安装 Ollama

Ubuntu / macOS:

curl -fsSL https://ollama.com/install.sh | sh

Windows:

  1. 访问 https://ollama.com/download
  2. 下载 OllamaSetup.exe
  3. 双击安装

验证:

ollama --version

第 3 步:下载 LLM 模型

ollama pull qwen2.5:1.5b-instruct

模型约 0.92 GB。验证:

ollama list

第 4 步:获取 MoreLogic RAG 源码

mkdir -p ~/morelogic-rag
cd ~/morelogic-rag
# 下载仓库源码,或下载压缩包并解压

第 5 步:创建并激活 Python 虚拟环境

cd ~/morelogic-rag
python3.11 -m venv venv

激活命令:

终端命令
Linux / macOSsource venv/bin/activate
Windows CMDvenv\Scripts\activate.bat
Windows PowerShell.\venv\Scripts\Activate.ps1
Windows Git Bashsource venv/Scripts/activate

Windows PowerShell 报“禁止运行脚本”

以管理员身份打开 PowerShell,运行一次:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

第 6 步:安装 Python 依赖

pip install --upgrade pip
pip install -r requirements.txt
pip install sentencepiece

第 7 步:下载 BGE-M3 ONNX INT8 模型

设置镜像加速:

export HF_ENDPOINT=https://hf-mirror.com

下载模型:

# ONNX INT8 模型
hf download gpahal/bge-m3-onnx-int8 \
  --local-dir ./models/bge-m3-onnx-int8 \
  --resume-download

# Tokenizer(必须包含 sentencepiece.bpe.model)
hf download BAAI/bge-m3 \
  --include sentencepiece.bpe.model tokenizer.json tokenizer_config.json special_tokens_map.json \
  --local-dir ./models/bge-m3-tokenizer \
  --resume-download

验证:

ls ./models/bge-m3-onnx-int8/      # 应有 model_quantized.onnx
ls ./models/bge-m3-tokenizer/      # 应有 sentencepiece.bpe.model

第 8 步:准备你的文档

mkdir -p ./docs
# 把 PDF / Markdown / TXT / HTML 文件复制到 ./docs/

支持子目录,系统会递归扫描。

第 9 步:构建索引

python -u build_index.py \
  --data_dir ./docs \
  --bge_model ./models/bge-m3-onnx-int8 \
  --bge_tokenizer ./models/bge-m3-tokenizer \
  --index_path ./index.pkl

预期输出:

[1/4] 加载文档...
✅ 加载完成: 8532 个句子,来自 42 个文件
[2/4] 构建 BM25 索引...
✅ BM25 索引完成
[3/4] 加载 BGE-M3 ONNX 编码器...
✅ 编码器加载完成,维度 = 1024
[4/4] 编码句子 + 构建 FAISS 索引...
✅ 索引保存成功!文件大小: 25.3 MB

耗时参考(纯 CPU):

句子数耗时
3 千约 10 分钟
1.5 万约 45 分钟
30 万2-3 小时

跑索引时不要关终端,不要休眠。

第 10 步:启动 API 服务

python run.py --host 0.0.0.0 --port 8000

预期输出:

INFO:     Started server process [12345]
INFO:     Uvicorn running on http://0.0.0.0:8000
INFO:     Application startup complete.

第 11 步:验证服务

另开一个终端:

curl http://localhost:8000/health

应返回:

{"status":"ok","version":"1.0.0-free","ollama_model":"qwen2.5:1.5b-instruct"}

第 12 步:测试问答

python test_api.py "如何用R语言导入CSV文件" --stream

看到流式回答和参考片段即成功。


四、配置详解

配置文件 config.json

{
    "index_path": "./index.pkl",
    "bge_model_path": "./models/bge-m3-onnx-int8",
    "bge_tokenizer_path": "./models/bge-m3-tokenizer",
    "ollama_url": "http://localhost:11434/api/generate",
    "ollama_model": "qwen2.5:1.5b-instruct",
    "max_new_tokens": 2048,
    "num_ctx": 8192,
    "data_dir": "./docs",
    "debug": false
}
字段说明默认值
index_path索引文件路径./index.pkl
bge_model_pathBGE-M3 ONNX 模型目录./models/bge-m3-onnx-int8
bge_tokenizer_pathTokenizer 目录./models/bge-m3-tokenizer
ollama_urlOllama API 地址http://localhost:11434/api/generate
ollama_modelOllama 模型名(必须与 ollama list 一致)qwen2.5:1.5b-instruct
max_new_tokens最大生成长度2048
num_ctx上下文窗口8192
data_dir文档目录./docs
debug调试日志false

五、接入 Open WebUI(可选)

Open WebUI 是一个漂亮的聊天界面,让 MoreLogic RAG 用起来像 ChatGPT。

5.1 安装 Open WebUI

方式 A:Docker(推荐)

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

方式 B:pip 安装

pip install open-webui
open-webui serve

5.2 配置 Pipe 函数

  1. 浏览器打开 http://localhost:3000
  2. 注册第一个账号(自动成为管理员)
  3. 进入 管理员面板 → 函数
  4. 点击 新建函数,类型选 Pipe
  5. 粘贴 Pipe 代码,保存并启用
  6. Valves 里确认 ANNA_API_URL 为:
http://host.docker.internal:8000/v1/chat/completions

如果 Open WebUI 和 MoreLogic RAG 不在同一台机器,把 host.docker.internal 换成 MoreLogic RAG 所在机器的 IP。

  1. 在聊天界面选择模型 MoreLogic RAG 个人版,开始提问

六、日常维护

6.1 更新文档

# 1. 把新文档放入 ./docs/
# 2. 重建索引
rm ./index.pkl
python -u build_index.py \
  --data_dir ./docs \
  --bge_model ./models/bge-m3-onnx-int8 \
  --bge_tokenizer ./models/bge-m3-tokenizer \
  --index_path ./index.pkl

# 3. 重启服务
pkill -f "api_server:app"
python run.py --host 0.0.0.0 --port 8000

6.2 更换 LLM 模型

ollama pull qwen2.5:3b-instruct
# 修改 config.json 的 ollama_model
# 重启服务(不用重建索引)

6.3 备份与恢复

# 备份
tar -czf morelogic-backup-$(date +%Y%m%d).tar.gz \
  ./docs ./config.json ./models ./index.pkl

# 恢复
tar -xzf morelogic-backup-20260921.tar.gz

6.4 查看日志

# 实时日志
tail -f morelogic.log

# 最近 100 行
tail -n 100 morelogic.log

七、常见问题

Q1: Windows PowerShell 激活 venv 失败

.\venv\Scripts\Activate.ps1

如果报“禁止运行脚本”:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Q2: pip install open-webui 失败

Python 3.13 不支持。换 3.11/3.12,或用 Docker。

Q3: 加载 tokenizer 报 sentencepiece 相关错误

pip install sentencepiece

如果报 AttributeError: 'NoneType' object has no attribute 'endswith',说明缺 sentencepiece.bpe.model

hf download BAAI/bge-m3 --include sentencepiece.bpe.model --local-dir ./models/bge-m3-tokenizer

Q4: ONNX 编码报 KeyError: 'last_hidden_state'

onnx_encoder.py 已自动探测输出名,确保用最新版。

Q5: 索引构建极慢

onnx_encoder.py 已开满 CPU 线程,indexer.py 已设 batch=64。如果还慢,减少文档数量。

Q6: Ollama 连接失败

curl http://localhost:11434/api/tags
# 如果没跑
ollama serve

Q7: 中文回答混入英文

1.5B 模型对语言约束服从性弱。换 qwen2.5:7b

Q8: PDF 解析为空

扫描版 PDF 没有文本层,个人免费版不做 OCR。用 OCR 工具预处理,或换文本版。

Q9: 端口 8000 被占用

python run.py --host 0.0.0.0 --port 8001

Q10: 如何完全卸载

pkill -f "api_server:app"
docker stop open-webui && docker rm open-webui
ollama rm qwen2.5:1.5b-instruct
rm -rf ~/morelogic-rag

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/Logical_t/article/details/166256621

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--