Skip to main content
LiteLLM 是一个简化调用 Anthropic、Azure、Huggingface 等库的库。 本笔记本介绍了如何使用 LangChain + LiteLLM I/O 库入门的方法。 此集成包含两个主要类:
  • ChatLiteLLM:用于基本使用的 LiteLLM 的主要 LangChain 包装器(文档)。
  • ChatLiteLLMRouter:一个利用 LiteLLM 路由功能的 ChatLiteLLM 包装器(文档)。

概览

集成细节

可序列化JS 支持下载量版本
ChatLiteLLMlangchain-litellmPyPI - 下载量PyPI - 版本
ChatLiteLLMRouterlangchain-litellmPyPI - 下载量PyPI - 版本

模型功能

工具调用结构化输出图像输入音频输入视频输入按令牌流式传输原生异步令牌使用情况Logprobs

设置

要访问 ChatLiteLLMChatLiteLLMRouter 模型,您需要安装 langchain-litellm 包并创建一个 OpenAI、Anthropic、Azure、Replicate、OpenRouter、Hugging Face、Together AI 或 Cohere 账户。然后,您需要获取 API 密钥并将其导出为环境变量。

凭据

您必须选择所需的 LLM 提供商,并注册以获得其 API 密钥。

示例 - Anthropic

前往 Claude 控制台 注册并生成 Claude API 密钥。完成此操作后,设置 ANTHROPIC_API_KEY 环境变量:
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

示例 - OpenAI

前往 platform.openai.com/api-keys 注册并获取 OpenAI API 密钥。完成此操作后,设置 OPENAI_API_KEY 环境变量。
## 设置环境变量
import os

os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

安装

LangChain LiteLLM 集成可在 langchain-litellm 包中找到:
pip install -qU langchain-litellm

实例化

ChatLiteLLM

您可以通过提供一个由 LiteLLM 支持的模型名称 来实例化 ChatLiteLLM 模型。
from langchain_litellm import ChatLiteLLM

llm = ChatLiteLLM(model="gpt-4.1-nano", temperature=0.1)

ChatLiteLLMRouter

您还可以通过定义您的模型列表来利用 LiteLLM 的路由功能,该列表遵循 LiteLLM 路由文档 中的说明。
from langchain_litellm import ChatLiteLLMRouter
from litellm import Router

model_list = [
    {
        "model_name": "gpt-4.1",
        "litellm_params": {
            "model": "azure/gpt-4.1",
            "api_key": "<your-api-key>",
            "api_version": "2024-10-21",
            "api_base": "https://<your-endpoint>.openai.azure.com/",
        },
    },
    {
        "model_name": "gpt-4.1",
        "litellm_params": {
            "model": "azure/gpt-4.1",
            "api_key": "<your-api-key>",
            "api_version": "2024-10-21",
            "api_base": "https://<your-endpoint>.openai.azure.com/",
        },
    },
]
litellm_router = Router(model_list=model_list)
llm = ChatLiteLLMRouter(router=litellm_router, model_name="gpt-4.1", temperature=0.1)

调用

无论您是实例化了 ChatLiteLLM 还是 ChatLiteLLMRouter,现在都可以通过 LangChain 的 API 使用 ChatModel。
response = await llm.ainvoke(
    "Classify the text into neutral, negative or positive. Text: I think the food was okay. Sentiment:"
)
print(response)
content='Neutral' additional_kwargs={} response_metadata={'token_usage': Usage(completion_tokens=2, prompt_tokens=30, total_tokens=32, completion_tokens_details=CompletionTokensDetailsWrapper(accepted_prediction_tokens=0, audio_tokens=0, reasoning_tokens=0, rejected_prediction_tokens=0, text_tokens=None), prompt_tokens_details=PromptTokensDetailsWrapper(audio_tokens=0, cached_tokens=0, text_tokens=None, image_tokens=None)), 'model': 'gpt-3.5-turbo', 'finish_reason': 'stop', 'model_name': 'gpt-3.5-turbo'} id='run-ab6a3b21-eae8-4c27-acb2-add65a38221a-0' usage_metadata={'input_tokens': 30, 'output_tokens': 2, 'total_tokens': 32}

异步和流式传输功能

ChatLiteLLMChatLiteLLMRouter 还支持异步和流式传输功能:
async for token in llm.astream("Hello, please explain how antibiotics work"):
    print(token.text(), end="")
Antibiotics are medications that fight bacterial infections in the body. They work by targeting specific bacteria and either killing them or preventing their growth and reproduction.

There are several different mechanisms by which antibiotics work. Some antibiotics work by disrupting the cell walls of bacteria, causing them to burst and die. Others interfere with the protein synthesis of bacteria, preventing them from growing and reproducing. Some antibiotics target the DNA or RNA of bacteria, disrupting their ability to replicate.

It is important to note that antibiotics only work against bacterial infections and not viral infections. It is also crucial to take antibiotics as prescribed by a healthcare professional and to complete the full course of treatment, even if symptoms improve before the medication is finished. This helps to prevent antibiotic resistance, where bacteria become resistant to the effects of antibiotics.

API 参考

要详细了解所有 ChatLiteLLMChatLiteLLMRouter 功能和配置,请参阅 API 参考