前言

大模型er请睁眼!

昨晚,由于新产品创新点满分,一夜之间,你们的用户量增长千万。

这时候,你会:

A 开个会复盘打法与痛点

B 融资、通稿、瑞士团建一条龙

C 打电话给辛顿,请教诺奖注意事项

醒醒!复习下年初考点!!!

答案显而易见,选D

由于突然的流量暴涨

系统瘫痪了

服务器资源不够了

大模型API成本直接上天,财务已经哭晕了

而你,我的朋友,你要连夜加班去搞定服务器,优化性能和资源分配!

传统LLM项目部署,经常是一个模型应对所有问题,最后,产品用户到达一定量级之后

要么性能拉胯,简单查询也要响应数秒,严重影响用户体验

要么成本超支,系统扩展性受限

作为十多年的老运维,最近发现一个宝藏

vLLM团队推出的Semantic Router项目

通过智能路由,Semantic Router会组合不同的模型,把简单需求扔给小模型,复杂任务上大模型,并在高频问题上,直接用向量数据库缓存直接取代模型推理,显著降低成本的同时加快响应速度。

那么,Semantic Router是怎么实现的,我们如何使用它?本文将带你手把手搞定。

01、行业背景

语义路由成为大模型落地必选项

一句话概括:Semantic Router = 语义路由 + MoM + 缓存层。

所谓语义路由,即根据输入的语义内容、复杂度与意图,匹配最合适模型。

MoM则指的是Mixture of Models,在一个系统内组合不同大小、复杂度、模态的模型。这个思路与大模型常用的MoE架构(Mixture of Experts,在单一大模型内部进行路由与专家模型组合)有异曲同工之处。但MoM整体的成本和延迟更低,并且能够避免我们的系统被单一模型绑定锁死。

在基于轻量级分类器的语义路由与MoM的基础上,vLLM Semantic Router还额外引入了一个向量数据库构建的缓存层,用于检查语义缓存是否有相似历史问题可复用。

在这个三层架构中,比较值得一提的是基于Milvus打造的缓存层。

过去,行业内常用的传统内存键值缓存(例如基于字符串或模板的命中方式),仅能支持模板化程度高、话术变化小的场景,对语义改写、同义表述几乎无法识别,其命中率会随话术的变化(即 话术漂移)快速下滑。

因此,我们需要引入语义检索来打造我们的缓存层。语义检索的核心需求是高维向量近邻搜索(ANN),但当数据量从万级攀升至亿级时,若仍采用单机内存 + 暴力检索的模式(计算复杂度为 O (N・d)),不仅会因硬件成本高、架构无法横向扩展导致落地困难,更会因算力无法承载突发请求,轻易被长尾流量拖垮。

针对语义检索的核心需求与单机方案的痛点,在语义路由场景中,Milvus 给出了针对性解决方案:首先,Milvus是一个分布式架构的向量数据库,支持横向扩容;在此基础上搭配合适的相似度阈值与回退策略,还可以带来更高的稳定性与可控性。

02、Semantic Router + Milvus的典型场景

vLLM Semantic Router结合Milvus的核心场景概括有三:

  • 客服问答:成本敏感、速度敏感、回答复用度高。常见问题交给小模型处理,复杂问题再使用大模型
  • 代码辅助:回答复用度高。针对不同复杂度的编程问题选择合适的模型,提高开发效率
  • 企业知识库:回答复用度高。利用Milvus缓存系统存储常见问题的答案,减少重复计算

另外,值得一提的是,Semantic Router + Milvus的整个流程基于Go和Rust高效实现,无侵入集成于网关层,持续通过指标监控优化路由策略。

以下是配置demo。

03、五分钟快速验证

demo目标:快速验证semantic-router 的语义缓存功能,通过 Milvus 向量数据库实现了高效的语义相似性匹配提升了相同或相似查询的响应速度

环境准备

  • 容器环境:docker+docker-compose
  • 向量数据库:Milvus 服务
  • LLM+Embedding:项目本地下载
1.第一步:部署Milvus向量数据库
1.1.下载部署文件
wget https://github.com/Milvus-io/Milvus/releases/download/v2.5.12/Milvus-standalone-docker-compose.yml -O docker-compose.yml
1.2.启动Milvus服务
docker-compose up -d
docker-compose ps -a

2.第二步:Clone项目
git clone https://github.com/vllm-project/semantic-router.git
3.下载本地模型
cd semantic-router
make download-models

4.配置修改

说明:修改semantic_cache类型为milvus

vim config.yaml
semantic_cache:
  enabled: true
  backend_type: "milvus"  # Options: "memory" or "milvus"
  backend_config_path: "config/cache/milvus.yaml"
  similarity_threshold: 0.8
  max_entries: 1000  # Only applies to memory backend
  ttl_seconds: 3600
  eviction_policy: "fifo"
4.1修改milvus配置

说明:把刚才部署好的milvus服务填入

vim milvus.yaml
# Milvus connection settings
connection:
  # Milvus server host (change for production deployment)
  host: "192.168.7.xxx"  # For production: use your Milvus cluster endpoint
  # Milvus server port
  port: 19530  # Standard Milvus port
  # Database name (optional, defaults to "default")
  database: "default"
  # Connection timeout in seconds
  timeout: 30
  # Authentication (enable for production)
  auth:
    enabled: false  # Set to true for production
    username: ""    # Your Milvus username
    password: ""    # Your Milvus password
  # TLS/SSL configuration (recommended for production)
  tls:
    enabled: false      # Set to true for secure connections
    cert_file: ""       # Path to client certificate
    key_file: ""        # Path to client private key
    ca_file: ""         # Path to CA certificate
# Collection settings
collection:
  # Name of the collection to store cache entries
  name: "semantic_cache"
  # Description of the collection
  description: "Semantic cache for LLM request-response pairs"
  # Vector field configuration
  vector_field:
    # Name of the vector field
    name: "embedding"
    # Dimension of the embeddings (auto-detected from model at runtime)
    dimension: 384  # This value is ignored - dimension is auto-detected from the embedding model
    # Metric type for similarity calculation
    metric_type: "IP"  # Inner Product (cosine similarity for normalized vectors)
  # Index configuration for the vector field
  index:
    # Index type (HNSW is recommended for most use cases)
    type: "HNSW"
    # Index parameters
    params:
      M: 16              # Number of bi-directional links for each node
      efConstruction: 64  # Search scope during index construction
5.启动项目

说明:建议修改部分Dockerfile依赖为国内源

docker compose --profile testing up --build

6.测试请求

说明:共两次请求(无缓存和缓存命中)

第一次请求

echo "=== 第一次请求(无缓存状态) ===" && \
time curl -X POST http://localhost:8801/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer test-token" \
  -d '{
    "model": "auto",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "What are the main renewable energy sources?"}
    ],
    "temperature": 0.7
  }' | jq .

第一次请求结果

real    0m16.546s
user    0m0.116s
sys     0m0.033s

第二次请求

echo "=== 第二次请求(缓存状态) ===" && \
time curl -X POST http://localhost:8801/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer test-token" \
  -d '{
    "model": "auto",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "What are the main renewable energy sources?"}
    ],
    "temperature": 0.7
  }' | jq .

第二次请求结果

real    0m2.393s
user    0m0.116s
sys     0m0.021s

这个测试演示了 semantic-router 的语义缓存功能,通过 Milvus 向量数据库实现了高效的语义相似性匹配,显著提升了相同或相似查询的响应速度。

在AI成本优化成为刚需的今天,vLLM Semantic Router + Milvus的组合为我们提供了一个兼顾成本与性能的解决方案。

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐