跳到内容

LiteLLM

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

LiteLLM 管理以下内容:

  • 将输入转换为提供商的 completionembeddingimage_generation 端点
  • 一致的输出,文本响应将始终位于 ['choices'][0]['message']['content']
  • 跨多个部署(例如 Azure/OpenAI)的重试/回退逻辑 - 路由器 (Router)
  • 设置每个项目、API 密钥、模型的预算和速率限制 LiteLLM 代理服务器 (LLM 网关)

此外,LiteLLM 支持 VLLM 上的所有模型。

先决条件

设置 vLLM 和 litellm 环境

pip install vllm litellm

部署

聊天补全

  1. 启动支持聊天完成模型的 vLLM 服务器,例如

    vllm serve qwen/Qwen1.5-0.5B-Chat
    
  2. 使用 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)

嵌入

  1. 使用支持的嵌入模型启动 vLLM 服务器,例如:

    vllm serve BAAI/bge-base-en-v1.5
    
  2. 使用 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