NLP 技术速查手册(AI 助手操作指导用)¶
版本基线: HanLP 2.1.1 / jieba 0.42.1(社区活跃分支 jieba-py 0.46.12)/ THULAC 0.2.1(2016 后停更)/ pkuseg 0.0.25(2020 后停更)/ spaCy 3.8.16(2026-08-24,中文模型 zh_core_web_* 3.8.0)/ LTP 4.2.0 / NLTK 3.9.4(2026-03-24)/ Stanza 1.14.0(2026-07-15)/ flair 0.15.1(2025-02,发版放缓;≤0.15.1 有 CVE-2026-76843)/ Gensim 4.4.0(2025-10,稳定维护模式)/ lingua-py 2.2.0(2026-03-09)/ Ollama 0.40.14 / llama.cpp v0.9.0 (b12086) / vLLM 0.33.0 / Xinference 4.2.0 / Dify 1.19.0 / RAGFlow 1.0.0 (GA) / FastGPT 4.17.2· new-api v1.0.0-rc.35(2026-09,AGPL-3.0)· one-api v0.6.10(2025-02,MIT,维护停滞)· Open WebUI 0.13.3(2026-11-09)· LobeChat v2.3.0(2026-11-01)(核对日期 2026-11-11,来源:官网/GitHub/PyPI)
宿主机约束: Windows Server 2022,2×Xeon Gold 6138(40 核 80 线程)、256GB 内存、无独立 GPU(纯 CPU),F 盘 895G / 剩余 862G。服务一律 Docker 容器部署;产物只存
F:\EricLiu\下;模型统一放F:\EricLiu\labs\models\。
1. 选型对比¶
1.1 中文 NLP 工具链(按语言分列)¶
1.1.1 中文工具¶
| 工具 | 最新版本 | 定位 | CPU 可行性与耗时量级 | 许可证 | 维护状态(2026-11 核实) | 推荐场景 |
|---|---|---|---|---|---|---|
| jieba | 0.42.1(原版,2020 年后无更新,停更);活跃分支 jieba-py 0.46.12(2026-04,需 Python≥3.10) | 轻量中文分词 + 关键词抽取 | ✅ 纯 Python,极佳。分词约 10万+ 字/秒/核,可开多线程并行 | MIT | 原版停更;jieba-py 分支活跃 | 分词、关键词、自定义词典,快速集成中文首选 |
| HanLP | 2.1.1(2025-01,此后仅少量维护) | 全功能多语种 NLP(分词/NER/句法/语义/文本分类等 10+ 联合任务) | ✅ 可行。传统模型毫秒~秒级;深度学习大模型每句数十 ms~秒级(40 核足够跑中小模型) | Apache-2.0 | 少量维护 | 需要 NER/依存句法等结构化任务的中文生产环境首选 |
| spaCy(中文) | zh_core_web_sm/md/lg/trf 3.8.0(库 3.8.16) | 工业级 pipeline,与 spaCy 生态(Matcher、EntityRuler、训练)深度集成 | ✅ sm/md/lg 为 CPU 优化(46MB~575MB),十万字级/分钟;trf(396MB)CPU 上慢约 10 倍,不推荐 | MIT | 活跃(3.8.16,2026-08) | 需要结构化 Pipeline、规则增强、中英统一框架 |
| LTP | 4.2.0(Rust Legacy + PyTorch 双轨) | 哈工大六任务流水线(分词/词性/NER/SRL/依存/语义依存) | ✅ Legacy 感知机模型(Rust 实现)极快,多线程可达 LTP3 的 17 倍;但仅支持分词/词性/NER 三任务 | ⚠️ 仅对高校/科研机构免费,商用需向 HIT-SCIR 付费授权 | 维护中 | 学术研究或已获商业授权的场景 |
| THULAC | 0.2.1(2016 开源后无实质更新,停更) | 清华中文分词 + 词性标注(C++/Java/Python) | ✅ 快(分词+词性 300KB/s) | ⚠️ 研究免费;商用需邮件洽谈技术许可 | 停更(GitHub 最后实质更新 2016-09,无 release) | 仅存量了解;新项目回避 |
| pkuseg | 0.0.25(2020 后无更新,停更) | 北大多领域分词(新闻/网络/医药/旅游分域模型),准确率高 | ✅ 可行但模型域老 | Apache-2.0 | 停更(约 2020 起,无 release) | 仅存量了解;新项目回避 |
中文推荐结论(本机): 轻量分词/关键词 → jieba(新项目优先 jieba-py 分支);需要 NER/句法等结构化分析 → HanLP(Apache-2.0,商用无顾虑)或 spaCy zh_core_web_sm;回避 = LTP(商用需 HIT-SCIR 付费授权)、THULAC(2016 后停更 + 商用需洽谈授权)、pkuseg(2020 后停更,仅学术价值)。
1.1.2 英文工具¶
| 工具 | 最新版本 | 定位 | CPU 可行性与耗时量级 | 许可证 | 维护状态(2026-11 核实) | 推荐场景 |
|---|---|---|---|---|---|---|
| spaCy(en_core_web) | 库 3.8.16(2026-08-24);en_core_web_sm/md/lg/trf 3.8.0 | 工业级 pipeline:分词/词性/NER/依存/词向量 + 训练系统 | ✅ sm/lg CPU 优化,万句级/分钟;trf 慢约 10 倍 | MIT | 活跃 | 英文生产 pipeline 首选:规则增强、自定义训练、打包部署一体 |
| NLTK | 3.9.4(2026-03-24,需 Python≥3.10) | 经典工具箱:50+ 语料库/WordNet、分词/stemming/词性,无神经模型 | ✅ 极轻(纯 Python 规则为主) | Apache-2.0 | 低频维护(2026 年仍有两个点版本) | 教学、原型、语料库检索、规则式清洗 |
| Stanza | 1.14.0(2026-07-15) | Stanford NLP 神经 pipeline:60+ 语言分词/词性/依存/NER,准确度高 | ⚠️ PyTorch 后端,单句数十 ms~秒级(40 核可跑,吞吐低于 spaCy) | Apache-2.0 | 活跃(2026 年持续发版) | 要多语言准确依存/NER、或与 Stanford CoreNLP 生态衔接 |
| flair | 0.15.1(2025-02-05,发版放缓但仓库 2026-10 仍有提交) | PyTorch 序列标注/NER/情感/生物医学文本 + Flair/Transformer 嵌入 | ⚠️ PyTorch,CPU 上与 Stanza 同量级 | MIT | 维护放缓;⚠️ CVE-2026-76843(≤0.15.1 的 ClusteringModel.load 反序列化 RCE,CVSS 8.4)——只加载可信来源模型 |
NER/序列标注实验、生物医学文本 |
| Gensim | 4.4.0(2025-10-18) | 主题模型/相似度:LDA/LSA/word2vec/doc2vec,超内存流式训练 | ✅ numpy/scipy BLAS 加速,40 核 LDA/word2vec 训练良好 | ⚠️ LGPL-2.1-only(闭源分发需评估) | 稳定维护模式(约一年一版,测试持续) | 主题建模、词向量、文档相似度(配合 jieba/HanLP 分词) |
英文推荐结论(本机): 英文首选 = spaCy en_core_web_sm(MIT、CPU 优化、pipeline 一体);要更准的依存/NER 或多语言 → Stanza;主题模型/相似度 → Gensim(注意 LGPL 分发评估);教学/语料库 → NLTK;flair 选配(遵守 CVE 提示);英文侧无"回避"项(许可均友好)。
1.1.3 中英混合场景要点¶
- 分词策略:先做语言检测再路由(见下),不要用中文分词器硬切英文长句、也不要用 spaCy 英文模型切中文。混合文本实用做法:中文管线(jieba/HanLP)对英文/数字会整块切出 token,一般够用;术语级需求(如"BERT 模型"不被拆散)用自定义词典兜底(jieba
add_word/ HanLPnlp.lexicon/ spaCy EntityRuler)。两个管线统一输出 Universal Dependencies / OntoNotes 风格标签,下游才好合并。 - 语言检测:首选 lingua-py 2.2.0(Apache-2.0,Rust 后端 FST 模型,75 语言,短文本/混合文本准确率最好;Python≥3.12);批量高吞吐可加 fast-langdetect 1.0.1(2026-05,MIT,PyPI 累计 2700 万+ 下载)。回避 fastlang(kootenpv/fastlang 0.0.4,作者自述玩具级且已停更)。中日同形字场景用 lingua 2.1+(已改进日文判别)。
- 统一 NLP 服务设计建议:入口一个 HTTP 服务做语言检测(lingua-py)→ 按 zh/en 路由两套常驻 pipeline(HanLP vs spaCy),不要每请求加载模型;40 核 256GB 足够两套 pipeline + 一个小 LLM 常驻;NER/句法等结构化任务在管线内完成,把小 LLM(Ollama qwen3:1.7b)只留作兜底与复杂抽取;输出统一 JSON schema(text/lang/tokens/entities),便于下游与 RAG(Dify/RAGFlow)对接。
1.2 LLM 服务化方案对比¶
| 方案 | 最新版本 | CPU 支持 | 并发能力 | API 兼容性 | 资源占用 | 本机结论 |
|---|---|---|---|---|---|---|
| Ollama | 0.40.14(2026-11-03) | ✅ 原生支持,GGUF 量化模型,开箱即用 | 中低(单模型串行为主,吞吐一般) | ✅ OpenAI 兼容 /v1 + 原生 API |
低,量化模型 0.5B~4B 内存 0.4~3GB | ✅ 本机首选:Docker 一行部署,CPU 推理 0.5B~4B 模型可用(几~几十 token/s) |
| llama.cpp | v0.9.0 / b12086(2026-11-04) | ✅ 原生支持,CPU 性能天花板(AVX2/AVX-512 优化;Xeon 6138 支持 AVX-512) | 中(llama-server 支持并行 slot) | ✅ OpenAI 兼容 | 低,可控线程数/KV cache | ✅ 备选:需要极致调优(线程绑定、量化选型)时用 |
| vLLM | 0.33.0(2026-11-02) | ⚠️ 有官方 x86 CPU 后端(vllm/vllm-openai-cpu 镜像),但主要面向 GPU 高吞吐场景,CPU 后端速度慢(约 12 tok/s @0.6B),且 0.33.0 轮子/镜像仅 CUDA 13 |
高(连续批处理) | ✅ OpenAI 兼容 + Anthropic API + gRPC | 高(镜像 1.7GB+,内存预留大) | ❌ 本机不推荐:无 GPU 时性能与 Ollama 无优势、部署复杂。留作未来上 GPU 时的方案 |
| Xinference | 4.2.0(2026-11-07) | ✅ 支持 llama.cpp 引擎 → CPU 可跑量化模型 | 中 | ✅ OpenAI 兼容 | 中(自身框架较重,含 WebUI) | ✅ 备选:需要多模型统一管理(LLM+embedding+rerank)时值得用 |
选型结论(本机): Docker 部署 Ollama 作为默认 LLM 运行时;多模型/多类型模型统一服务需求 → Xinference;vLLM 明确标注"面向 GPU",纯 CPU 场景如实说明不推荐。
1.3 应用平台(了解级)¶
| 平台 | 版本 | 定位 | 资源需求 | 备注 |
|---|---|---|---|---|
| Dify | 1.19.0(2026-11-04) | 全栈 LLM 应用/工作流/Agent 平台 | compose 全家桶约需 4~8GB 内存(Web/API/DB/Redis/向量库) | 通用性最强,知识库+工作流+发布渠道全 |
| RAGFlow | 1.0.0 GA(2026-11-06,已用 Go 重写,资源占用大幅下降) | 深度文档解析 RAG 引擎 | 1.0 后轻量化;DeepDoc 仅支持 CPU(本机无碍) | 复杂 PDF/合同/技术文档解析最强 |
| FastGPT | 4.17.2(2026-10-09) | 轻量知识库 QA + 工作流 | 较低,部署最简单 | 了解即可,需要轻量 QA 机器人时再上 |
1.4 整合/聚合型项目(推荐与回避)¶
推荐逻辑:LLM 网关用 new-api 统一管理本地 Ollama + 云端商用 API(one-token 调所有模型、渠道/配额/计费集中在 Web 后台);本地推理层仍按 §1.2(Ollama 首选,网关只做转发不占推理资源);前端对话 UI 属纯前端(不占推理算力,CPU 宿主机无压力),按需二选一:Open WebUI(团队/多用户/知识库)或 LobeChat(个人/插件生态)。one-api 已停更,回避新部署。
| 项目 | 定位 | 维护状态 | 许可证 | CPU 可行性 | 结论:推荐用/选配/回避 |
|---|---|---|---|---|---|
| new-api (QuantumNous,原 Calcium-Ion/new-api) | LLM API 网关/资产管理系统:OpenAI/Claude/Gemini 三格式互转,多渠道负载均衡、key/配额/计费、数据看板;数据库与 one-api 完全兼容可平滑迁移 | 非常活跃:v1.0.0-rc.35(2026-09),2026 年高频发版(累计 690+ release) | AGPL-3.0(含第 7 节附加条款;本库自用/内部服务无碍,闭源二次分发需评估) | ✅ 纯 Go 网关转发,自身不跑模型,Docker 单容器,内存占用低 | 推荐:统一管理本地 Ollama(OpenAI 兼容 /v1)与云 API 的网关首选;部署建议 SQLite 起步、数据落 F:\EricLiu\labs\data\new-api\,密钥不写入文档/仓库(守则第 2 条) |
| one-api (songquanpeng) | LLM API 网关鼻祖:单二进制极简部署,OpenAI 兼容统一转发 | 停滞:最后版本 v0.6.10(2025-02),最后一次提交 2026-01-09(约 10 个月无更新),931 个 open issue 积压 | MIT | ✅(单文件 ~5MB 内存) | 回避(新部署):维护停滞意味着新模型/新供应商适配靠自补,且存在已披露权限绕过漏洞(CVE-2026-81027,低权限用户可指定渠道 ID 绕过部分控制),安全补丁跟进慢;需要极简单文件网关的场景也建议改用 new-api(数据库兼容,迁移无痛) |
| Open WebUI | 自托管 LLM 前端平台:多用户、知识库/RAG、工具调用、Open Terminal Agent;对接 Ollama 与任意 OpenAI 兼容 API | 极活跃:0.13.3(2026-11-09,PyPI),持续发版 | Open WebUI License(非 OSI 开源许可:≤50 用户/30 天免费,去品牌/白标需书面授权或企业版) | ✅ 纯前端;Docker :slim 变体约 196MB/空闲约 300MB 内存,嵌入模型/语音等重依赖走外部服务 |
选配(推荐):需要给 Ollama 套 Web UI、做多用户/知识库时的首选前端;用 ghcr.io/open-webui/open-webui(或 :slim)部署,OLLAMA_BASE_URL 指向本机 Ollama;对外白标/改品牌前必须核对许可条款 |
| LobeChat (lobehub) | 个人向多模型对话前端:40+ 供应商、插件市场、知识库、TTS/STT、多 Agent | 活跃:v2.3.0(2026-11-01) | 主体 Apache-2.0(部分高级/企业功能受 LobeHub Community License 约束) | ✅ 纯前端,约 1GB 内存,Docker lobehub/lobe-chat(:3210) |
选配:个人使用、看重插件生态与界面美化时选它;团队/多用户场景 Open WebUI 更合适(多用户需另配数据库部署,复杂度上升) |
1.5 推荐结论(一页定稿)¶
- 首选 = jieba(中文分词/关键词)+ spaCy
en_core_web_sm(英文 pipeline)+ Ollama(LLM 服务化):jieba 纯 Python、MIT、十万字/秒级;spaCy 英文模型 CPU 优化、MIT;Ollama Docker 一行、GGUF 量化在 CPU 上 0.5B~4B 可用(几~几十 token/s),OpenAI 兼容端点即插即用。 - 选配 = HanLP(中文 NER/依存等全任务,Apache-2.0)/ Stanza(多语言准确依存/NER)/ Gensim(主题模型与相似度,LGPL 注意分发)/ lingua-py 2.2.0(语言检测路由)/ new-api(AGPL-3.0,统一本地 Ollama + 云渠道的网关)/ Open WebUI(≤50 用户免费,去品牌需授权)/ Xinference(多模型统一管理)。
- 回避 = one-api(停更约 10 个月 + CVE-2026-81027 权限绕过,新部署一律用 new-api,数据库兼容可平滑迁移);LTP(商用需 HIT-SCIR 付费授权);THULAC(2016 后停更 + 商用需洽谈授权);pkuseg(2020 后停更);fastlang(kootenpv 版玩具级且停更,语言检测用 lingua-py);vLLM(面向 GPU,纯 CPU 无优势且部署复杂)。flair 选配但须遵守 CVE-2026-76843 提示(只加载可信来源模型)。
2. 安装¶
2.1 目录约定¶
F:\EricLiu\labs\models\ # 所有模型权重(HanLP/jieba 无需预下载,Ollama 模型见下)
F:\EricLiu\labs\nlp\ # compose 文件、脚本
F:\EricLiu\AppDocs\NLP\ # 本文档
2.2 Python 工具(pip 路径)¶
# 建议在独立虚拟环境内安装(宿主机或容器均可)
pip install jieba==0.42.1 # 原版,兼容 Python 3.7~3.12
pip install jieba-py==0.46.12 # 活跃维护分支,需 Python>=3.10(二选一)
pip install hanlp==2.1.1 # HanLP 2.x(PyTorch 后端)
pip install spacy==3.8.*
python -m spacy download zh_core_web_sm # 46MB,CPU 优化;离线安装可直下 whl:
# https://github.com/explosion/spaCy/releases → zh_core_web_sm-3.8.0-py3-none-any.whl
pip install ltp==4.2.0 # 仅科研用途(商用许可限制,见 1.1.1)
# 英文/多语言/工具库(对应 §1.1.2、§1.1.3)
pip install spacy==3.8.16
python -m spacy download en_core_web_sm # 英文模型 12MB,CPU 优化
pip install nltk==3.9.4 # 教学语料库/规则工具箱
pip install stanza==1.14.0 # Stanford 神经 pipeline(60+ 语言)
pip install gensim==4.4.0 # 主题模型/相似度(LGPL,闭源分发需评估)
pip install lingua-language-detector==2.2.0 # 语言检测(Python>=3.12,Rust 后端)
HanLP 首次调用会自动从远程下载模型。强制下载到 F 盘(服务器需外网或镜像):
import hanlp
nlp = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_GAL_DEP_SDP_BERT_ELECTRA_BASE_ZH,
hanlp_model_path=r'F:\EricLiu\labs\models\hanlp') # 模型落盘位置
2.3 Ollama Docker 安装 + 拉取量化小模型¶
docker run -d --name ollama --restart unless-stopped \
-p 11434:11434 \
-v F:/EricLiu/labs/models/ollama:/root/.ollama \
ollama/ollama:0.40.14
# 拉模型(先确认体积再下载,见第 6 节守则;体积为 Q4_K_M 量化近似值,拉取前用 ollama show 核对)
docker exec ollama ollama pull qwen2.5:0.5b # 约 0.4GB,CPU 秒级响应,冒烟测试用
docker exec ollama ollama pull qwen3:1.7b # 约 1.4GB,质量/速度均衡,默认主力
docker exec ollama ollama pull qwen3:4b # 约 2.6GB,CPU 上约 5~15 tok/s,质量更好
docker exec ollama ollama pull bge-m3 # 约 1.2GB,embedding/rerank(RAG 用)
CPU 可行性量级:0.5B ~ 30+ tok/s;1.7B ~ 10~25 tok/s;4B ~ 5~15 tok/s;≥7B 不建议(<5 tok/s,长文本不可用)。256GB 内存下可常驻 2~3 个小模型,但并发排队仍会明显变慢。
2.4 Dify docker-compose 部署¶
cd /f/EricLiu/labs
git clone https://github.com/langgenius/dify.git --depth 1
cd dify/docker
cp .env.example .env # 生产前修改 SECRET_KEY、端口
docker compose up -d # Dify 1.19.0 要求 Docker Compose >= v2.35.0
- 访问
http://localhost初始化管理员账号。 - 产物(数据卷)默认在 compose 目录 volumes 下,可改
.env将数据/文件存储指到F:\EricLiu\labs\data\dify\。 - Dify 对接 Ollama:设置 → 模型供应商 → Ollama,地址填
http://host.docker.internal:11434(Windows Docker Desktop)。
3. 高频用法¶
3.1 jieba:分词 / 关键词 / 自定义词典¶
import jieba, jieba.analyse
jieba.initialize() # 预加载词典,避免首次请求延迟
text = "青岛海信网络科技股份有限公司发布了智能交通大模型"
print(jieba.lcut(text)) # 精确模式
print(jieba.lcut(text, cut_all=True)) # 全模式
print(jieba.lcut_for_search(text)) # 搜索引擎模式
jieba.add_word("智能交通大模型", freq=10000) # 运行时加词
jieba.load_userdict(r"F:\EricLiu\labs\nlp\userdict.txt") # 业务词典
jieba.enable_parallel(8) # 多核并行(仅 Windows 需注意:默认用 fork 不可用时退回单核)
print(jieba.analyse.extract_tags(text, topK=5)) # TF-IDF 关键词
print(jieba.analyse.textrank(text, topK=5)) # TextRank 关键词
3.2 HanLP:NER / 词性 / 依存(多任务一次到位)¶
import hanlp
nlp = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_GAL_DEP_SDP_BERT_ELECTRA_BASE_ZH,
hanlp_model_path=r'F:\EricLiu\labs\models\hanlp')
doc = nlp("2026年11月,张伟在上海人工智能实验室发布了新模型。")
print(doc['tok/fine']) # 分词
print(doc['ner/msra']) # 命名实体:{'张伟': 'PERSON', '上海人工智能实验室': 'ORGANIZATION', ...}
print(doc['pos/pku']) # 词性
print(doc['dep']) # 依存句法
3.3 spaCy:中文 NER 最小片段¶
import spacy
nlp = spacy.load("zh_core_web_sm") # 46MB,CPU 优化
doc = nlp("华为公司在深圳发布了鸿蒙系统。")
print([(e.text, e.label_) for e in doc.ents]) # [('华为公司', 'ORG'), ('深圳', 'GPE')]
3.4 Ollama:OpenAI 兼容 API¶
curl(原生 API):
curl http://localhost:11434/api/chat -d '{
"model": "qwen3:1.7b",
"messages": [{"role": "user", "content": "用一句话解释什么是RAG"}],
"stream": false
}'
curl(OpenAI 兼容端点):
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3:1.7b",
"messages": [{"role": "user", "content": "你好"}],
"temperature": 0.7
}'
Python(openai SDK 直连 Ollama,无需 API key):
from openai import OpenAI
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
resp = client.chat.completions.create(
model="qwen3:1.7b",
messages=[{"role": "user", "content": "总结这段文本:..."}],
max_tokens=512,
)
print(resp.choices[0].message.content)
4. RAG 最小实践¶
4.1 Dify 建知识库流程要点¶
- 接入模型:模型供应商添加 Ollama(
http://host.docker.internal:11434),注册对话模型(qwen3:1.7b)+ embedding 模型(bge-m3)。 - 创建知识库:知识库 → 创建 → 上传文档(PDF/DOCX/MD/TXT/CSV)。
- 分段(chunk)策略提示:
- 通用模式:中文文档建议分段标识符
\n\n+ 段落最大 500~800 token;过长上下文被截断是召回差的首因。 - 表格/合同/手册类结构化文档优先用"父子分段"(child chunk 200 token 命中,parent 段落送给 LLM)。
- Q&A 模式适合 FAQ 类文档,导入前先用小模型抽取问答对。
- 索引与检索:embedding 用 bge-m3;检索模式选"混合检索 + Rerank",Top-K 3~5,Score 阈值 0.5 起调。
- 验证:先用知识库"召回测试"页逐条验证命中率,再挂到 Chatflow。
4.2 RAGFlow 要点(本机可行性)¶
- 1.0.0 已 Go 化轻量化,纯 CPU 可跑(DeepDoc 本身只支持 CPU);docker compose 单机部署。
- 模板化 chunk(法律/论文/简历/表格)是其核心优势:上传后先选解析模板,再解析。
- 需要配一个 embedding 模型(可对接本机 Ollama bge-m3)。
- 深度文档解析(PDF 版面分析/OCR)在 CPU 上是分钟级/文档,大批量解析放后台,见第 6 节。
4.3 chunk 策略速记¶
| 文档类型 | 推荐策略 |
|---|---|
| 新闻/正文类长文 | 固定 500~800 token + 15% 重叠 |
| FAQ/手册 | Q&A 或父子分段 |
| 合同/标书 | 按条款标题切分(正则/标题层级),保留上下文父块 |
| 表格 | 整表或按行转 KV 文本,避免截断列头 |
5. 排障¶
| 问题 | 现象 | 处置 |
|---|---|---|
| 模型下载慢/失败 | HanLP 自动下载卡住、ollama pull 长时间无进度 |
① 先查模型体积(ollama show/官网)确认不是网络中断而是文件大;② 设置代理或用国内镜像(ModelScope/HF-Mirror 手动下权重后放 F:\EricLiu\labs\models\);③ Ollama 容器代理:-e HTTPS_PROXY=... |
| 内存占用过高 | 容器 OOM 或宿主机卡顿 | Ollama 默认按需加载,ollama ps 看常驻模型;多模型场景设 OLLAMA_MAX_LOADED_MODELS=1;256GB 机器瓶颈通常不是内存而是 CPU 吞吐,token 变慢属正常 |
| 分词把业务词切碎 | "智能交通大模型"被拆散 | 加自定义词典(jieba load_userdict / HanLP nlp.lexicon / spaCy EntityRuler);词典放 F:\EricLiu\labs\nlp\ 并纳入版本管理 |
| NER 效果差 | 实体漏识/错标 | 中文 NER 基线差是正常现象:优先 HanLP MTL 模型而非 spaCy sm;补充领域词典 + 后处理规则;用小 LLM(qwen3:1.7b)few-shot 抽取做兜底比对 |
| Dify/RAGFlow 容器起不来 | compose 报错 | 先 docker compose ps 看哪个服务挂;端口冲突(80/443/5432)改 .env;Dify 1.19.0 起要求 Compose ≥ v2.35.0,先 docker compose version 确认 |
| Ollama 响应慢 | 几十秒才出首 token | 检查是否加载了过大的模型(ollama ps);首次请求包含模型加载时间属正常;换 0.5B/1.7B 量化模型;并发请求会排队,避免多请求并行 |
6. AI 操作守则¶
- 模型下载先确认体积:任何 pull/download 前先查清文件大小与磁盘余量(
df -h /f/ollama show),超出 10GB 的模型必须先向用户报告体积并确认;模型一律落F:\EricLiu\labs\models\。 - 商用 API 只对比不代调用:涉及 OpenAI/Anthropic/国产大模型商用 API 时,只做参数、价格、能力对比与代码示例,不代替用户注册、调用或消耗其配额;密钥由用户提供,且不得写入文档或提交到仓库。
- 许可核查:选型涉及商用时核对许可证(jieba/HanLP/spaCy/NLTK/Stanza/lingua-py 均 MIT/Apache-2.0 友好;LTP 商用需 HIT-SCIR 付费授权、THULAC 商用需邮件洽谈授权,默认不引入;Gensim 为 LGPL-2.1,闭源分发前评估)。
- 长任务后台跑:批量分词、知识库解析、批量推理等分钟级任务,放后台执行并轮询,不阻塞交互。
- 产物落位:所有输出(导出文档、评测结果、抽取数据)只写
F:\EricLiu\下对应目录,不污染 C 盘与容器内路径。 - 版本回查:本文版本基线为 2026-11-11 核对,AI 执行安装/升级命令前应重新核对官方 Release 页,避免用过时 tag。
7. Changelog¶
- 2026-11-11:§1.1 重构为按语言分列——中文(jieba/HanLP/LTP/THULAC/pkuseg,标注 THULAC 2016 后停更、pkuseg 2020 后停更)与英文(spaCy 3.8.16 / NLTK 3.9.4 / Stanza 1.14.0 / flair 0.15.1 + CVE-2026-76843 提示 / Gensim 4.4.0)两小节,各自给出首选/回避结论;新增 §1.1.3 中英混合场景要点(分词策略、语言检测 lingua-py 2.2.0、统一 NLP 服务设计);§1.5 推荐结论同步更新;版本基线行刷新;§2.2 补英文/工具库安装命令。LLM 服务化部分(§1.2/§1.3)核对:RAGFlow 1.0 GA、Dify 1.19.0 均为当前版本,无需变更。