帮助首页 > 网站更新修复说明 · AI 对话与生图 > 操作 · 法律文库向量检索与 AI 对接

操作 · 法律文库向量检索与 AI 对接

操作 · 法律文库向量检索与 AI 对接

入口:法律文库 /lawlib/ · AI 对话 /ai/ · 本说明 ops-law-rag-guide

一句话结论

  • 切块/向量没有出现在「数据页面」列表里——那是企业开放数据等业务页;法律切块存 MySQL,向量存独立向量库。
  • 写起诉状等文书时:在 AI 页打开 法律文库·开,系统会先检索向量库,再把命中条文喂给大模型

数据分别存哪里

内容位置说明
法规/案例原文与元数据MySQL by_kb_doc / by_kb_doc_file法律文库前台浏览、下载、目录
切块正文MySQL by_kb_chunk入库前切段;供回填与对账,不单独做「数据页」
向量Qdrant 集合 legal_statuteHTTP http://127.0.0.1:6333;磁盘 D:\AI\legal_qdrant
EmbeddingOllama bge-m3(1024 维)http://127.0.0.1:11434
RAG 工程(可选 API)D:\AI\legal_ragFastAPI 默认 :8210;PHP 也可直连 Ollama+Qdrant

前台怎么用(写起诉状示例)

  1. 打开 AI 对话,顶栏选 斑雁(本机)或可用的 API 模型。
  2. 确认工具栏 法律文库·开(设置里也有「法律文库检索」复选框,默认勾选)。
  3. 输入例如:帮我写一份民间借贷纠纷民事起诉状,标的额 8 万元,被告逾期未还
  4. 状态栏会显示「正在检索法律文库向量…」,命中后显示「已引用法律文库×N」,再流式生成。
  5. 回答应尽量引用命中法条;若未命中会提示知识库不足,勿把模型臆造当正式法律意见。

可与「联网」同时开:先文库向量,再联网补充;文书起草优先开法律文库。

运维:保证检索可用

1. 启动向量库

:: 保持常开
D:\AI\legal_rag\scripts\start_qdrant.bat
:: 或直接运行 D:\AI\qdrant\qdrant.exe(数据目录 D:\AI\legal_qdrant)

自检:浏览器或命令行访问 http://127.0.0.1:6333/collections/legal_statute,应看到 points_count > 0。

2. 启动 Embedding(Ollama)

ollama serve
ollama pull bge-m3

3.(可选)启动 RAG HTTP API

D:\AI\legal_rag\scripts\start_rag_api.bat
:: GET http://127.0.0.1:8210/health
:: POST /retrieve  {"query":"起诉状格式"}

PHP 服务 LawRagService:优先调 :8210/retrieve;不可用时自动改走 Ollama 向量化 + Qdrant 搜索。

4. 把 MySQL 切块灌进向量库

D:\Program Files\Python312\python.exe E:\wwwroot\zh\dashuju\tools\ingest_kb_loop.py 800 40

循环从 by_kb_chunk 取未入向量的片段写入 Qdrant。入库进度看 Qdrant points_count 与库内切块数对比。

5. 命令行试问(不经网站)

cd /d D:\AI\legal_rag
python -m ingest.ask_cli 故意杀人怎么判
python -m ingest.search_cli 加班工资怎么算

与「数据页面」的关系

  • 企业/门店等「数据」页:展示结构化业务统计,不含法律向量点。
  • 法律文库页:浏览原文、目录、下载;检索问答走 AI + 向量库。
  • 切块表用于管线对账,一般不对访客做「切块浏览器」。

关键代码与配置

路径
PHP 检索服务Banyan/Lib/Service/LawRagService.class.php
流式对话注入ai_sse.php(参数 use_law_rag=1
非流式注入AiChatService::prepareRequest
前台开关themes/.../ai/index.html → 法律文库按钮
RAG 配置D:\AI\legal_rag\configs\settings.yaml

常见问题

现象处理
一直提示法律文库检索失败查 Qdrant:6333、Ollama:11434、模型 bge-m3 是否可用
命中很少 / 分数低继续跑 ingest;调低 min_score(默认约 0.45)
回答不引法条确认按钮为「法律文库·开」;换更贴切的提问关键词
与联网冲突文书场景建议只开法律文库;两者都开时文库优先注入

相关链接