【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

相关新闻

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

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

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

2026/7/9 19:19:21阅读更多 →
浏览器资源嗅探革命:重新定义网页内容获取方式

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

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

2026/7/9 19:19:21阅读更多 →
Minecraft 药水酿造全解析:从地狱疣到龙息的 20 种药水合成与实战应用

Minecraft 药水酿造全解析:从地狱疣到龙息的 20 种药水合成与实战应用

Minecraft 药水酿造全解析:从地狱疣到龙息的 20 种药水合成与实战应用在Minecraft的生存模式中,药水系统是提升玩家战斗力和生存能力的关键。无论是面对末影龙的终极之战,还是在地狱堡垒中与猪灵周旋,合理使用药水都能让你事半功倍…

2026/7/9 19:19:21阅读更多 →
文本翻译API能力边界详解:19种语言互译与请求实战

文本翻译API能力边界详解:19种语言互译与请求实战

适用场景分析 文本翻译是现代国际化应用的基石。无论是多语言内容平台(如新闻网站、电商商品描述)、即时通讯工具的多语言实时翻译、还是游戏本地化,都需要稳定高效的翻译接口。该API支持19种语言互译,其中包括粤语和文言文等特殊…

2026/7/9 20:14:28阅读更多 →
Tomcat 10.x 会话序列化警告:`NotSerializableException` 的 5 步根因定位法

Tomcat 10.x 会话序列化警告:`NotSerializableException` 的 5 步根因定位法

Tomcat 10.x 会话序列化深度排查:从警告到根治的工程实践 当Tomcat 10.x在会话持久化或集群复制时抛出 NotSerializableException 警告,这绝非简单的日志噪音——它直指系统可靠性的软肋。本文将揭示一套经过生产验证的排查体系,帮助开发者…

2026/7/9 20:14:28阅读更多 →
终极VR视频转换方案:如何免费将3D视频转换为沉浸式2D体验

终极VR视频转换方案:如何免费将3D视频转换为沉浸式2D体验

终极VR视频转换方案:如何免费将3D视频转换为沉浸式2D体验 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh…

2026/7/9 20:14:28阅读更多 →
5分钟从零到一:掌握Blender智能重拓扑插件QRemeshify的完整指南

5分钟从零到一:掌握Blender智能重拓扑插件QRemeshify的完整指南

5分钟从零到一:掌握Blender智能重拓扑插件QRemeshify的完整指南 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 你是否曾…

2026/7/9 20:14:28阅读更多 →
C++跨平台命令行参数解析:从原理到实现GetCommandText()

C++跨平台命令行参数解析:从原理到实现GetCommandText()

1. 项目概述:为什么我们需要一个跨平台的 GetCommandText()? 在C/C开发中,处理命令行参数几乎是每个控制台程序或需要灵活配置的后台服务都会遇到的场景。无论是写一个简单的工具,还是一个复杂的后台守护进程,我们都需…

2026/7/9 20:14:28阅读更多 →
阿里达摩院Elements Claw:AI智能体如何28小时发现4种新超导材料

阿里达摩院Elements Claw:AI智能体如何28小时发现4种新超导材料

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 阿里达摩院刚刚发布了全球首个超导材料发现AI智能体Elements Claw,这个项目在材料科学领域引起了广泛关注。Elements Claw…

2026/7/9 20:09:28阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/9 9:45:20阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/9 9:45:20阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/9 15:50:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →