跳到內容

LiteLLM

LiteLLM 使用 OpenAI 格式呼叫所有 LLM API [Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq 等]

LiteLLM 管理

  • 將輸入轉換為提供商的 completionembeddingimage_generation 端點
  • 一致的輸出,文字響應將始終可在 ['choices'][0]['message']['content'] 獲取
  • 跨多個部署(例如 Azure/OpenAI)的重試/回退邏輯 - 路由器
  • 按專案、API 金鑰、模型設定預算和速率限制 LiteLLM 代理伺服器 (LLM 閘道器)

LiteLLM 支援 VLLM 上的所有模型。

先決條件

  • 設定 vLLM 和 LiteLLM 環境
pip install vllm litellm

部署

聊天補全

  • 啟動支援聊天完成模型的 vLLM 伺服器,例如
vllm serve qwen/Qwen1.5-0.5B-Chat
  • 使用 LiteLLM 呼叫它
程式碼
import litellm 

messages = [{ "content": "Hello, how are you?","role": "user"}]

# hosted_vllm is prefix key word and necessary
response = litellm.completion(
            model="hosted_vllm/qwen/Qwen1.5-0.5B-Chat", # pass the vllm model name
            messages=messages,
            api_base="http://{your-vllm-server-host}:{your-vllm-server-port}/v1",
            temperature=0.2,
            max_tokens=80)

print(response)

嵌入

  • 使用支援的嵌入模型啟動 vLLM 伺服器,例如:
vllm serve BAAI/bge-base-en-v1.5
  • 使用 LiteLLM 呼叫它
from litellm import embedding   
import os

os.environ["HOSTED_VLLM_API_BASE"] = "http://{your-vllm-server-host}:{your-vllm-server-port}/v1"

# hosted_vllm is prefix key word and necessary
# pass the vllm model name
embedding = embedding(model="hosted_vllm/BAAI/bge-base-en-v1.5", input=["Hello world"])

print(embedding)

有關詳細資訊,請參閱教程 在 LiteLLM 中使用 vLLM