ODS聊天请求全链路:从浏览器到GPU推理的5步之旅

发布时间:2026/9/15 10:27:55
ODS聊天请求全链路:从浏览器到GPU推理的5步之旅 ODS聊天请求全链路从浏览器到GPU推理的5步之旅【免费下载链接】ODSTurn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation.项目地址: https://gitcode.com/GitHub_Trending/dr/ODSODS是一个自托管的本地 AI 服务器Local AI Server一条命令即可在你的 PC、Mac 或 Linux 机器上部署完整的 AI 系统LLM 推理、聊天界面、语音、智能体、工作流、RAG 与图像生成。这篇文章带你看懂 ODS 聊天请求全链路——你在浏览器输入一句话后它如何一步步抵达 GPU 推理并流式返回答案整个过程共 5 步全程不离开你的机器。️ 全链路总览一张图看懂 5 步在 ODS 中聊天请求的默认路径是浏览器 →open-webui:3000→llama-server:8080→ GPU 推理 → 流式响应返回浏览器如果开启了混合模式hybrid则会在中间多经过一层LiteLLM 网关:4000先尝试本地模型本地不可用时自动回退到云端 API。步骤角色所在服务端口① 接收聊天界面前台open-webui3000② 路由API 网关电话交换台litellm4000③ 分发模型路由器选择具体后端model-router9099内部④ 推理本地 LLM 引擎大脑llama-server8080⑤ 返回流式响应回到浏览器——完整的端口分配见 ods/config/ports.json整体架构可在 ARCHITECTURE.md 中查到。第 1 步open-webui 接收你的聊天请求 打开浏览器访问http://localhost:3000你看到的聊天窗口就是Open WebUI容器。它是整个系统的前台接待负责管理你的对话历史与文件上传若你开启语音输入先把音频交给Whisper:9000转成文字若问题涉及实时信息先向SearXNG:8888发起本地元搜索把搜索结果和你的问题打包成一条更大的消息它并不负责思考。在 ods/docker-compose.base.yml 中可以清楚看到它的思考目标——通过环境变量OPENAI_API_BASE_URL直接指向 llama-server 的/v1接口OPENAI_API_BASE_URL: ${OPEN_WEBUI_LLM_BASE_URL:-${LLM_API_URL:-http://llama-server:8080}/v1}服务之间靠 Docker 内网的名字llama-server、searxng互相寻址你永远不用手动配置 IP 或端口。第 2 步路由抉择——直连还是经过 LiteLLM 网关 ODS 有两种聊天路径本地模式默认最短路径open-webui 直连llama-server:8080请求直达 GPU。这是字节级最简的链路无任何额外开销。混合模式hybridopen-webui 指向 LiteLLM 网关。LiteLLM 是一位智能交换台话务员——请求进来后它决定去向绝大多数时候发给本地 llama-server若你配置了云端模型且本地繁忙或失败则按 ods/config/litellm/hybrid.yaml 中的fallbacks规则自动回退到云端local: - cloud用ods mode local / cloud / hybrid三个命令即可切换无需改动任何配置。第 3 步model-router 选定具体后端模型 在多模型或频繁换模型的部署中ODS 引入了一个稳定模型名ods/current所有应用Open WebUI、Hermes、Perplexica 等都只调用这个名字而ods/current由model-router服务根据模型状态文件model-state.json解析到当前已验证健康的具体后端。设计要点详见 ods/docs/MODEL-SWITCHBOARD.mdOpen WebUI 等消费者 → model ods/current → LiteLLM 鉴权与策略 → ODS model-router → llama.cpp / Lemonade 等具体后端这样换模型时消费者零改动且切换失败时活跃路由永远保持不动或原子回滚聊天体验不会中断。第 4 步llama-server 加载模型并执行 GPU 推理 请求到达llama-serverllama.cpp 官方服务这是 ODS 的大脑。它的工作流程读取 GGUF 模型模型文件位于data/models/由安装器根据你显卡的显存VRAM自动按硬件档位挑选大小——8GB 显存配 7B 级模型更大的显存配更强模型GPU 加速NVIDIA 走 CUDA、AMD 走 ROCm/Vulkan 的 GPU overlay 镜像模型层通过--n-gpu-layers卸载到显卡显存逐词生成以 OpenAI 兼容的POST /v1/chat/completions接口接收请求逐 token 流式生成回复好硬件上可达每秒上百词关键启动参数--model、--ctx-size、--parallel等定义在 ods/docker-compose.base.yml。它的完整 API 与调优手册见 ods/extensions/services/llama-server/README.md模型档案配置在 ods/config/llama-server/models.ini。 冷启动提示大模型70B 级首次加载需要 60~120 秒甚至更久llama-server 的 healthcheckstart_period默认为 240 秒见 ods/docker-compose.base.yml启动慢不等于坏了。第 5 步响应流式返回浏览器 用量被悄悄记录 llama-server 每生成一小段就立刻推回 open-webui你的浏览器上文字逐字打出来而不是等整段生成完——这就是你看到的打字机效果。同时这条链路上还有两位幕后记录员不阻塞推理、只做旁路观测token-spy:3005捕获每次请求的 token 用量、成本与延迟写入数据库供仪表盘画图见 ods/extensions/services/token-spy/README.mdlangfuse:3006LLM 链路追踪方便你复盘每一步推理调用 如何亲手验证这条链路不需要改任何代码三步即可观察全链路看服务状态终端执行ods status确认 open-webui 与 llama-server 都是健康状态看推理指标curl http://localhost:8080/metrics查看 llama-server 的 Prometheus 吞吐与 token 统计看用量仪表盘打开http://localhost:3005token-spy观察每条聊天请求的 token 消耗打开http://localhost:3001dashboard 控制中心查看 GPU 负载 关键文件速查想了解去哪里看核心服务与端口定义ods/docker-compose.base.yml系统架构与执行流ARCHITECTURE.mdGPU 推理引擎细节ods/extensions/services/llama-server/混合模式云端回退配置ods/config/litellm/hybrid.yaml语音识别Whisperods/extensions/services/whisper/README.md文本转语音Kokoroods/extensions/services/tts/README.md新手友好入门读物ods/docs/HOW-ODS-SERVER-WORKS.md结语从浏览器敲下回车到 GPU 显存中的模型逐词作答再到文字流回屏幕——ODS 用 open-webui、LiteLLM、model-router、llama-server 这四个角色完成了一次完全本地、全程可控的聊天之旅。理解这条 5 步全链路后无论是排查响应变慢、切换推理模式还是扩展自己的服务你都知道该看哪一环了。【免费下载链接】ODSTurn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation.项目地址: https://gitcode.com/GitHub_Trending/dr/ODS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考