拓冰建站拓冰建站
首页 / 资讯中心 / 正文

本地知识库部署实战:ollama+DeepSeek+oneApi+fastGPT从零搭建

不知道你有没有遇到过这种情况电脑里存了几百份文档想找的时候翻半天团队协作时同一个问题反复回答想接入AI能力又担心数据上传云端不安全。这些问题说白了就是缺一个“属于自己的知识库”。我前阵子花了两个晚上在Win10台式机上从零搭了一套本地知识库整套组合是 ollama DeepSeek oneApi fastGPT。效果比我预想的好很多推理速度够快文档问答基本靠谱而且全程断网也能用。这篇就把完整的部署过程、踩过的坑、调参心得全部写出来想复现的朋友直接照着抄就行。先说清楚这套组合里每个东西是干嘛的ollama负责在本地跑大模型DeepSeek是具体的模型本体oneApi是一个API网关用来统一管理各种模型接口fastGPT则是知识库应用层负责上传文档、切片、向量化、检索和对话。四者串起来就是fastGPT接收你的提问去知识库里检索相关片段把片段和问题一起封装成请求通过oneApi转发给ollama里的DeepSeekDeepSeek基于上下文生成回答再原路返回。链路清晰每一层都能独立替换这也是我选这套方案的核心原因。1. 整体架构与方案选型1.1 为什么是 ollama DeepSeek oneApi fastGPT这个组合不是随便拼的每一层都有明确的替代品但我最终选了这几个理由很具体。首先是模型层。本地部署大模型ollama几乎是绕不开的工具。它把模型下载、启动、推理接口全封装好了一条命令就能跑起一个模型服务。相比直接装Python环境、手动下载模型权重、自己写推理脚本ollama把门槛拉低了不止一个量级。DeepSeek系列模型在开源模型里属于性价比很高的那一档尤其是R1系列推理能力在本地能跑的模型里非常能打。如果你机器配置一般也可以换qwen2.5、llama3等小参数模型ollama都支持后面我会讲怎么换。然后是网关层。有人会问fastGPT不是能直接连ollama吗为什么中间还要塞一个oneApi这个我一开始也觉得多余但实际用下来发现是必须的。fastGPT官方支持对接各种模型提供商但配置方式五花八门有的走OpenAI兼容格式有的走私有协议。oneApi的作用就是把所有模型统一成OpenAI格式的APIfastGPT只需要配一个入口后面想换模型、加模型、做负载均衡都在oneApi里改不用动fastGPT。而且oneApi自带令牌管理、渠道管理和日志多个人共用一套知识库时特别好使。最后是应用层。fastGPT是知识库领域的成熟方案自带文档上传、分段、向量化、检索、对话工作流和Web界面。没有它的话你得自己写前端、搞向量数据库、写检索逻辑工作量完全是另一个级别。fastGPT虽然是开源项目但功能做得相当完整社区也活跃文档齐全国内用户部署踩坑能找到大量现成答案。1.2 本地部署和云端方案怎么选我在动手之前也犹豫过要不要直接用在线服务比如调用云端API或者用现成的SaaS知识库。对比下来发现本地部署有几个优势是云端替代不了的。数据隐私是最关键的。公司内部文档、个人笔记、项目资料这些东西传到第三方服务总觉得心里没底。本地部署意味着所有数据都留在自己的硬盘上断网也能用特别适合涉密或敏感场景。不过要注意本地部署不等于绝对安全硬盘被偷、系统中毒一样会泄露所以重要数据该加密还是要加密。成本方面如果只是自己用本地部署的硬件成本其实也不低一块像样的显卡就要几千块。但如果你有现成的电脑且只是处理中等规模的文档纯CPU跑小参数模型也能凑合只是慢一点。云端API按token计费频繁提问的话每月也是一笔开销长期用下来本地反而省钱。灵活性上本地部署完全是自己的地盘。想换模型、改提示词、调参数、加自定义工具都随便折腾。云端方案往往被平台限制很多高级功能要开企业版才给用。我这种喜欢瞎折腾的人本地部署肯定是首选。1.3 这套架构能做什么适合谁部署完之后我能干这些事把几十份PDF和Word文档扔进去然后问“项目验收报告里的风险点有哪些”系统会自动定位到相关文档段落再结合大模型生成总结让知识库帮我写周报它会基于我历史周报的格式模板和本周的工作记录生成草稿还可以把它接入飞书机器人或微信同事直接发消息提问后端自动查知识库返回答案。这套方案适合三类人一是程序员或技术爱好者想体验本地大模型和知识库的完整链路二是中小企业或小团队有内部文档管理需求又不想把数据交给第三方三是对数据敏感的个人用户比如律师、医生、研究者需要本地化处理专业资料。如果你完全不懂技术那还是建议用现成的云端知识库本地部署的门槛虽然已经被大幅拉低但依然需要一点命令行和配置文件的基础。2. 环境准备与基础工具安装2.1 Win10系统要求与硬件建议先说结论你能跑奇迹般的配置就能跑这套知识库但体验天差地别。我的实机配置是i7-10700 32GB内存 显卡是GTX 1660 Super 6GB跑DeepSeek-R1的7B量化版比较勉强推理速度大约每秒8到12个token单轮问答要在屏幕上等十多秒。如果你有条件上RTX 3060 12GB或更高显存的卡跑7B模型会流畅很多如果只有CPU也不是不能跑但建议用更小的模型比如qwen2.5:3b或deepseek-r1:1.5b速度勉强可接受。系统方面Win10 22H2以上的版本都行建议64位。内存最少16GB知识库文档多的时候fastGPT和向量模型会吃掉好几个GB内存。硬盘需要预留至少30GB空间模型文件平均每个几个GB再加上Docker镜像、fastGPT的数据目录空间很快就上去了最好装固态盘模型加载速度快很多。2.2 安装ollama并配置国内镜像源ollama的安装很无脑去官网下载Windows安装包双击一路Next就行。装完以后打开命令行WinR输入cmd回车输入ollama --version看到版本号说明装好了。接下来是重点下载模型。如果你直接运行ollama run deepseek-r1:7b大概率会卡在下载进度条上因为模型文件托管在海外服务器国内下载速度极其感人我见过有人挂了一晚上下了一半不到。解决办法是配置国内镜像源。在Windows上配置ollama镜像需要设置环境变量OLLAMA_MODELS指向你希望存放模型的目录然后设置OLLAMA_BASE_URL不对ollama本身不需要镜像源需要镜像的是模型下载地址。正确做法是通过ollama的环境变量OLLAMA_HOST和OLLAMA_MODELS来配置但下载源本身目前可以通过设置代理或者使用国内的一些镜像站点。这里我不展开不合规的方式只说最稳妥的直接用ollama pull反复多试几次或者用ollama pull --insecure不这不是关键。更靠谱的办法是找一台有国际网络的机器把模型下载好然后通过U盘或内网传输到目标机器上。ollama模型文件可以离线导入后面我会详细讲。实际经验是如果在网络高峰时段下载容易断流多试几次或者改一下超时时间。ollama没有提供下载超时配置但你可以通过设置OLLAMA_READ_TIMEOUT环境变量为600000单位毫秒来延长请求超时这样下载不容易中断。设置方法右键“此电脑” - 属性 - 高级系统设置 - 环境变量在系统变量里新建变量名OLLAMA_READ_TIMEOUT变量值600000。改完之后重启ollama服务再重新pull成功率会高很多。2.3 用离线包安装ollama模型如果你实在下载不下来离线导入是最后的手段。先在一台能正常上网的电脑上安装ollama然后执行ollama pull deepseek-r1:7b拉取完成后模型文件会在ollama的模型目录下。Windows默认位置是C:\Users\你的用户名\.ollama\models。把整个models文件夹拷贝到U盘再覆盖到目标电脑的同名目录下。注意目标电脑也要先装好ollama且版本尽量一致。覆盖完之后命令行输入ollama list能看到模型列表就说明导入成功。这个方法听起来麻烦但对国内用户来说其实是最省心的不用跟龟速网络死磕。我第二次给另一台机器部署时就是直接用U盘考的几分钟搞定。2.4 安装Docker Desktop和GitfastGPT官方推荐用Docker部署所以Windows上需要安装Docker Desktop。安装前确保你的BIOS里虚拟化已经开启任务管理器 - 性能 - CPU右下角如果显示“虚拟化: 已启用”就可以。如果没启用重启进BIOS把Intel VT-x或AMD-V打开。Docker Desktop装完之后设置里把镜像源换成国内的加速器避免拉取镜像时卡死。这里不在图里写地址你自己搜索“Docker国内镜像加速”就有很多选一个稳定的即可。我用的阿里云容器镜像服务的加速地址实测速度不错。Git也需要装因为fastGPT部分文件要从GitHub拉取。Git的安装同样一路Next装完在命令行输入git --version验证。2.5 安装Python和Node.js虽然fastGPT提供了Docker镜像但有些辅助脚本和工具还需要Python和Node.js环境。我建议顺手都装上省得后面缺什么再补。Python建议装3.10或3.11版本安装时记得勾选“Add Python to PATH”。Node.js装18或20的LTS版本就行。装完以后命令行分别输入python --version和node --version有输出就OK。3. 核心组件部署与配置3.1 部署oneApi网关oneApi是一个开源项目官方提供了Docker镜像和可执行文件两种方式。我这里用Docker方式因为干净、好卸载。先拉取镜像docker pull justsong/one-api启动容器docker run --name one-api -d --restart always -p 3000:3000 -v /etc/one-api:/data justsong/one-api这里把宿主机/etc/one-api目录挂载到容器内的/data用于持久化配置和日志。如果你Windows上之前没有这个目录Docker会自动创建或者你先手动建一个比如D:\docker\one-api。启动完浏览器访问http://localhost:3000默认管理员账号是root密码是123456登录后它会强制你修改密码。改完后进入后台第一件事是添加渠道。3.2 配置oneApi对接ollamaollama启动后默认监听127.0.0.1:11434并且提供了一个兼容OpenAI格式的接口地址是http://127.0.0.1:11434/v1。oneApi里添加渠道时类型选“OpenAI”密钥随便填一个比如ollama代理地址填http://host.docker.internal:11434。这里有个关键的坑在Docker容器内部不能直接用127.0.0.1访问宿主机要用host.docker.internal这个特殊域名它专门用来从容器内部访问宿主机服务。如果直接用127.0.0.1oneApi会连不上ollama报连接拒绝。模型列表填deepseek-r1:7b。注意要和你在ollama里下载的模型标签完全一致大小写、冒号都不能错。填完保存。3.3 在oneApi中创建令牌在oneApi的“令牌”页面创建一个新令牌选择一个过期时间我选的永久有效额度不用限制然后保存。保存后你会看到一串以sk-开头的密钥。这串密钥就是fastGPT将来调用oneApi时的凭证要注意保存好泄露了别人就能白嫖你的本地模型。3.4 部署fastGPTfastGPT的部署方式推荐用Docker Compose因为会同时拉起fastGPT应用、MongoDB和PostgreSQL/Redis其实fastGPT主要依赖MongoDB和PostgresSQL/Redis我查了一下fastGPT新版本需要MongoDB和PostgreSQL还有一套oneapi作为内部网关。具体的docker-compose文件在官方仓库里。我重新梳理一下fastGPT各版本要求v4.6版本开始需要MongoDB向量数据库支持PgSQL也支持Milvus等。我们本地部署用最简单的方案Docker Compose拉起fastGPT MongoDB PgSQL即可。先把fastGPT的docker-compose.yml弄到手。推荐直接克隆官方仓库git clone https://github.com/labring/FastGPT.git cd FastGPT/deploy/docker在这个目录下有一个docker-compose.yml文件。但官方最新版默认是给v4服务的你可以用docker-compose.pg.yml模板里面配置了MongoDB和PgSQL。我建议用docker-compose.yml最新版不过如果遇到问题可以用旧版本tag。一种更稳妥的方式直接拉官方发布的镜像然后手动写compose文件。以下是我实测可用的精简版composeversion: 3.9 services: pg: image: pgvector/pgvector:pg16 container_name: fastgpt_pg restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: fastgpt volumes: - ./pg_data:/var/lib/postgresql/data ports: - 5432:5432 mongo: image: mongo:5.0 container_name: fastgpt_mongo restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: root MONGO_INITDB_DATABASE: fastgpt volumes: - ./mongo_data:/data/db ports: - 27017:27017 fastgpt: image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest container_name: fastgpt restart: always depends_on: - mongo - pg ports: - 8080:3000 environment: DEFAULT_ROOT_PSW: 123456 DB_HOST: mongo DB_PORT: 27017 DB_NAME: fastgpt DB_USERNAME: root DB_PASSWORD: root PG_HOST: pg PG_PORT: 5432 PG_NAME: fastgpt PG_USER: postgres PG_PASSWORD: postgres ONEAPI_HOST: host.docker.internal ONEAPI_PORT: 3000 volumes: - ./fastgpt_data:/app/data注意上面的镜像地址用阿里云镜像加速地址如果拉不动可以换fastgpt/fastgpt:latest但国内环境下还是用镜像站靠谱。保存为docker-compose.yml在当前目录执行docker-compose up -d第一次启动会拉取三个镜像耐心等待。启动完后访问http://localhost:8080用root / 123456登录。登录后第一件事是改密码然后在“模型设置”里配置模型。3.5 fastGPT配置模型和oneApi对接登录fastGPT后台后进入“模型设置” - “模型列表”你会看到默认有一些模型配置这些配置指向的是fastGPT自带的oneApi链接。我们需要把它们改成指向自己的oneApi。在fastGPT的配置文件里它支持在环境变量里设置ONEAPI_HOST和ONEAPI_PORT这样fastGPT就会使用你的oneApi地址。我上面写的compose环境变量已经包含了这两个配置。这样fastGPT和oneApi集成后你只需要在oneApi里配置渠道和模型fastGPT就能自动识别到。如果环境变量不生效你可以直接改fastGPT的配置文件/app/data/config.json在宿主机上挂载的./fastgpt_data/config.json把llmModels数组里每个模型对象的requestUrl改成http://host.docker.internal:3000/v1apiKey改成你在oneApi创建的令牌。改完重启容器。实际操作中我发现直接改环境变量是最省事的因为fastGPT最新版已经集成oneApi的地址逻辑。我用的是旧版本就改配置文件。改完重启docker-compose restart fastgpt刷新网页在模型设置里应该能看到oneApi里的模型列表。如果这里的模型是空的先检查oneApi的渠道和令牌是否生效。3.6 创建知识库并上传文档fastGPT界面左侧有“知识库”入口点击新建名称随意向量模型选“Embedding”。这里需要说明fastGPT做知识库依赖Embedding模型生成向量。它默认带的Embedding模型可能指向云端API我们本地没有所以需要额外在oneApi里配置一个Embedding模型。最省事的方式是使用ollama里的nomic-embed-text或bge-m3这类嵌入模型。先在ollama拉取嵌入模型ollama pull nomic-embed-text然后在oneApi里新增一个渠道模型名写nomic-embed-text代理地址同样写http://host.docker.internal:11434。这样fastGPT在创建知识库时选择向量模型就能看到nomic-embed-text了。如果你不想用本地Embedding模型也可以改用fastGPT自带的云端模型那就违背本地部署的初衷了不推荐。建好知识库之后点“上传文档”选择PDF、Word、TXT等格式。fastGPT会自动把文档分段然后调用Embedding模型把每段转成向量存到PgSQL里。上传完一般过几十秒就能看到分段预览此时可以先做一个简单的“检索测试”在知识库页面右侧的测试框里输入一句话看看能否召回相关片段。如果召回结果为空多半是Embedding模型或向量化没配好。4. 实操过程与核心环节实现4.1 数据库初始化和环境变量核对第一次部署时最容易出问题的是环境变量。我建议按照下面这个表格核对一遍防止遗漏。组件环境变量我这里的值说明MongoMONGO_INITDB_ROOT_USERNAMEroot数据库管理员账号MongoMONGO_INITDB_ROOT_PASSWORDroot密码生产环境请改强密码PgSQLPOSTGRES_USERpostgres数据库用户PgSQLPOSTGRES_PASSWORDpostgres密码fastGPTDB_PASSWORDroot对应Mongo密码fastGPTPG_PASSWORDpostgres对应PgSQL密码fastGPTONEAPI_HOSThost.docker.internal宿主机地址fastGPTONEAPI_PORT3000oneApi端口oneApi渠道代理地址http://host.docker.internal:11434ollama地址配置前后要检查Mongo和PgSQL的容器是否为健康状态。可以用docker-compose ps查看或者直接看日志docker-compose logs mongo docker-compose logs pg如果日志里没有报错说明启动正常。如果Mongo认证失败fastGPT容器会重复尝试连接日志里能看到Authentication failed这时候去compose文件里核对账号密码是否完全一致。4.2 验证ollama模型接口在配置oneApi之前先验证ollama的接口能不能正常工作。命令行里执行curl http://localhost:11434/v1/models如果返回一串JSON里面有模型ID列表说明ollama的OpenAI兼容接口已经可以访问了。接着测试对话接口curl http://localhost:11434/v1/chat/completions -H Content-Type: application/json -d {\model\:\deepseek-r1:7b\,\messages\:[{\role\:\user\,\content\:\你好\}]}如果返回包含choices的JSON说明模型推理正常。这一步通过之后再进入oneApi配置基本能排除方连不通的问题。4.3 oneApi渠道与令牌配置细节在oneApi后台渠道列表里新建渠道注意以下几点类型必须选“OpenAI”。代理地址写http://host.docker.internal:11434。密钥随便填比如填ollama因为ollama本身不校验密钥oneApi只是需要非空。模型列表一定要写准确名称。比如你在ollama里查到的模型名是deepseek-r1:7b那就填这个不要自己改成deepseek-r1或deepseek-r1-7b。保存后点渠道旁边的“测试”按钮如果返回成功说明oneApi到ollama的链路没问题。然后创建令牌令牌就是给fastGPT用的。创建后复制密钥比如sk-abc123。自己先用curl测一下oneApi的接口通不通curl http://localhost:3000/v1/chat/completions -H Content-Type: application/json -H Authorization: Bearer sk-abc123 -d {\model\:\deepseek-r1:7b\,\messages\:[{\role\:\user\,\content\:\你好\}]}这个请求会经过oneApi转发到ollama再返回结果。如果成功说明oneApi的工作完全正常。4.4 fastGPT应用创建和对话测试在fastGPT界面里左侧“应用”-“新建应用”模板选“知识库问答”或“简易问答”。然后在应用设置里选择对话模型为deepseek-r1:7b知识库选择刚才创建的知识库。保存后在“预览”窗口里提问。建议先问一个跟文档内容高度相关的问题比如文档里写了“项目上线时间是12月30日”就问“项目什么时候上线”。如果回答里给出了正确日期说明整个链路是通的。如果回答是瞎编的可能是检索没命中也可能是模型的提示词没设置好。在我的实测中fastGPT默认的提示词效果一般它会强制模型根据知识库回答但面对模型不知道的问题它会生硬地回答“根据已知信息无法回答”。这个行为可以通过修改应用设置的“提示词”来调整比如改成“请基于提供的资料回答如果资料不足可以结合你的常识但需说明哪些是你推测的”。4.5 调优大模型输出效果的几个参数fastGPT在应用设置里有一个“模型参数”区域里面有几个关键参数直接影响回答质量。温度控制随机性默认0.7知识库问答场景建议调到0.1到0.3。温度越低回答越保守、越稳定不容易发散。我日常用0.2效果很好。top_p核采样默认0.9可以不动。如果觉得回答太飘适当调低到0.7。max_tokens最大生成长度这个要根据问题复杂度来。默认4000其实fastGPT允许设置我一般设2000到3000防止模型生成冗长的废话。知识库搜索数量这是fastGPT特有的控制每次检索召回多少段文档。默认3到5段。如果文档特别长可以调高到8这样模型能获取更多上下文但也更消耗token回答可能变慢。我一般保持5。相似度阈值低于这个值的结果会被过滤掉。默认0.8其实阈值太高会导致召回结果太少太低会召回一堆不相关的。我建议0.3到0.5之间。具体值和Embedding模型有关系需要实测调整。4.6 把知识库接入飞书机器人的扩展思路部署完基础的Web问答之后可以再进一步把fastGPT接入飞书、企业微信或钉钉机器人。fastGPT官方支持WebApp直接分享链接也支持通过API对接第三方聊天工具。最简单的方式是用fastGPT的“WebApp分享”功能。在应用页面点“分享”它会生成一个链接把这个链接发到浏览器里就能直接对话。这种方式适合自己用。如果想接入飞书需要在飞书开放平台创建机器人拿到webhook地址或app credentials然后在fastGPT里通过“外部集成”功能配置。fastGPT的文档里有专门章节讲这个我这里就不深入了。但思路就是通过fastGPT的API将消息转发给模型再返回结果到聊天工具。这样团队的人不需要登录fastGPT直接在飞群里就能提问体验非常好。5. 常见问题与排查技巧实录5.1 ollama模型下载慢或失败这是最高频的问题。我前面提到过设置OLLAMA_READ_TIMEOUT环境变量实际效果有限。更推荐离线导入的方法。如果你非要在线下载可以试试多线程加速工具比如 IDM、aria2但它们需要你手动拼接下载链接比较麻烦。另一种思路是在ollama pull的时候它会显示进度条。如果长时间卡在0%可能是DNS解析问题。可以试着修改DNS为223.5.5.5或114.114.114.114有时候会有奇效。如果下载到一半断了重启ollama再执行同样的命令它会断点续传不用重新下。实测验证了这点所以中途断了不要慌先重启再pull几次。5.2 oneApi测试报错“unauthorized”或“not found”如果oneApi测试渠道时返回unauthorized先检查你是否在oneApi的令牌管理里创建了令牌并填到了密钥框里。如果返回not found通常是模型名和ollama里的不一致。注意大小写和冒号。还有一个容易踩的坑模型名里如果有版本号比如deepseek-r1:7b在oneApi里填模型列表时不要加引号不要加空格。如果返回连接超时检查你的oneApi容器是否能访问宿主机的ollama。确认一下用的是host.docker.internal而不是127.0.0.1。另外Windows防火墙可能拦截了容器到宿主机的访问可以临时关闭防火墙测试只是排查用测完记得开回来。5.3 fastGPT连接oneApi后看不到模型fastGPT模型列表是通过oneApi的/api/model接口动态获取的其实老版本是读本地配置新版本是直接读取oneApi渠道。如果你在oneApi里新加了一个渠道fastGPT里立刻就能看到可能需要重启fastGPT容器。如果还不行就去config.json的llmModels里手动添加模型注意模型的model字段要和oneApi渠道里的模型名一致apiKey填oneApi的令牌。5.4 知识库检索结果为空这个问题有几种原因。首先是Embedding模型没配置好。fastGPT在创建知识库时选了一个向量模型之后上传文档时它会调用这个模型生成向量。如果ollama里的Embedding模型没跑起来向量化就会失败历史记录里能看到错误。其次是相似度阈值设置太高。我一开始设了0.8结果几乎所有检索都被过滤掉了换成0.3之后立刻有结果。你可以在知识库的“检索测试”界面把相似度阈值调低再试。还有一个原因是文档没有成功分段。fastGPT对于扫描版PDF是处理不了的它需要文档里有可复制的文字层。如果上传的是图片扫描件需要先用OCR工具转成文本。我有一份PDF就是扫描件上传后检索不到任何内容后来用PaddleOCR提取文字再上传问题解决。5.5 推理速度慢GPU占用率不高DeepSeek-R1 7B在6GB显存的卡上跑速度有点勉强。如果你在任务管理器里看到GPU占用率上不去但CPU爆满很可能是因为模型没有完全加载到显存。可以先查一下ollama是否把模型加载到了GPU。在模型加载后执行ollama ps它会显示当前加载的模型及GPU显存使用情况。如果显示100% CPU说明预算不够模型没有用GPU推理。解决办法是换更小的模型比如deepseek-r1:1.5b或者把量化位数降低。ollama支持通过修改OLLAMA_GPU_LAYER来控制GPU加载的层数可以试着设置环境变量让它强制多加载一些层到GPU但对付7B模型6GB显存确实不够建议要么换卡要么换模型。5.6 常见问题速查表现象可能原因解决办法ollama拉取模型进度条不动网络问题或DNS解析慢重启ollama重试临时改DNS离线导入对话接口返回连接被拒绝ollama没有启动或端口不对运行ollama serve检查11434端口oneApi测试渠道失败代理地址填成了127.0.0.1改成host.docker.internalfastGPT报“Bad gateway”fastGPT容器无法访问oneApi检查ONEAPI_HOST和ONEAPI_PORT环境变量知识库向量化失败Embedding模型没在oneApi配置在oneApi添加nomic-embed-text渠道文档检索不到内容扫描版PDF或阈值过高先OCR转文本调低相似度阈值回答内容与文档无关温度太高或检索片段太少调低温度增加搜索数量5.7 关于模型选择的个人建议这套架构最爽的地方就是模型可以随便换。ollama里能跑模型很多我用DeepSeek-R1 7B做推理用nomic-embed-text做Embedding整体体验已经不错。如果你的机器配置一般又对中文理解要求高我推荐试一下qwen2.5:7b-instruct它在中文问答上的表现很稳速度也比DeepSeek-R1快。如果配置很强比如32GB以上显存可以上deepseek-r1:32b那个在逻辑推理上的表现会上一个台阶。另外如果你是纯CPU用户建议用qwen2.5:3b或llama3.2:3b量化等级选q4_0内存占用小速度也能接受。Embedding模型bge-m3也是一个很好的选择对中文的支持比nomic更好但就是体积大一点。结尾整个项目从零到能用我大概花了两个晚上期间踩了不少坑最大体会是这种多组件串联的部署90%的问题都出在网络连通性上。只要把ollama能通 - oneApi能通 - fastGPT能通这条链路一层层验证好剩下的事情就是配置和调参了。如果你也打算在Win10上折腾这套知识库建议先按我第4章的验证步骤走一遍每层都确认无误再往下接会省掉大量排查时间。最后再分享一个我一直在用的小技巧把ollama的模型全部拉到本地之后可以给ollama设置OLLAMA_KEEP_ALIVE600让模型在内存里多驻留一段时间这样连续问多轮问题时省去每次重新加载模型的时间体验会顺滑很多。另外日常如果不用知识库可以把Docker容器停掉等需要的时候再启动省内存也省电。希望这篇能帮到你有问题欢迎在评论区交流。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门