如何使用 LiteLLM 網(wǎng)關(guān)代理統(tǒng)一管理你的大模型

大模型用得越多,越容易陷入一種混亂狀態(tài)。

  • 這個(gè)項(xiàng)目用 OpenAI
  • 那個(gè)服務(wù)接 Dashscope(Qwen)
  • 測(cè)試環(huán)境還跑著本地 vLLM 或 Ollama
  • 電腦里配置著一堆 API Key

剛開始問(wèn)題不大,大家還能靠“記得住”來(lái)維持。
但只要項(xiàng)目一多、人數(shù)一多,麻煩立刻顯現(xiàn)出來(lái):

費(fèi)用開始失控、模型切換成本極高、權(quán)限越來(lái)越亂、出了問(wèn)題也很難排查。

于是,越來(lái)越多團(tuán)隊(duì)開始引入一個(gè)概念:
大模型網(wǎng)關(guān)(LLM Gateway)。

在目前的開源方案里,LiteLLM 是非常實(shí)用、也非常容易真正落地的一種。

我們按下面這條路線,一步步把它跑起來(lái):

為什么要用 → Docker Compose 部署 → 模型與 Key 管理 → 權(quán)限與預(yù)算 → 實(shí)際調(diào)用 → 真實(shí)使用場(chǎng)景


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

先說(shuō)清楚一件事:
LiteLLM 本身不是模型。

它更像是一個(gè)統(tǒng)一的大模型代理層,或者你也可以理解為:

所有大模型的 統(tǒng)一入口 + 管理中樞

對(duì)外,它暴露的是 OpenAI 兼容 API;
對(duì)內(nèi),它可以接入各種不同來(lái)源的大模型,包括:

  • OpenAI / Azure OpenAI
  • Anthropic / Gemini / Dashscope
  • HuggingFace
  • 本地 vLLM、Ollama
  • 甚至多家模型同時(shí)存在

最終的效果是:

應(yīng)用側(cè)只需要認(rèn)一個(gè)地址、一個(gè) Virtual Key。
至于后面到底用的是哪家模型、怎么調(diào)度、怎么限額,全部交給 LiteLLM 處理。


二、Docker Compose 部署(生產(chǎn)環(huán)境強(qiáng)烈推薦)

如果只是本地玩一玩,直接起一個(gè) Docker 容器也可以。
但只要你是長(zhǎng)期使用或多人使用,Docker Compose 是最穩(wěn)妥的方式

它有幾個(gè)明顯好處:

  • 部署結(jié)構(gòu)清晰
  • 配置可復(fù)現(xiàn)
  • 后期升級(jí)、遷移成本低

1?? 準(zhǔn)備目錄結(jié)構(gòu)

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

保持簡(jiǎn)潔,后面所有東西都圍繞這兩個(gè)文件來(lái)。


2?? 編寫 docker-compose.yml

services:
  litellm:
    build:
      context: .
      args:
        target: runtime
    image: 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:
      - .env
    depends_on:
      - db
    healthcheck:
      test:
        - CMD-SHELL
        - python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:4000/health/liveliness')"
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

  db:
    image: postgres:16
    restart: always
    container_name: litellm_db
    environment:
      POSTGRES_DB: litellm
      POSTGRES_USER: llmproxy
      POSTGRES_PASSWORD: dbpassword9090
    ports:
      - "5432:5432"
    volumes:
      - /home/data/litellm/postgres/data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"]
      interval: 1s
      timeout: 5s
      retries: 10

提醒一句:
記得把 db 的 volumes 路徑改成您自己機(jī)器上的真實(shí)路徑。


3?? 環(huán)境變量 .env

LITELLM_MASTER_KEY=sk-1234
STORE_MODEL_IN_DB=True

這里的 LITELLM_MASTER_KEY,就是后面登錄后臺(tái)用的密碼。


4?? 啟動(dòng)服務(wù)

docker compose -p litellm up -d

5?? 訪問(wèn)管理界面

瀏覽器打開:

http://localhost:4000
PixPin_2026-02-27_18-10-17.png
  • 用戶名:admin
  • 密碼:.env 里配置的 LITELLM_MASTER_KEY

三、如何管理模型?從 Virtual Key 開始

LiteLLM 的核心設(shè)計(jì)之一,就是用 Virtual Key 來(lái)統(tǒng)一管理、隔離使用者和模型資源。


1?? 添加模型(以 Ollama 為例)

Models + Endpoints 頁(yè)面中,選擇 Add Model。

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

2?? 創(chuàng)建 Virtual Key

  • Key 的擁有者可以是你自己、某個(gè)服務(wù)賬號(hào),或者具體成員
  • 可以綁定一個(gè)或多個(gè)模型
  • 可以設(shè)置預(yù)算、速率限制

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

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

3?? 在線驗(yàn)證是否可用

  • 粘貼剛創(chuàng)建的 Virtual Key
  • 選擇允許使用的模型
  • 直接測(cè)試請(qǐng)求
PixPin_2026-02-27_18-31-30.png

四、權(quán)限管理(多人協(xié)作非常重要)

當(dāng)開始多人使用時(shí),這一部分非常關(guān)鍵。


創(chuàng)建團(tuán)隊(duì)(Team)

用于統(tǒng)一管理成員和資源。

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

邀請(qǐng)內(nèi)部用戶(Internal User)

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

訪問(wèn)組(Access Groups)

通過(guò)訪問(wèn)組來(lái)控制:
誰(shuí)能用哪些模型、哪些 Key。

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

預(yù)算管理(Budgets)

如果你接的是收費(fèi)模型,這一步非常有用。

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

五、可觀測(cè)性:終于知道錢花哪了

請(qǐng)求消耗統(tǒng)計(jì)

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

請(qǐng)求日志

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

六、應(yīng)用如何調(diào)用?幾乎不用改代碼

Python 示例

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    name="ollama",
    model="qwen3:8b",
    base_url="http://192.168.31.242:4000",
    api_key="sk-Rj-rnKC9lgaohyI7bxKVkg"
)

response = llm.invoke("你是誰(shuí)?")
print(response)

核心只有三點(diǎn):

  • 地址指向 LiteLLM
  • Key 使用你創(chuàng)建的 Virtual Key
  • 模型名來(lái)自你在后臺(tái)定義的模型
PixPin_2026-02-27_18-55-57.png

七、真實(shí)使用場(chǎng)景

場(chǎng)景一:公司級(jí) AI 中臺(tái)

  • 前端、后端、腳本工具
  • 全部只接一個(gè) Gateway
  • 模型升級(jí)對(duì)業(yè)務(wù)透明

場(chǎng)景二:多項(xiàng)目成本可控

  • 每個(gè)項(xiàng)目一個(gè) Key
  • 超額直接拒絕
  • 成本一眼就能看清

場(chǎng)景三:模型策略隨時(shí)調(diào)整

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

只改配置,不動(dòng)業(yè)務(wù)代碼。


寫在最后

很多人剛接觸大模型時(shí),最關(guān)心的是效果;
真正用久了才發(fā)現(xiàn),最難的是管理、成本和穩(wěn)定性。

LiteLLM 并不會(huì)讓模型變聰明,
但它能讓你:

  • 用得更穩(wěn)
  • 管得更清楚
  • 換得更從容

如果你已經(jīng)不滿足“能跑就行”,
那這個(gè)網(wǎng)關(guān),確實(shí)值得你認(rèn)真搭一套。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容