LangFlow Ollama 本地知识库 RAG 搭建十分钟零代码上线健康档案也能私有化检索这次我们来看一个非常典型的本地 AI 落地组合LangFlow Ollama。这个组合解决什么问题一句话就是不写后台代码不调云端 API用可视化拖拽把本地开源大模型 自己的文档做成一个可以问答的 RAG 应用。尤其适合健康档案、公司内部资料、个人笔记这类不能随便传到云端的私有数据。整套流程的核心卖点有三个第一零代码搭建过程全部在 LangFlow 的画布上完成第二模型本地化通过 Ollama 拉取开源大模型推理过程不出本机第三十分钟可跑通前提是你已经装好了 Docker、Ollama 和 LangFlow后面每一步都是拖拽和填参数。本文会带你走一遍完整流程环境准备、Ollama 部署与模型下载、LangFlow 启动、知识库 RAG 工作流搭建、检索问答验证、接口调用和常见排错。适合三类读者想给团队做私有知识库但不想写代码的工程师、做健康档案等敏感数据管理的实施人员、以及刚接触 RAG 想看清全链路的新手。1. 核心能力速览先用一张表把这套组合的家底说清楚。能力项说明项目类型本地知识库 RAG 应用LangFlow 负责流程编排Ollama 负责大模型推理主要功能文档上传、文本拆块、向量化、向量检索、大模型生成回答代码要求零代码搭建LangFlow 画布拖拽节点需要少量命令行操作完成安装硬件门槛Ollama 推理依赖 GPU 或 CPUGPU 优先显存和模型规模直接相关纯 CPU 也能跑但速度慢启动方式Ollama 命令行启动服务LangFlow 命令行启动 WebUI服务端口默认 Ollama 11434、LangFlow 7860是否支持 API支持。Ollama 提供原生 APILangFlow 可导出 API 并支持批量查询是否支持批量任务支持。Flow 可接收批量输入也可以走 API 循环调用是否支持一键启动部分支持。Ollama 安装后常驻后台LangFlow 可写成启动脚本非整合包一键双击方案数据隐私数据全程本地处理不向云端上传适合健康档案、企业内网、个人知识库模型来源Ollama 模型仓库常见开源模型如 Qwen、Llama 等具体以你拉取的模型为准这里要强调一点显存占用和推理速度没有固定答案。模型参数量、上下文长度、检索到的文档块数量都会影响实际资源消耗。比如 7B 级别量化模型在 8G 显存上有机会跑起来但 13B、32B 就不一定。建议先小模型验证再按需升级。2. 适用场景与使用边界2.1 适合什么场景这类本地知识库 RAG 最适合对数据隐私有硬性要求的场景健康档案管理病历、体检报告、用药记录等敏感信息不出内网医生或患者通过对话框检索历史记录。企业内部知识库产品文档、SOP、合同模板、研发 Wiki搭建部门级问答入口。个人知识管理把笔记、PDF、Markdown 文件丢进知识库形成私人助理。离线环境演示没有公网条件或者不想给云厂商付费用本地模型跑通完整 RAG 流程。2.2 不适合的情况需要超大上下文和复杂多轮推理时本地小模型的回答质量弱于云端大模型。中文长文档精读场景如果文档格式非常复杂拆块策略要花时间调优。并发访问量大的企业级服务LangFlow 单机部署的吞吐量有限需要加队列或升级架构。2.3 版权、隐私与合规边界上传到知识库的文档必须是你有权使用的数据。健康档案涉及个人隐私必须获得当事人授权并遵守相关法规。生成内容仅供内部参考不构成医疗、法律等专业建议。部署在内网时不要随意将 LangFlow 和 Ollama 端口暴露到公网如果需要远程访问应加认证和 HTTPS。Ollama 拉取的模型各有许可证商用前要确认模型的开源协议是否允许。3. 环境准备与前置条件目标是跑通 LangFlow Ollama RAG建议按下面的清单准备环境。3.1 硬件与操作系统项目建议操作系统Windows 10/11、Ubuntu 20.04/22.04、macOSApple Silicon 体验更好均可内存建议 16G 以上8G 也可以跑但容易吃紧GPUNVIDIA 显卡优先显存 6G 起步A 卡、核显也能用 Ollama但兼容性和速度会差一些CPU支持 CPU 推理但速度慢适合文档量小的场景磁盘模型文件较大7B 量化模型约 4-6G建议预留 20G 以上3.2 软件依赖组件作用安装方式Ollama本地大模型运行时官网安装包或命令行LangFlow可视化 AI 工作流工具Python 的 pip 安装或 Docker 镜像PythonLangFlow 的运行环境3.10-3.12 较稳妥Docker 可选简化 LangFlow 启动按需安装浏览器访问 LangFlow WebUIChrome/Edge 均可3.3 网络与端口Ollama 默认监听11434LangFlow 默认监听7860。安装前可以先检查端口是否被占用。如果下载模型很慢考虑配置镜像源或使用离线模型包具体以网络环境为准。4. LangFlow 与 Ollama 安装部署4.1 安装 Ollama进入 Ollama 官网下载对应系统安装包或者用命令行安装。Windows 下安装包会注册系统服务安装完成后 Ollama 自动在后台运行。验证是否安装成功ollama --version查看服务状态默认端口为 11434curl http://127.0.0.1:11434如果返回Ollama is running说明服务正常。4.2 拉取本地大模型Ollama 通过ollama pull拉取模型仓库中的开源模型。以常见中文模型为例ollama pull qwen2.5:7b也可以拉取更小的模型测试速度ollama pull qwen2.5:3b拉取完成后查看本地模型列表ollama list这里提醒一句模型名和版本以 Ollama 官方仓库为准。先拉小模型跑通流程再根据机器性能决定是否升级到更大模型。测试模型是否可以正常对话ollama run qwen2.5:7b输入一个问题后看到流式回答说明 Ollama 侧已经就绪。4.3 安装 LangFlowLangFlow 推荐用 Python 虚拟环境安装避免污染系统 Python。如果本机还没装 Python先去官网安装 3.10 以上版本。python -m venv langflow-venv source langflow-venv/bin/activate # Windows 使用 langflow-venv\Scripts\activate pip install langflow也可以使用 Docker 方式启动docker run -it --rm -p 7860:7860 langflowai/langflow4.4 启动 LangFlow命令行启动langflow run看到日志中出现http://127.0.0.1:7860后浏览器打开即可进入 LangFlow 控制台。如果端口被占用可以显式指定端口langflow run --host 127.0.0.1 --port 78615. 搭建本地知识库 RAG 工作流LangFlow 的搭建思路是加载文档 - 拆块 - 向量化 - 存向量库 - 检索 - 组装 Prompt - 调用 Ollama - 输出答案。5.1 新建 Flow 并添加组件登录 LangFlow 后点击 New Flow进入画布。从左侧组件库拖出以下关键组件组件作用File Loader加载本地文档Splitter把文档拆分成文本块Embeddings将文本转换为向量Vector Store存储和检索向量Prompt组织提示词模板Ollama LLM调用本地大模型Chat Output展示回答如果组件区搜索不到 Ollama 相关节点确认 LangFlow 版本是否包含 Ollama 集成也可以通过本地代码方式加载组件但可视化拖拽是主路径。5.2 加载健康档案文档拖入 File Loader 节点点击节点选择文件。健康档案建议使用 PDF、TXT、Markdown 格式比如一份脱敏后的体检报告。如果文档包含敏感信息建议先脱敏处理再导入。5.3 文本拆块拖入 Splitter 节点连接在 File Loader 之后。拆块参数决定检索质量参数推荐值说明chunk_size200-500根据文档篇幅调整太大检索不准太小丢失语义chunk_overlap20-50保留相邻文本的上下文衔接拆分越合理检索召回的片段越准确。5.4 配置 Embeddings 与向量库拖入 Embeddings 组件选择本地可用的 embedding 模型LangFlow 中常见的方案是 Ollama Embeddings 节点。模型名填入 Ollama 中已有的 embedding 模型例如ollama pull nomic-embed-text然后拖入 Vector Store 组件把 Splitter 的输出连接到 Vector Store 的输入Embeddings 节点连接向量化接口。首次运行需要创建向量索引后续查询直接复用。5.5 配置 Ollama 大模型节点拖入 Ollama LLM 节点配置Base URLhttp://127.0.0.1:11434Modelqwen2.5:7bTemperature0.1-0.3知识库问答建议低温答案更贴近原文5.6 配置 Prompt 模板拖入 Prompt 节点写入检索增强模板你是健康档案知识库助手。请根据以下资料回答问题。 如果资料中没有相关内容请如实说明“资料中未找到”。 资料 {context} 问题 {question} 回答其中{context}来自 Vector Store 的检索结果{question}来自用户输入。5.7 连接全部节点将各节点按顺序连线File Loader - Splitter - Embeddings - Vector Store Vector Store - Prompt User Input - Prompt Prompt - Ollama LLM - Chat Output跑通后画布上所有节点显示绿色勾选状态说明工作流连接成功。5.8 运行与验证在 LangFlow 右上角点击 Play 或 Run输入一个问题例如这位用户的最近一次体检中血糖指标是多少如果回答引用了文档中的对应数值说明 RAG 链路已经打通。预期输出特征回答内容与上传文档一致而不是模型凭空生成。回答后有来源片段提示可以追溯到具体文本块。文档中找不到时模型应回答“资料中未找到”而不是编造。6. 接口 API 与批量任务LangFlow 画布跑通之后可以把它发布成 API 服务供其他系统调用。这是从“实验”走向“可用”的关键一步。6.1 LangFlow API 发布在 Flow 编辑页点击 API 按钮LangFlow 会生成一个 API 端点。拿到 API 地址和请求体格式后就可以用 HTTP 客户端调用。6.2 通用 API 调用示例LangFlow API 的请求体和响应结构可能随版本变化这里给出通用模板需要以实际生成的 API 文档为准。import requests url http://127.0.0.1:7860/api/v1/run/YOUR_FLOW_ID headers { Content-Type: application/json, Authorization: Bearer YOUR_API_KEY } payload { input_value: 这位用户的最近一次体检血糖是多少, output_type: chat, input_type: chat } response requests.post(url, jsonpayload, headersheaders, timeout120) print(response.json())如果不需要鉴权可以去掉 Authorization 请求头。6.3 curl 调用示例curl -X POST http://127.0.0.1:7860/api/v1/run/YOUR_FLOW_ID \ -H Content-Type: application/json \ -d {input_value: 这位用户的最近一次体检血糖是多少, output_type: chat, input_type: chat}6.4 批量任务设计本地知识库场景中批量任务通常指两类批量导入文档把常见体检报告、病历 PDF 放入输入目录通过 File Loader 逐个加载重建向量库。批量查询对一批问题循环调用 API把回答写入 CSV 或数据库。批量调用时建议加错误重试和限速import time import requests questions [ 体检报告中的总胆固醇是多少, 最近一次B超检查结论是什么, 用户是否有高血压病史 ] url http://127.0.0.1:7860/api/v1/run/YOUR_FLOW_ID headers {Content-Type: application/json} results [] for q in questions: payload {input_value: q, output_type: chat, input_type: chat} try: resp requests.post(url, jsonpayload, headersheaders, timeout120) results.append((q, resp.status_code, resp.text)) except Exception as e: results.append((q, 500, str(e))) time.sleep(0.5) for item in results: print(item)如果向量库重建时间较长建议用队列在后台执行前端只展示进度。7. 资源占用与性能观察本地部署最关心的就是能不能跑起来、跑多快。这套组合的资源瓶颈通常集中在 Ollama 推理环节。7.1 显存与内存观察方法启动 Ollama 后在命令行执行ollama ps这个命令会列出当前加载的模型、显存占用和进程 ID。这是最直接的显存观察方式。也可以打开任务管理器或系统监控面板观察 GPU 显存曲线。LangFlow 本身只做流程编排资源占用不高Embeddings 向量化过程短暂占用 CPU/GPU真正的大头是生成回答时的大模型推理。7.2 哪些因素会影响性能模型参数量7B 比 3B 慢13B 比 7B 更吃显存需要根据 GPU 显存选择。上下文长度检索到的文档片段拼接进 Prompt 后输入 token 变长生成速度下降。拆块数量Vector Store 检索范围越大检索耗时越高。并发请求单卡并行能力有限多用户同时提问会造成排队。磁盘类型模型加载速度受 SSD/HDD 影响SSD 明显更流畅。7.3 如何降低显存占用使用量化版本模型如 Q4/Q8 量化显存占用远小于全精度。减小上下文窗口避免把过长的文档片段塞进 Prompt。控制拆块长度让检索召回的内容更精准减少冗余。关闭其他 GPU 密集型程序。必要时使用 CPU 推理但速度会成倍下降。7.4 端口冲突与进程残留如果 LangFlow 提示端口被占用按以下步骤排查netstat -ano | findstr 7860 taskkill /PID 进程号 /FOllama 常驻后台如果改用其他模型后显存没有释放可以执行ollama stop qwen2.5:7b把旧模型从显存中卸载。8. 常见问题与排查方法问题现象可能原因排查方式解决方案LangFlow 页面打不开服务未启动或端口被占用检查终端日志执行 netstat重启 LangFlow换端口启动Ollama API 无法访问Ollama 服务未启动浏览器访问 http://127.0.0.1:11434启动 Ollama确认端口未被防火墙拦截模型下载缓慢网络问题或没有配置镜像查看下载进度测试网络连通性配置国内镜像源或使用离线模型包导入模型对话时显存不足模型过大显存不够运行 ollama ps 查看占用换小模型使用量化版或增加 swapLangFlow 找不到 Ollama 节点版本不支持或组件未加载查看 LangFlow 版本和组件市场升级 LangFlow或改用本地代码组件加载RAG 回答完全复述无关内容拆块太大或检索召回不准检查 Splitter 参数和 Vector Store 召回片段缩小 chunk_size、增加 overlap调低温度参数上传 PDF 后内容为空PDF 是扫描件没有文本层用 PDF 阅读器检查是否可复制文字先跑 OCR 生成文本再导入知识库API 调用返回 401API Key 不匹配检查 Header 和 LangFlow API 文档重新生成 API Key 并更新请求头批量任务中途卡住单次请求超时或模型排队查看 Ollama 和 LangFlow 日志增加 timeout加日志重试减小并发数回答内容不准确温度过高或检索片段不足检查 Prompt 模板和温度参数降低 temperature增加召回条数更换模型后 Flow 不起作用模型名填错先执行 ollama run 测试模型可用更新 LangFlow 节点中的模型名8.1 依赖安装失败如果 pip 安装 LangFlow 失败可以尝试python -m pip install --upgrade pip setuptools wheel pip install langflow --upgradeWindows 如果提示找不到 Python确认 Python 已加入系统 PATH并使用python -m pip调用。9. 最佳实践与使用建议把这套组合真正用起来建议遵循以下工程化习惯。9.1 先小后大第一次部署先拉 3B 或 7B 量化模型用一两份文档跑通流程确认 RAG 链路正常后再上更大模型。不要一上来就追求最强模型否则显存不足会把时间耗在排错上。9.2 文档结构化管理健康档案这类文档建议按人员、年份、检查项目分文件管理。输入目录保持清晰向量库重建时按目录批量加载。文件名包含脱敏 ID 和日期便于追溯。9.3 保留最小可运行配置把跑通的 LangFlow Flow 导出为 JSON 文件保存下来。以后换了机器或误操作清空画布可以直接导入复用。9.4 建立测试问题集准备一组标准测试题覆盖明确数值查询如“血糖是多少”范围查询如“近一年的指标变化”文档缺失查询如“文档里没有提到的过敏史”每次修改 Prompt 或拆块参数后用同一组问题回归验证。9.5 注意模型许可证Ollama 拉取的模型遵循各自的开源协议。内部测试没问题但对外商用或二次分发前要确认模型许可证条款。9.6 接口服务安全LangFlow API 如果暴露到局域网或公网务必开启认证。敏感业务还应限制请求频率避免被刷接口。进一步可以使用反向代理加 HTTPS。9.7 隐私合规提醒健康档案数据必须脱敏后入库建议保留完整数据用于医疗场景时遵守相关法规。生成内容仅供辅助参考不能替代专业判断。不要将第三方 API Key 或未授权的私人文档纳入知识库。10. 总结与下一步LangFlow Ollama 的价值不在于技术创新而在于把本地知识库 RAG 的搭建门槛拉到了“零代码”级别。健康档案私有知识库、企业内部资料问答、离线文档检索这类需求用这套组合都能快速验证。最值得优先验证的是小模型跑通完整链路。先用 3B 或 7B 量化模型加一份脱敏文档把拆块、向量化、检索、问答全部走通再逐步调整参数和模型规模。最容易踩的坑集中在三个地方模型名填错、拆块参数过大、显存不足。建议严格按照上面的测试问题集做回归接口调用时加上超时和重试。后续可以扩展的方向包括接入本地 OCR 处理扫描版 PDF、增加多用户权限控制、把 LangFlow 的 Flow 导出成 API 整合到业务系统、尝试 DeepWiki 与 RAG 的联调或者对比 Dify 等其他本地知识库方案找到最适合自己场景的路线。