news 2026/8/24 2:10:42

Yuxi-Know故障排除速查:五个阶段搞定部署报错

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Yuxi-Know故障排除速查:五个阶段搞定部署报错

Yuxi-Know故障排除速查:五个阶段搞定部署报错

【免费下载链接】Yuxi可私有部署的多租户知识智能体平台:统一 RAG、知识图谱、多智能体、MCP/Skills、沙盒与权限管理。Self-hosted knowledge agent platform for RAG, knowledge graphs and multi-agent workflows.项目地址: https://gitcode.com/GitHub_Trending/yu/Yuxi

Yuxi-Know 是可私有部署的多租户知识智能体平台,集 RAG 知识库、知识图谱与多智能体编排于一体。遇到部署失败、启动报错或检索异常时,按这篇做 Yuxi-Know 故障排除:先对照诊断表定位阶段,再按"启动前 → 起不来 → 功能不对 → 占资源 → 还卡住"的时间线修。

你看到的现象最可能的原因跳到哪一节
port 5050 / 5173 is already allocated端口被其他进程占用启动前自检
Set API_KEY_DERIVATION_SECRET in .env.env缺失或密钥不合规启动前自检
api-dev 反复重启,/ready返回 503依赖未就绪或冷启动未完成容器起不来
能登录但模型调用全失败模型供应商未配置凭证起来了但功能不对
图谱空、检索无结果轻量模式未拉起 Neo4j/Milvus起来了但功能不对
GPU 报 OOM、解析任务卡死显存不足答得慢、显存吃紧

🔍 启动前自检:端口与环境变量先过一遍

up之前,两分钟确认这两项,能避开大部分启动报错。

启动就报port is already allocated

  • 现象:docker compose up直接失败,输出Bind for 0.0.0.0:5050 failed: port is already allocated,web 端则是 5173。
  • 根因:api 服务固定占 5050,开发态前端占 5173,宿主机上另有进程先用了这两个端口。
  • 修复:
    1. 运行ss -tlnp | grep -E '5050|5173'找出占用进程。
    2. 停掉该进程,或改docker-compose.yml中对应ports映射。
  • 验证:docker compose ps全部 Up,浏览器能打开http://localhost:5173

compose 报Set API_KEY_DERIVATION_SECRET in .env

  • 现象:还没进入构建就报错,提示Set API_KEY_DERIVATION_SECRET in .env [v0.7.2+], or rerun bash scripts/init.sh
  • 根因:开发环境读.env、生产环境读.env.prod,密钥由初始化脚本生成;手工删改或位数不足(要求 32 位以上)就会触发 compose 的强制校验。
  • 修复:
    1. ls -l .env .env.prod确认文件存在。
    2. 缺失或损坏时重跑bash scripts/init.sh(Windows 用scripts\init.ps1)重新生成密钥。
    3. 生产部署还需在.env.prod配齐POSTGRES_PASSWORDNEO4J_PASSWORDMINIO_ACCESS_KEY等项。
  • 验证:docker compose config不再抛错即通过。

🚀 容器起不来:先等三分钟,再动手

api-dev 反复重启,/ready一直 503

  • 现象:docker ps里 api-dev 状态是 Restarting,健康检查连续失败。
  • 根因:健康检查的 start_period 给了 180 秒,首次启动要做存储迁移和内置模型模板同步,冷启动本来就慢;postgres、redis 未 healthy 前 api 也不会就绪。
  • 修复:
    1. 等满 3 分钟,跑docker compose ps看依赖是否都 healthy。
    2. 仍重启则执行docker logs api-dev --tail 100,只看第一条错误。
  • 验证:curl -s http://localhost:5050/api/system/ready返回 200 且statusready

graph 容器不健康,Neo4j 认证失败

  • 现象:docker logs graph反复出现认证失败,api 日志里报 neo4j 连接异常。
  • 根因:Neo4j 的认证串是neo4j/NEO4J_PASSWORD.env里的密码与数据卷中已有的库不一致时,每次连接都会被拒。
  • 修复:
    1. docker logs graph判断是认证错误还是启动错误。
    2. 核对.envNEO4J_URI=bolt://graph:7687NEO4J_USERNAMENEO4J_PASSWORD三项一致。
    3. 改过密码又连不上的话,恢复原密码;确认可丢数据再清空docker/volumes/neo4j/data重建。
  • 验证:docker compose ps graph显示 healthy。

🧩 起来了但功能不对:模型、图谱、解析逐一查

模型调用失败:先查模型供应商

  • 现象:发消息报模型调用超时或鉴权失败,回答流出不来。
  • 根因:所有对话、嵌入、重排模型都走"智能体管理 → 模型供应商"页面统一管理,内置模板只代表"可添加",凭证、启用、模型三步都没做时调用必挂。

  • 修复:
    1. 用管理员账号进入"智能体管理 → 模型供应商",启用目标供应商。
    2. 填 Base URL 与 API Key,再添加并选中模型;密钥须与供应商文档一致。
  • 验证:发一条测试消息,回答能正常流式输出。

图谱是空的、检索没结果:可能开了轻量模式

  • 现象:平台功能正常,但知识图谱区域空着,图谱检索返回为空。
  • 根因:make up-lite只启动 postgres、redis、minio、api、worker、web,LITE_MODE=true下 graph 与 milvus 根本不拉起。
  • 修复:
    1. docker compose ps确认 graph、milvus 是否在跑。
    2. 需要图谱与向量检索时,切回完整模式:docker compose up --build
  • 验证:知识库页面能看到图谱构建任务,检索返回引用来源。

文档解析失败:图片、PDF 一直卡在"解析中"

  • 现象:上传backend/test/data/测试图片.png这类图片或 PDF 后,状态长时间不更新。
  • 根因:解析依赖 mineru-api(30001)和 paddlex(8080),二者属于allprofile,默认up不带。
  • 修复:
    1. curl -s http://localhost:5050/api/system/ocr/health看解析后端健康状态。
    2. 按需补启:docker compose --profile all up -d mineru-api paddlex(需 GPU 环境)。
  • 验证:重新解析失败文件,状态变为成功且可预览。

⚡ 答得慢、显存吃紧:调两个 GPU 参数

MinerU 显存不足:OOM 或起不来

  • 现象:mineru-api 反复重启,日志出现 CUDA out of memory。
  • 根因:vLLM 引擎默认按整卡预留 KV 缓存,单卡显存被解析模型吃满。
  • 修复:
    1. docker-compose.yml的 mineru-api command 里启用注释中的--gpu-memory-utilization 0.5
    2. 仍不足就降到0.4,然后docker compose up -d mineru-api重建。
  • 验证:curl -s http://localhost:30001/health返回正常,容器保持 healthy。

多卡机器吃不满:改device_ids

  • 现象:降参数后显存仍紧张,机器上还有闲置的卡。
  • 根因:compose 里 deploy.devices 默认只预留device_ids: ["0"],其余 GPU 未分配。
  • 修复:
    1. 将 mineru-api 与 paddlex 的device_ids改为["0", "1"]
    2. docker compose --profile all up -d --build重建相关服务。
  • 验证:nvidia-smi能看到两张卡都有解析进程占用。

🛟 还解决不了:日志与健康端点

两个健康端点先分阶段

  • /api/system/health返回 200 说明进程活着;/api/system/ready返回 503 说明存储或依赖没就绪。两个端点一组合,就能把问题圈定在"进程层"还是"依赖层"。

日志去哪找

  • 现象:界面上的报错不足以定位问题。
  • 根因:最直接的线索在容器日志里;应用同时把yuxi-YYYY-MM-DD.log写到容器内运行时目录,逻辑见backend/package/yuxi/utils/logging_config.py
  • 修复:
    1. docker logs api-dev --tail 200docker logs worker-dev --tail 200
    2. 需要文件日志时docker exec -it api-dev sh,查看/app/runtime/api/logs/
  • 验证:能在日志里找到与报错时间戳吻合的 ERROR 行。

反馈问题前,收集这三样

  1. docker ps -a的完整输出,记录每个容器状态。
  2. docker logs api-dev中报错段落与/ready端点返回。
  3. 版本号(/api/system/health返回的version)与.env关键项(密钥打码)。

记住这三句:

  1. 按 up 之前先看端口和.env,按 up 之后先给 ready 三分钟。
  2. 起来了但不对,先怀疑配置:模型供应商、轻量模式、解析服务三处。
  3. 日志是唯一线索,docker logs加两个健康端点就是故障排除的第一站。

【免费下载链接】Yuxi可私有部署的多租户知识智能体平台:统一 RAG、知识图谱、多智能体、MCP/Skills、沙盒与权限管理。Self-hosted knowledge agent platform for RAG, knowledge graphs and multi-agent workflows.项目地址: https://gitcode.com/GitHub_Trending/yu/Yuxi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 2:10:27

AI智能体协作新范式:基于文件系统的共享工作区设计与实践

你有没有遇到过这样的场景:几个AI智能体协作处理一个复杂任务,比如一个负责分析数据,一个负责生成报告,一个负责检查格式。你满怀期待地启动流程,结果发现:智能体A生成的结果,智能体B找不到&…

作者头像 李华
网站建设 2026/8/24 2:10:21

AVO:基于智能体的进化算法变异算子自主进化技术

1. 从“自动调参”到“自主进化”:AVO的范式革新最近在折腾一些自动化机器学习(AutoML)和进化算法(Evolutionary Algorithm, EA)的项目时,我一直在思考一个问题:我们费尽心思设计的变异算子&…

作者头像 李华
网站建设 2026/8/24 2:10:19

从零构建企业级RAG系统:智能客服知识库实战指南

如果你正在尝试将大语言模型(LLM)应用到你的业务或项目中,大概率会遇到一个核心矛盾:模型本身知识有限且可能过时,而你的业务数据又无法直接“喂”给它。你可能会想,能不能让 AI 只基于我提供的文档来回答问…

作者头像 李华
网站建设 2026/8/24 2:09:21

Python全栈开发高校实习管理平台实战

1. 项目背景与核心需求高校学生实习管理一直是教育信息化中的痛点领域。传统模式下,学生找实习靠Excel表格汇总、教师跟踪进度靠微信群接龙、企业发布岗位用邮件往来——这种碎片化管理导致信息孤岛严重、流程效率低下、数据统计困难。我们团队基于Python全栈技术构…

作者头像 李华
网站建设 2026/8/24 2:08:59

Draco 压缩一篇讲透:从参数到验证

Draco 压缩一篇讲透:从参数到验证 【免费下载链接】draco Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics. 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/8/24 2:08:13

Pi Agent 接入 DeepSeek API 实战:打造低成本、高效率的 AI 编程助手

最近在折腾AI编程助手的朋友,可能都注意到了两个现象:一是DeepSeek的API调用成本虽然相对友好,但积少成多也是一笔开销;二是市面上的AI助手工具越来越多,但真正能无缝融入开发流、不打断思路的却很少。如果你也遇到了类…

作者头像 李华