Skip to main content
Open In ColabOpen on GitHub

ChatLiteLLM and ChatLiteLLMRouter

LiteLLM is a library that simplifies calling Anthropic, Azure, Huggingface, Replicate, etc.

This notebook covers how to get started with using Langchain + the LiteLLM I/O library.

This integration contains two main classes:

  • ChatLiteLLM: The main Langchain wrapper for basic usage of LiteLLM (docs).
  • ChatLiteLLMRouter: A ChatLiteLLM wrapper that leverages LiteLLM's Router (docs).

Table of Contents

  1. Overview
  2. Setup
  3. Credentials
  4. Installation
  5. Instantiation
  6. Invocation
  7. Async and Streaming Functionality
  8. API Reference

Overview

Integration details

ClassPackageLocalSerializableJS supportPackage downloadsPackage latest
ChatLiteLLMlangchain-litellmPyPI - DownloadsPyPI - Version
ChatLiteLLMRouterlangchain-litellmPyPI - DownloadsPyPI - Version

Model features

Tool callingStructured outputJSON modeImage inputAudio inputVideo inputToken-level streamingNative asyncToken usageLogprobs

Setup

To access ChatLiteLLM and ChatLiteLLMRouter models, you'll need to install the langchain-litellm package and create an OpenAI, Anthropic, Azure, Replicate, OpenRouter, Hugging Face, Together AI, or Cohere account. Then, you have to get an API key and export it as an environment variable.

Credentials

You have to choose the LLM provider you want and sign up with them to get their API key.

Example - Anthropic

Head to https://console.anthropic.com/ to sign up for Anthropic and generate an API key. Once you've done this, set the ANTHROPIC_API_KEY environment variable.

Example - OpenAI

Head to https://platform.openai.com/api-keys to sign up for OpenAI and generate an API key. Once you've done this, set the OPENAI_API_KEY environment variable.

## Set ENV variables
import os

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

Installation

The LangChain LiteLLM integration is available in the langchain-litellm package:

%pip install -qU langchain-litellm

Instantiation

ChatLiteLLM

You can instantiate a ChatLiteLLM model by providing a model name supported by LiteLLM.

from langchain_litellm import ChatLiteLLM

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

ChatLiteLLMRouter

You can also leverage LiteLLM's routing capabilities by defining your model list as specified here.

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-4o",
"litellm_params": {
"model": "azure/gpt-4o",
"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)

Invocation

Whether you've instantiated a ChatLiteLLM or a ChatLiteLLMRouter, you can now use the ChatModel through Langchain's API.

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}

Async and Streaming Functionality

ChatLiteLLM and ChatLiteLLMRouter also support async and streaming functionality:

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 reference

For detailed documentation of all ChatLiteLLM and ChatLiteLLMRouter features and configurations, head to the API reference: https://github.com/Akshay-Dongare/langchain-litellm


Was this page helpful?

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy