当前位置: 首页 > news >正文

如何使用 LiteLLM 网关代理统一管理你的大模型

大模型用得越多,越容易陷入一种混乱状态

  • 这个项目用 OpenAI
  • 那个服务接 Dashscope(Qwen)
  • 测试环境还跑着本地 vLLM 或 Ollama
  • 电脑里配置着一堆 API Key

刚开始问题不大,大家还能靠“记得住”来维持。
但只要项目一多、人数一多,麻烦立刻显现出来:

费用开始失控、模型切换成本极高、权限越来越乱、出了问题也很难排查。

于是,越来越多团队开始引入一个概念:
大模型网关(LLM Gateway)

在目前的开源方案里,LiteLLM 是非常实用、也非常容易真正落地的一种。

我们按下面这条路线,一步步把它跑起来:

为什么要用 → Docker Compose 部署 → 模型与 Key 管理 → 权限与预算 → 实际调用 → 真实使用场景


一、LiteLLM 是什么?它解决的不是“能不能用”,而是“怎么管”

先说清楚一件事:
LiteLLM 本身不是模型。

它更像是一个统一的大模型代理层,或者你也可以理解为:

所有大模型的 统一入口 + 管理中枢

对外,它暴露的是 OpenAI 兼容 API
对内,它可以接入各种不同来源的大模型,包括:

  • OpenAI / Azure OpenAI
  • Anthropic / Gemini / Dashscope
  • HuggingFace
  • 本地 vLLM、Ollama
  • 甚至多家模型同时存在

最终的效果是:

应用侧只需要认一个地址、一个 Virtual Key。
至于后面到底用的是哪家模型、怎么调度、怎么限额,全部交给 LiteLLM 处理。


二、Docker Compose 部署(生产环境强烈推荐)

如果只是本地玩一玩,直接起一个 Docker 容器也可以。
但只要你是长期使用或多人使用Docker Compose 是最稳妥的方式

它有几个明显好处:

  • 部署结构清晰
  • 配置可复现
  • 后期升级、迁移成本低

1️⃣ 准备目录结构

litellm/
├── docker-compose.yml
└── .env

保持简洁,后面所有东西都围绕这两个文件来。


2️⃣ 编写 docker-compose.yml

services:litellm:build:context: .args:target: runtimeimage: docker.litellm.ai/berriai/litellm:main-stable########################################## Uncomment these lines to start proxy with a config.yaml file ## volumes:#  - ./config.yaml:/app/config.yaml# command:#  - "--config=/app/config.yaml"##############################################ports:- "4000:4000"environment:DATABASE_URL: "postgresql://llmproxy:dbpassword9090@db:5432/litellm"STORE_MODEL_IN_DB: "True"env_file:- .envdepends_on:- dbhealthcheck:test:- CMD-SHELL- python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:4000/health/liveliness')"interval: 30stimeout: 10sretries: 3start_period: 40sdb:image: postgres:16restart: alwayscontainer_name: litellm_dbenvironment:POSTGRES_DB: litellmPOSTGRES_USER: llmproxyPOSTGRES_PASSWORD: dbpassword9090ports:- "5432:5432"volumes:- /home/data/litellm/postgres/data:/var/lib/postgresql/datahealthcheck:test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"]interval: 1stimeout: 5sretries: 10

提醒一句:
记得把 db 的 volumes 路径改成您自己机器上的真实路径。


3️⃣ 环境变量 .env

LITELLM_MASTER_KEY=sk-1234
STORE_MODEL_IN_DB=True

这里的 LITELLM_MASTER_KEY,就是后面登录后台用的密码


4️⃣ 启动服务

docker compose -p litellm up -d

5️⃣ 访问管理界面

浏览器打开:

http://localhost:4000

PixPin_2026-02-27_18-10-17.png

  • 用户名:admin
  • 密码:.env 里配置的 LITELLM_MASTER_KEY

三、如何管理模型?从 Virtual Key 开始

LiteLLM 的核心设计之一,就是用 Virtual Key 来统一管理、隔离使用者和模型资源


1️⃣ 添加模型(以 Ollama 为例)

Models + Endpoints 页面中,选择 Add Model

PixPin_2026-02-27_18-16-48.png


2️⃣ 创建 Virtual Key

  • Key 的拥有者可以是你自己、某个服务账号,或者具体成员
  • 可以绑定一个或多个模型
  • 可以设置预算、速率限制

注意:生成的 Key 只显示一次,一定要保存好。

PixPin_2026-02-27_18-23-29.png


3️⃣ 在线验证是否可用

  • 粘贴刚创建的 Virtual Key
  • 选择允许使用的模型
  • 直接测试请求

PixPin_2026-02-27_18-31-30.png


四、权限管理(多人协作非常重要)

当开始多人使用时,这一部分非常关键。


创建团队(Team)

用于统一管理成员和资源。

PixPin_2026-02-27_18-41-57.png


邀请内部用户(Internal User)

PixPin_2026-02-27_18-43-43.png


访问组(Access Groups)

通过访问组来控制:
谁能用哪些模型、哪些 Key。

PixPin_2026-02-27_18-45-49.png


预算管理(Budgets)

如果你接的是收费模型,这一步非常有用。

PixPin_2026-02-27_18-47-02.png


五、可观测性:终于知道钱花哪了

请求消耗统计

PixPin_2026-02-27_18-49-26.png

请求日志

PixPin_2026-02-27_18-49-58.png


六、应用如何调用?几乎不用改代码

Python 示例

from langchain_openai import ChatOpenAIllm = ChatOpenAI(name="ollama",model="qwen3:8b",base_url="http://192.168.31.242:4000",api_key="sk-Rj-rnKC9lgaohyI7bxKVkg"
)response = llm.invoke("你是谁?")
print(response)

核心只有三点:

  • 地址指向 LiteLLM
  • Key 使用你创建的 Virtual Key
  • 模型名来自你在后台定义的模型

PixPin_2026-02-27_18-55-57.png


七、真实使用场景

场景一:公司级 AI 中台

  • 前端、后端、脚本工具
  • 全部只接一个 Gateway
  • 模型升级对业务透明

场景二:多项目成本可控

  • 每个项目一个 Key
  • 超额直接拒绝
  • 成本一眼就能看清

场景三:模型策略随时调整

今天 GPT-4
明天 Gemini
后天本地模型

只改配置,不动业务代码。


写在最后

很多人刚接触大模型时,最关心的是效果
真正用久了才发现,最难的是管理、成本和稳定性

LiteLLM 并不会让模型变聪明,
但它能让你:

  • 用得更稳
  • 管得更清楚
  • 换得更从容

如果你已经不满足“能跑就行”,
那这个网关,确实值得你认真搭一套。

http://www.jsqmd.com/news/418298/

相关文章:

  • 终于有人把MySQL OCP认证说清楚了
  • 使用 SQLAlchemy ORM 管理爬虫数据库
  • 停停,昨日请不要再重现(2022南京区域赛)题解
  • 爬虫数据备份与多地同步方案
  • 主流IM SDK对比
  • Vite 依赖优化深度解析
  • 企业如何借力AI搜索获客?2026年DeepSeek推广服务商能力图谱解析 - 品牌2025
  • AI获客困局如何破局?2026年DeepSeek推广服务商全景解析 - 品牌2025
  • 【Azure Redis】在Azure Cache for Redis上试验monitor指令效果
  • [US Army] Eric Slover
  • 实战教程:Windows下Dify+Ollama环境搭建,小白也能轻松上手!
  • 【Web安全006篇---基本概念001---】渗透测试流程(PTES)系列
  • 【Web安全005篇---基本概念001---】渗透测试流程(PTES)系列
  • Paperxie 论文查重:不止是降重,更是学术诚信的智能守护者
  • 当查重遇上AI检测:paperxie成为新一代学术人的“双重通关“指南
  • 细胞膜标记专家:iFluor 488标记的小麦胚芽凝集素;iFluor 488 WGA
  • 《认知度规入门篇:为什么我们要用几何来衡量思考》
  • 基于Python+Flask+Vue的音乐信息可视化推荐系统 |(ItemCF/UserCF+LSTM+Echarts)大数据 人工智能
  • 毕设选题不再愁!Spring Boot 3.5 + Vue3 + UniApp 三端全栈项目,14 大模块随你选
  • 基恩士KV系列轴控制FB模板:5种定位单元适配,功能齐全且带详细说明文档
  • 周海冰与捷品汇,共创电商新体验! - 资讯焦点
  • IF488 WGA;iFluor 488标记的小麦胚芽凝集素(WGA)应用盘点
  • Qt的布局控件
  • Qt 布局引擎
  • 【关于虚拟无电池与充电保护两种模式的理解】
  • 扫描线优化 DP 与单调队列优化 DP
  • 网易云音乐数据分析系统 | Flask+Echarts+Python爬虫+HTML可视化分析 毕业设计源码 深度学习 大数据 人工智能
  • Vite 生产构建(Rollup)深度解析
  • 音乐信息可视化推荐系统 | Python+Flask+Vue+Scrapy+LSTM+Echarts 大数据 人工智能 deepseek 深度学习 毕业设计源码
  • WinRAR解压的临时文件藏在哪?一文告诉你默认路径与查看方法