Paperless-ngx 怎么启用 LLM 索引让文档聊天基于相似文档检索回答

发布时间:2026/11/6 2:39:40

Paperless-ngx 怎么启用 LLM 索引让文档聊天基于相似文档检索回答 Paperless-ngx 怎么启用 LLM 索引让文档聊天基于相似文档检索回答【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx如果你已经在运行 Paperless-ngx想让顶栏的文档聊天Document chat基于相似文档检索来回答问题需要启用两个东西AI 总开关加 LLM 后端以及让LLM 索引基于向量索引的 RAG生效的 embedding 后端。这两部分都默认关闭只在你显式配置后才工作。本文适用于 Docker Compose、单容器或裸机部署的现有 Paperless-ngx 实例。一个必须知道的边界启用这些功能后文档内容以及元数据会发送到你配置的 LLM 后端。如果后端是远程托管服务文档会离开你的服务器并可能产生费用如果在意隐私应选本地后端Ollama 或自托管的 OpenAI 兼容网关。文档见 AI features。第一步启用 AI 并配置 LLM 后端所有 AI 设置都可以用PAPERLESS_AI_*环境变量提供也可以在后台Settings → Application Configuration里设置数据库中的值优先于环境变量见 configuration.md 的 AI 一节。最低要求是PAPERLESS_AI_ENABLED— 总开关默认false必须设为truePAPERLESS_AI_LLM_BACKEND— 必填取值ollama本地运行或openai-likeOpenAI 本身或任何 OpenAI 兼容 APIPAPERLESS_AI_LLM_MODEL— 后端使用的模型。不指定时openai-like默认gpt-3.5-turboollama默认llama3.1openai-like后端通常需要PAPERLESS_AI_LLM_API_KEY和/或PAPERLESS_AI_LLM_ENDPOINTOllama后端则要求PAPERLESS_AI_LLM_ENDPOINT指向你的 Ollama 服务器。一个全本地Ollama的最小配置示例PAPERLESS_AI_ENABLEDtrue PAPERLESS_AI_LLM_BACKENDollama PAPERLESS_AI_LLM_MODELllama3.1 PAPERLESS_AI_LLM_ENDPOINThttp://ollama-server:11434如果改用 OpenAI 兼容的远程 API把PAPERLESS_AI_LLM_BACKEND设为openai-like并配置对应的模型名与PAPERLESS_AI_LLM_API_KEY。这一步完成后AI 建议Suggest 控件已经可用但文档聊天还没有检索能力——那需要 LLM 索引。第二步设置 embedding 后端以启用 LLM 索引设置 embedding 后端即开启LLM 索引它是你所有文档的向量索引支撑 RAG启用后AI 建议会基于相似的已有文档文档聊天也能检索到相关上下文。索引只有在AI 已启用并且设置了 embedding 后端两个条件同时满足时才会构建。PAPERLESS_AI_LLM_EMBEDDING_BACKEND— 取值huggingface完全本地、ollama或openai-likeOpenAI 兼容 embeddings API默认NonePAPERLESS_AI_LLM_EMBEDDING_MODEL— 不指定时按后端取默认值openai-like为text-embedding-3-smallhuggingface为sentence-transformers/all-MiniLM-L6-v2ollama为embeddinggemmaPAPERLESS_AI_LLM_EMBEDDING_ENDPOINT— 可选不设置时 embedding 请求复用PAPERLESS_AI_LLM_ENDPOINT。在上面的 Ollama 示例基础上补一行即开启索引PAPERLESS_AI_LLM_EMBEDDING_BACKENDollama注意huggingface本地 embedding 会在首次使用时把模型下载到 Paperless 数据目录因此首次运行需要网络访问和一定的磁盘空间。改完环境变量后按你的部署方式让配置生效Docker 部署重启容器裸机部署重启各服务。第三步手动构建索引索引默认由任务调度器按PAPERLESS_LLM_INDEX_TASK_CRON默认10 2 * * *每天一次自动增量更新但首次启用功能、或更换 embedding 后端/模型后应手动执行rebuild从数据库中的全部文档从头构建。管理命令语法为见 administration.md 的 Managing the LLM (AI) index 一节document_llmindex {rebuild,update,compact,migrate}rebuild从头构建索引首次启用或更换后端/模型时使用update增量索引新增和变更的文档这是定时任务执行的内容compact回收空间并优化磁盘上的向量存储。按部署方式执行命令调用方式见 administration.md 的 Management utilities 一节。/path/to/paperless请替换为你实际的 paperless 检出目录Docker Composepaperless 运行中cd /path/to/paperless docker compose exec webserver document_llmindex rebuild裸机cd /path/to/paperless/src python3 manage.py document_llmindex rebuild文档明确提示这些命令在 AI 未启用或未配置 embedding 后端时没有任何效果。所以如果 rebuild 跑完却没有索引效果先回到第一、二步检查PAPERLESS_AI_ENABLED和PAPERLESS_AI_LLM_EMBEDDING_BACKEND是否都正确配置。验证用顶栏聊天提问LLM 索引启用后验证方式是直接打开界面顶栏top app toolbar的聊天控件提问它根据当前视图在单篇文档和跨多篇文档两种模式间切换回答中会附带它所依据的源文档链接你可以顺着链接核对答案确实来自你的文档。如果聊天能给出带源文档链接的回答说明 LLM 索引与检索链路已经工作。之后新增/变更的文档会由每日定时任务自动增量索引进来想立即刷新可手动跑document_llmindex update向量存储占用异常时可跑compact回收空间。升级与维护时的注意事项document_llmindex migrate用于迁移索引结构若索引 schema 已是最新则为 no-op每次升级后运行都安全见 administration.md 的升级步骤。更换 embedding 后端或模型后旧向量与新向量不可比需要重新rebuild。可选项按需调整均见 configuration.mdPAPERLESS_AI_LLM_EMBEDDING_CHUNK_SIZE默认1024embedding 后端拒绝大输入或截断影响检索质量时调低、PAPERLESS_AI_LLM_CONTEXT_SIZE默认8192、PAPERLESS_AI_LLM_REQUEST_TIMEOUT默认120秒本地或慢推理服务超时调大、PAPERLESS_AI_LLM_OUTPUT_LANGUAGE不设置时跟随用户界面语言。安全边界Paperless-ngx 把文档内容作为不可信数据传给 LLM默认允许解析到私有/回环地址的 AI 端点方便本地后端需要阻断时可把PAPERLESS_AI_LLM_ALLOW_INTERNAL_ENDPOINTS设为false。LLM 功能不替换内置的非 LLM 匹配与建议系统两者并存。完成以上配置与 rebuild 后聊天即为基于 RAG 的检索式回答先由向量索引找到相似文档再由 LLM 结合检索到的上下文作答并给出源文档链接供核对。【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/2 22:53:49

云南旅行社评估体系与避坑指南

1. 项目背景与价值解析作为一个在旅游行业摸爬滚打8年的从业者,我深知选择靠谱旅行社对旅行体验的决定性影响。去年带队考察云南市场时,我们团队花了3个月时间实地走访了37家当地旅行社,最终整理出这份"云南旅行社口碑榜"。这不是简…

2026/11/6 2:39:01

原生应用选型、架构与性能优化实战指南

原生应用这四个字,放在五年前是个默认选项,放在今天反而成了一个需要反复论证的选择。我最近刚把一个团队从跨平台方案迁回原生,整个过程踩的坑比预想的多得多,也让我重新梳理了一遍:什么样的项目真的该做原生&#xf…

2026/11/6 2:39:01

JS 鼠标悬停提示框(tooltip)完整实现与选型

1. 先把需求拆开看:提示框要解决什么问题“js实现鼠标放上按钮出现提示”这句话本身信息很少,但它背后要处理的事情比想象中多。一个按钮上放一段说明文字,鼠标移上去显示、移开消失——听起来十几行 JS 就能收工,可真放到项目里&…

2026/11/6 2:39:01

PropertyTree:用属性树统一分层配置与类型校验

简介:PropertyTree 是一份面向 C#/WinForms 桌面开发者的开源控件资料,主要解决树形导航与分组设置界面之间的联动问题:把多组控件与 TreeView 节点建立关联,选择不同节点时显示对应的控件组,适合属性面板、参数配置和…

2026/11/6 2:39:01

网络端口详解:从基础概念到安全运维实践

1. 网络端口基础概念解析端口在网络通信中扮演着至关重要的角色,它们就像是服务器上的"门牌号",帮助数据包准确找到对应的服务。每个端口都有一个16位的数字标识(0-65535),由IANA(互联网数字分配…

2026/11/6 2:39:01

室内可见光通信系统建模与性能优化实践

1. 室内可见光通信系统概述可见光通信(VLC)技术利用LED照明光源作为信号发射器,通过快速调制光强来传输数据。相比传统射频通信,VLC具有无电磁干扰、频谱资源丰富、与照明系统天然融合等独特优势。在室内应用场景中,典…

2026/11/6 2:34:00

OpenClaw跨云平台AI模型部署实战指南

1. 项目背景与核心价值OpenClaw作为新一代开源机器学习框架,其云端部署能力直接决定了实际业务场景中的可用性。最近在技术社区看到不少同行在讨论如何实现OpenClaw的跨环境部署,特别是对国内外不同模型支持方案的兼容性问题。这个问题我在去年做金融风控…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 1:03:39

MCU晶振电路设计全解析:从负载电容计算到PCB布局调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑