by BerriAI (open source) Python, 100+ LLM провайдеров
Единый OpenAI-совместимый API для 100+ LLM-провайдеров. Переключай модели одной строкой без изменения кода — плюс прокси, балансировка нагрузки, fallback и мониторинг. Возможности: - Единый интерфейс: OpenAI, Anthropic, Google, Mistral, Ollama, Groq... - LiteLLM Proxy: OpenAI-совместимый сервер для любой модели - Fallback: если основная модель недоступна — переключить на резервную - Load balancing между инстансами одной модели - Мониторинг: стоимость, токены, latency по провайдерам - Caching: снижение стоимости через Redis/in-memory кеш - Поддержка streaming, function calling, vision
# pip:
pip install litellm
# Пример:
from litellm import completion
# OpenAI:
completion(model="gpt-4o", messages=[{"role": "user", "content": "Hi"}])
# Anthropic — та же функция:
completion(model="claude-opus-4-5", messages=[{"role": "user", "content": "Hi"}])
# Ollama:
completion(model="ollama/llama3", messages=[...])
# Запустить прокси:
litellm --model anthropic/claude-opus-4-5
# → слушает на http://0.0.0.0:4000 (OpenAI-совместимый)
<p align="center">
<p align="center">AI-шлюз LiteLLM
</p>
<p align="center">Открытый AI-шлюз для 100+ LLM. Самостоятельный хостинг. Готовность для Enterprise. Вызов любой LLM в формате OpenAI.</p>
<p align="center">
<a href="https://render.com/deploy?repo=https://github.com/BerriAI/litellm" target="_blank" rel="nofollow"><img src="https://render.com/images/deploy-to-render-button.svg" alt="Deploy to Render"></a>
<a href="https://railway.com/deploy/RhvhdC?referralCode=7mRv9K&utm_medium=integration&utm_source=template&utm_campaign=generic">
LiteLLM — это открытый AI-шлюз, которыйпредоставляет единый, унифицированный интерфейс для вызова более 100 провайдеров LLM — OpenAI, Anthropic, Gemini, Bedrock, Azure и других — с использованием формата OpenAI.
Используйте его как Python SDK для прямой интеграции с библиотекой или развёртывайте AI-шлюз (прокси-сервер) в качестве централизованной службы для вашей команды или организации.
Перейти к документации Прокси LiteLLM (Шлюз LLM)
Перейти к поддерживаемым провайдерам LLM
Управление вызовами LLM от разных провайдеров быстро становится сложным — разные SDK, схемы аутентификации, форматы запросов и типы ошибок для каждой модели. LiteLLM устраняет это неудобство:
Netflix |
LLM - Вызов 100+ LLM (Python SDK + AI-шлюз)
Все поддерживаемые эндпоинты - /chat/completions, /responses, /embeddings, /images, /audio, /batches, /rerank, /a2a, /messages и другие.
uv add litellm
from litellm import completion
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"
# OpenAI
response = completion(model="openai/gpt-4o", messages=[{"role": "user", "content": "Hello!"}])
# Anthropic
response = completion(model="anthropic/claude-sonnet-4-20250514", messages=[{"role": "user", "content": "Hello!"}])
Начало работы - Пошаговый урок - Настройка виртуальных ключей, первый запрос
uv tool install 'litellm[proxy]'
litellm --model gpt-4o
import openai
client = openai.OpenAI(api_key="anything", base_url="http://0.0.0.0:4000")
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
Агенты - Вызов A2A-агентов (Python SDK + AI-шлюз)
Поддерживаемые провайдеры - LangGraph, Vertex AI Agent Engine, Azure AI Foundry, Bedrock AgentCore, Pydantic AI
from litellm.a2a_protocol import A2AClient
from a2a.types import SendMessageRequest, MessageSendParams
from uuid import uuid4
client = A2AClient(base_url="http://localhost:10001")
request = SendMessageRequest(
id=str(uuid4()),
params=MessageSendParams(
message={
"role": "user",
"parts": [{"kind": "text", "text": "Hello!"}],
"messageId": uuid4().hex,
}
)
)
response = await client.send_message(request)
Шаг 1. Добавьте вашего агента в AI-шлюз
Шаг 2. Вызовите агента через A2A SDK
from a2a.client import A2ACardResolver, A2AClient
from a2a.types import MessageSendParams, SendMessageRequest
from uuid import uuid4
import httpx
base_url = "http://localhost:4000/a2a/my-agent" # Прокси LiteLLM + имя агента
headers = {"Authorization": "Bearer sk-1234"} # Виртуальный ключ LiteLLM
async with httpx.AsyncClient(headers=headers) as httpx_client:
resolver = A2ACardResolver(httpx_client=httpx_client, base_url=base_url)
agent_card = await resolver.get_agent_card()
client = A2AClient(httpx_client=httpx_client, agent_card=agent_card)
request = SendMessageRequest(
id=str(uuid4()),
params=MessageSendParams(
message={
"role": "user",
"parts": [{"kind": "text", "text": "Hello!"}],
"messageId": uuid4().hex,
}
)
)
response = await client.send_message(request)
Документация: A2A-шлюз для агентов
MCP-инструменты - Подключение MCP-серверов к любой LLM (Python SDK + AI-шлюз)
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from litellm import experimental_mcp_client
import litellm
server_params = StdioServerParameters(command="python", args=["mcp_server.py"])
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# Загрузка MCP-инструментов в формате OpenAI
tools = await experimental_mcp_client.load_mcp_tools(session=session, format="openai")
# Использование с любой моделью LiteLLM
response = await litellm.acompletion(
model="gpt-4o",
messages=[{"role": "user", "content": "What's 3 + 5?"}],
tools=tools
)
Шаг 1. Добавьте ваш MCP-сервер в AI-шлюз
Шаг 2. Вызовите MCP-инструменты через /chat/completions
curl -X POST 'http://0.0.0.0:4000/v1/chat/completions' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Summarize the latest open PR"}],
"tools": [{
"type": "mcp",
"server_url": "litellm_proxy/mcp/github",
"server_label": "github_mcp",
"require_approval": "never"
}]
}'
{
"mcpServers": {
"LiteLLM": {
"url": "http://localhost:4000/mcp/",
"headers": {
"x-litellm-api-key": "Bearer sk-1234"
}
}
}
}