Skip to main content

FANUC RAG Knowledge Base — pluggable retrieval + SAG hybrid search + OKF concepts

Project description

FANUC RAG 知识库

190 份 FANUC 工业机器人技术文档 → 20 万+ 向量 → 自然语言问答

快速开始

# 1. 克隆仓库
git clone https://github.com/Ikalus1988/self-grow-wiki.git
cd self-grow-wiki

# 2. 安装依赖
python3 -m venv ~/mkdocs-env
source ~/mkdocs-env/bin/activate
pip install -r requirements.txt

# 3. 准备向量库(二选一)
# 方式A: 从PDF重建(需要PDF源文件,耗时30-60分钟)
python3 scripts/import/rag_builder.py --input /path/to/pdf/

# 方式B: 迁移已有向量库(3.0G,秒级)
# 将 rag_chromadb/ 目录放到 ~/rag_chromadb/

# 4. 修改配置
# 编辑 rag_core.py 中的向量库路径
# CHROMA_PATH = "/你的路径/rag_chromadb"

# 5. 启动服务
chmod +x start_rag.sh
./start_rag.sh

服务端口

服务 端口 说明
RAG Web UI 7860 Gradio 问答界面
管理面板 7861 Gradio 管理后台
RAG API 8002 FastAPI HTTP 接口
Ollama 11434 本地 LLM 兜底

目录结构

self-grow-wiki/
├── rag_core.py              # 核心检索+生成
├── rag_web.py               # Gradio Web UI
├── rag_api.py               # FastAPI HTTP API
├── rag_admin.py             # 管理面板
├── rag_feedback_card.py     # 反馈卡片
├── start_rag.sh             # 一键启动脚本
├── auto_flywheel.py         # 自动飞轮
├── daily_audit.py           # 每日巡检
├── badcase_review.py        # Badcase 审核
├── kb_learning.py           # 自学习模块
├── synonyms.json            # 同义词表
├── requirements.txt         # Python 依赖
├── wxauto_bot.py            # 微信机器人(旧版)
├── wxauto_bot/
│   └── bot.py               # 微信机器人(v7,推荐)
├── scripts/
│   ├── import/              # PDF 导入工具
│   │   ├── rag_builder.py       # 批量导入
│   │   ├── rag_builder_ocr.py   # OCR 增强导入
│   │   ├── rag_import_fanuc.py  # FANUC 专用导入
│   │   └── import_batch.py      # 批量导入
│   ├── audit/               # 审计工具
│   │   ├── audit_chunks_p1.py
│   │   ├── audit_exam_p2.py
│   │   ├── audit_pdf_chunk_p3.py
│   │   └── audit_pdf_chunk_v2.py
│   ├── exam/                # 试卷生成
│   │   ├── gen_exam.py
│   │   ├── gen_exam_c.py
│   │   ├── gen_exam_c_v2.py
│   │   └── gen_exam_v2.py
│   ├── docs/                # 文档工具
│   │   ├── doc_classifier.py
│   │   ├── doc_verify.py
│   │   ├── doc_verify_v2.py
│   │   ├── generate_mkdocs.py
│   │   └── graph_to_obsidian.py
│   ├── kb_selfcheck.py      # 知识库自检
│   ├── rag_phase2_semantic_tag.py
│   └── rag_phase2b_refine.py
├── lessons/                 # Lessons(供 MisakaNet 使用)
└── tests/                   # 测试

核心功能

检索增强

能力 说明
语义搜索 + BM25 混合检索 RRF 融合,兼顾语义和关键词
报警代码规范化 SRVO-023 / SRVO023 / SRVO-023 全匹配
型号系列强制召回 M-900 / R-2000iC 系列文档不遗漏
品牌过滤 查询含 FANUC 时自动排除 KUKA/ABB 文档
同义词扩展 49 组同义词自动扩展查询
多问题拆分 "A 和 B 的区别" 自动拆分分别检索

LLM 四通道容灾

优先级 模型 来源 响应时间
1 MiMo-V2-Flash Mify 内网 ~1.5s
2 MiMo-V2-Pro Mify 内网 ~0.5s
3 DeepSeek-Chat DeepSeek API ~2s
4 Qwen2.5:3b Ollama 本地 ~50s

质量保证

  • 每日自动巡检 — cron 6:00,抽样 7-8 题,通过率 >=90% 为合格
  • 入库质检门禁 — 新 PDF 入库前自动检查污染/重复/二进制残留
  • 自学习飞轮 — 巡检失败 -> badcase -> 审核 -> 同义词 -> 检索增强

迁移指南

最小迁移(推荐)

# 只需迁移代码仓库(git clone 即可)
git clone https://github.com/Ikalus1988/self-grow-wiki.git

# 向量库从 PDF 重建
pip install -r requirements.txt
python3 scripts/import/rag_builder.py --input /path/to/pdf/

完整迁移(保留已有向量库)

# 1. 代码仓库
git clone https://github.com/Ikalus1988/self-grow-wiki.git

# 2. 向量库(3.0G)
# 从原服务器打包
tar czf rag_chromadb.tar.gz ~/rag_chromadb/
# 传输到新服务器解压
tar xzf rag_chromadb.tar.gz -C ~/

# 3. 修改配置
# 编辑 rag_core.py 中 CHROMA_PATH 为新路径

# 4. 启动
./start_rag.sh

飞书机器人配置

飞书接入通过 Hermes Gateway 处理,配置在 ~/.hermes/.env

FEISHU_APP_ID=你的AppID
FEISHU_APP_SECRET=你的AppSecret
FEISHU_CONNECTION_MODE=websocket
FEISHU_HOME_CHANNEL=群组ID
FEISHU_GROUP_ALLOWED_CHATS=群组ID1,群组ID2
FEISHU_ALLOWED_USERS=用户ID1,用户ID2

修改飞书入口:

  1. 复用现有 App — 只需复制 .env 到新服务器,重启 Hermes Gateway
  2. 创建新 App — 在 https://open.feishu.cn/app/ 创建,获取 App ID/Secret,更新 .env
  3. 修改群组 — 更新 FEISHU_HOME_CHANNELFEISHU_GROUP_ALLOWED_CHATS

环境变量

变量 说明 默认值
CHROMA_PATH ChromaDB 向量库路径 ~/rag_chromadb
OLLAMA_MODELS Ollama 模型路径 ~/ollama/models
OLLAMA_HOST Ollama 监听地址 0.0.0.0:11434
FEISHU_WEBHOOK 飞书 Webhook(可选)

技术栈

  • 嵌入模型: bge-base-zh-v1.5 (768维)
  • 向量数据库: ChromaDB (cosine 距离)
  • Web UI: Gradio
  • HTTP API: FastAPI
  • 本地 LLM: Ollama + Qwen2.5:3b
  • 微信机器人: wxauto v7

许可证

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rag_fanuc-1.0.0.tar.gz (88.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rag_fanuc-1.0.0-py3-none-any.whl (92.4 kB view details)

Uploaded Python 3

File details

Details for the file rag_fanuc-1.0.0.tar.gz.

File metadata

  • Download URL: rag_fanuc-1.0.0.tar.gz
  • Upload date:
  • Size: 88.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rag_fanuc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 94d9bdd673d20f197909e7d3a6ec2a903d2e4ebd90efe1ef0e58af5116d7b763
MD5 5ccfbeead5de25291b62f97f9e276ee9
BLAKE2b-256 c41e297fdde3148f0f9005870dd09ca7b945d866331e46af299102e1704f7441

See more details on using hashes here.

File details

Details for the file rag_fanuc-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: rag_fanuc-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 92.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rag_fanuc-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d5cc6ac592556669c0e4e977218ae49c03c5c8cda8cc9ef0015f93468f5944e
MD5 2142384ad21f4c92af44021644bec455
BLAKE2b-256 45e070d41f29c1087e420a78cfbcaa54a02883cfc91411f4e18c9b7bc594ab6b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page