发布时间:2026/8/26 18:09:57
【Agent智能体】44项目部署 章节四十四项目部署一、GPU模型部署vLLMBGE1.1 部署目标用2台Linux GPU服务器承载3个本地模型服务BGE-M3和bge-reranker-large部署在同一台机器上Qwen3-8B通过vLLM部署在另一台机器上业务项目通过HTTP远程调用三个模型服务生产环境两台模型服务器模型服务器A运行BGE-M3端口6006和reranker端口6008模型服务器B运行Qwen3-8B vLLM端口6006业务项目、Milvus、Neo4j、MongoDB、MinIO继续部署在业务服务器上。两台模型服务器只负责模型推理服务。1.2 模板机准备先准备一台模板机验证阶段安装并测试三个服务。第一步检查GPU环境执行nvidia-smi命令能看到GPU、驱动版本和CUDA Version即可。第二步创建目录创建工作目录/data和模型目录/data/models。第三步创建Python虚拟环境创建并激活虚拟环境。如果镜像已预装PyTorch先验证torch.cuda.is_available()是否为True。如果没有根据服务器CUDA版本安装对应PyTorch。第四步安装依赖安装vLLM、fastapi、uvicorn、transformers、FlagEmbedding等。注意模型服务器不需要安装langchain、langgraph、neo4j等业务依赖。1.3 准备模型文件使用ModelScope下载模型文件到/data/models目录。1.4 部署Qwen3-8BvLLM服务启动vLLM的关键参数served-model-name业务项目中配置的模型名、api-key开启鉴权、gpu-memory-utilizationGPU显存利用率、max-model-len最大上下文长度RAG场景先用8k、trust-remote-codeQwen系模型建议开启。通过curl调用vLLM的chat/completions接口验证服务是否正常。1.5 部署BGE-M3hybrid embedding服务BGE-M3不能只用普通dense embedding替换因为当前项目Milvus混合检索依赖densesparse双路召回。使用FastAPI封装BGE-M3的hybrid embedding功能接收文本列表返回dense稠密向量和sparse稀疏向量两种表示。启动后通过curl验证返回结果是否同时包含两类向量。1.6 部署reranker重排序服务使用FastAPI封装bge-reranker-large接收querydocuments列表返回每个文档与查询的相关性分数。启动后通过curl验证。1.7 模板机联调测试建议在克隆前做一次完整联调。如果显存允许同时启动三个服务测试如果显存不够按顺序逐个验证。验证核心目标Python依赖可用、模型文件路径正确、服务脚本无语法错误、三个HTTP接口都能返回正确结构、端口和防火墙没问题。1.8 克隆与正式部署模板机验证通过后关闭三个模型服务克隆出新机器。模型服务器A正式只启动BGE-M3端口6006和reranker端口6008不启动Qwen3-8B。模型服务器B正式只启动Qwen3-8B适当调高gpu-memory-utilization不启动BGE-M3和reranker。如果启动报显存不足优先降低max-model-len或减少并发。1.9 改造业务项目代码第一步改造bge_m3_embedding_util.py改为调用远程HTTP服务获取hybrid embedding。第二步改造bge_rerank_util.py改为调用远程HTTP服务获取重排序分数。第三步生成新的llm_client_txt_util.py替换原有基于阿里云模型的文本模型调用。第四步在本地启动业务服务测试。二、应用服务部署2.1 整体部署流程当前业务主链路默认使用外部API不强依赖GPU。导入链路依赖MinerU API、DashScope/OpenAI兼容LLM、DashScope Embedding、Milvus、Neo4j、MinIO。查询链路依赖DashScope/OpenAI兼容LLM、DashScope Embedding、DashScope Rerank、Milvus、Neo4j、MongoDB。建议按下面顺序部署第一步在本地整理代码确保仓库已推送到Gitee。第二步购买腾讯云服务器推荐Ubuntu 22.042核4G或4核8G系统盘至少50GB。第三步安装git、docker、docker compose。第四步从Gitee拉取项目代码到服务器。第五步编写生产环境配置文件.env.prod。第六步基于项目编写导入服务和查询服务的Dockerfile。导入和查询服务都是Python FastAPI服务推荐保留一份公共Dockerfile在docker compose里通过不同command区分。第七步编写docker-compose.yml统一编排kb-import、kb-query、etcd、minio、Milvusstandalone、mongodb、neo4j。第八步先启动基础中间件再启动业务服务。第九步通过接口和容器日志做健康检查。第十步后续通过docker compose up/down/restart/logs维护服务。2.2 中间件版本Milvusmilvusdb/milvus:v2.4.0etcdquay.io/coreos/etcd:v3.5.0MinIOminio/minio:RELEASE.2023-03-20T20-16-18ZMongoDBmongo:7.0Neo4jneo4j:5.15.0-community2.3 端口建议公网只开放22SSH、8000导入服务、8001查询服务。尽量不要直接暴露到公网27017MongoDB、19530Milvus、2379etcd、9000MinIO API。2.4 启停服务首次启动先确认基础中间件正常docker compose ps确认无误后再启动业务服务。分两步启动的原因导入服务在模块加载时会初始化MinIO客户端如果MinIO还没准备好minio_client可能是None。因此建议先启动MinIO再启动kb-import。健康检查查询服务提供/health接口导入服务可访问页面验证中间件通过各自方式检查。日常维护命令停止容器docker compose stop停止并删除容器保留数据docker compose down重启全部docker compose restart重启单个服务docker compose restart kb-query代码更新后重新构建git pull origin main docker compose up -d --build

相关新闻

2026/8/26 17:39:22

Windows零代码接入Claude Code:WSL+winget+Node.js本地化实践

1. 项目概述:为什么“8分钱”能撬动Claude Code的本地化落地?最近在技术圈里刷到一条标题特别扎眼的消息:“零代码基础配置 Claude Code 成功,只花了8分钱”。一开始我以为是标题党——Claude Code作为Anthropic推出的、主打代码理…

2026/8/26 8:50:17

浏览器资源嗅探革命:重新定义网页内容获取方式

浏览器资源嗅探革命:重新定义网页内容获取方式 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾为无法保存网页上的精彩视频而烦…

2026/8/27 10:27:08

具身智能的草根阶层:低成本机器人开发的技术路径与能力边界

很多人以为具身智能只是大厂、人形机器人公司和顶级实验室的战场,谁掌握了大模型、烧得起算力、签得下供应商,谁才能拿到入场券。但从技术社区的实际气氛来看,这个领域真正热闹的部分,反而是在金字塔底部:一群预算有限…

2026/8/27 10:27:08

Linux应用软件编程03-进程

一、进程介绍1.1 进程相关概念① 单任务和多任务单任务:程序运行起来,只能处理一件事情多任务:程序运行起来,可以处理多件事情② 进程:正在执行的程序,执行过程中需要消耗CPU和内存,是程序动态执…

2026/8/27 10:27:08

Linux基础命令4(查找命令)

查找命令1. grep 命令是一种强大的文本搜索工具实例:ps -ef | grep sshd查找指定ssh服务进程ps -ef | grep sshd | grep -v grep查找指定服务进程,排除gerp身ps -ef | grep sshd -c查找指定进程个数2. find 命令在目录结构中搜索文件,并对搜索…

2026/8/27 10:22:07

全栈开发人员如何在无代码和低代码平台的新世界中成长?

花费很长时间的情况会出现在, 使用开源的前端框架, 以及后端框架, 从头开始着手开发企业级Web应用程序这件事上。现如今, 客户寻觅的是快速且经济的解决方案,并且趋于使用无代码, 还有低代码的应用开发平台。在这个无代码和低代码平台构成的全新世界里, 全栈开发人员…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/27 7:46:21

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/27 0:01:16

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:01:16

LeetCode Hot100(51-60)算法精解与面试技巧

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

2026/8/27 0:01:16

CRC校验实战:从模2除法到HJ212协议排错

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/26 19:34:05

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…