litellm-mirror/litellm/proxy
Ishaan Jaff f47987e673
(Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013)
* anthropic_messages_handler v0

* fix /messages

* working messages with router methods

* test_anthropic_messages_handler_litellm_router_non_streaming

* test_anthropic_messages_litellm_router_non_streaming_with_logging

* AnthropicMessagesConfig

* _handle_anthropic_messages_response_logging

* working with /v1/messages endpoint

* working /v1/messages endpoint

* refactor to use router factory function

* use aanthropic_messages

* use BaseConfig for Anthropic /v1/messages

* track api key, team on /v1/messages endpoint

* fix get_logging_payload

* BaseAnthropicMessagesTest

* align test config

* test_anthropic_messages_with_thinking

* test_anthropic_streaming_with_thinking

* fix - display anthropic url for debugging

* test_bad_request_error_handling

* test_anthropic_messages_router_streaming_with_bad_request

* fix ProxyException

* test_bad_request_error_handling_streaming

* use provider_specific_header

* test_anthropic_messages_with_extra_headers

* test_anthropic_messages_to_wildcard_model

* fix gcs pub sub test

* standard_logging_payload

* fix unit testing for anthopic /v1/messages support

* fix pass through anthropic messages api

* delete dead code

* fix anthropic pass through response

* revert change to spend tracking utils

* fix get_litellm_metadata_from_kwargs

* fix spend logs payload json

* proxy_pass_through_endpoint_tests

* TestAnthropicPassthroughBasic

* fix pass through tests

* test_async_vertex_proxy_route_api_key_auth

* _handle_anthropic_messages_response_logging

* vertex_credentials

* test_set_default_vertex_config

* test_anthropic_messages_litellm_router_non_streaming_with_logging

* test_ageneric_api_call_with_fallbacks_basic

* test__aadapter_completion
2025-03-06 00:43:08 -08:00
..
_experimental Revert "ui new build" 2025-03-04 13:28:54 -08:00
analytics_endpoints (code quality) run ruff rule to ban unused imports (#7313) 2024-12-19 12:33:42 -08:00
anthropic_endpoints (Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013) 2025-03-06 00:43:08 -08:00
auth Revert "(UI) - Security Improvement, move to JWT Auth for Admin UI Sessions (#8995)" 2025-03-05 08:49:20 -08:00
batches_endpoints Litellm dev 03 04 2025 p3 (#8997) 2025-03-04 21:58:03 -08:00
common_utils Litellm dev 02 27 2025 p6 (#8891) 2025-02-28 14:34:17 -08:00
config_management_endpoints (code quality) run ruff rule to ban unused imports (#7313) 2024-12-19 12:33:42 -08:00
db (Feat) - Show Error Logs on LiteLLM UI (#8904) 2025-02-28 20:10:09 -08:00
example_config_yaml (Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013) 2025-03-06 00:43:08 -08:00
fine_tuning_endpoints (Feat) - new endpoint GET /v1/fine_tuning/jobs/{fine_tuning_job_id:path} (#7427) 2024-12-27 17:01:14 -08:00
guardrails fix: fix linting error 2025-02-10 22:13:58 -08:00
health_endpoints Add datadog health check support + fix bedrock converse cost tracking w/ region name specified (#7958) 2025-01-23 22:17:09 -08:00
hooks (UI) Error Logs improvements - Store Raw proxy server request for success and failure (#8917) 2025-03-01 16:26:47 -08:00
management_endpoints fix: fix linting error 2025-03-05 10:10:53 -08:00
management_helpers Revert "(UI) - Security Improvement, move to JWT Auth for Admin UI Sessions (#8995)" 2025-03-05 08:49:20 -08:00
openai_files_endpoints (feat) /batches Add support for using /batches endpoints in OAI format (#7402) 2024-12-24 16:58:05 -08:00
pass_through_endpoints (Improvements) use /openai/ pass through with OpenAI Ruby for Assistants API (#8884) 2025-02-27 20:01:16 -08:00
rerank_endpoints Add cohere v2/rerank support (#8421) (#8605) 2025-02-22 22:25:29 -08:00
spend_tracking (Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013) 2025-03-06 00:43:08 -08:00
types_utils build: merge commit 1b15568af7 2025-02-17 21:56:00 -08:00
ui_crud_endpoints (code quality) run ruff rule to ban unused imports (#7313) 2024-12-19 12:33:42 -08:00
vertex_ai_endpoints vertex ai anthropic thinking param support (#8853) 2025-02-26 21:37:18 -08:00
.gitignore
__init__.py
_logging.py fix(_logging.py): fix timestamp format for json logs 2024-06-20 15:20:21 -07:00
_new_new_secret_config.yaml Ollama ssl verify = False + Spend Logs reliability fixes (#7931) 2025-01-23 23:05:41 -08:00
_new_secret_config.yaml Litellm dev 03 04 2025 p3 (#8997) 2025-03-04 21:58:03 -08:00
_super_secret_config.yaml docs(enterprise.md): cleanup docs 2024-07-15 14:52:08 -07:00
_types.py (Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013) 2025-03-06 00:43:08 -08:00
cached_logo.jpg Litellm dev 01 23 2025 p2 (#7962) 2025-01-23 21:02:15 -08:00
caching_routes.py (Bug fix) - Cache Health not working when configured with prometheus service logger (#8687) 2025-02-20 13:41:56 -08:00
custom_sso.py (code quality) run ruff rule to ban unused imports (#7313) 2024-12-19 12:33:42 -08:00
custom_validate.py build: merge commit 1b15568af7 2025-02-17 21:56:00 -08:00
enterprise feat(llama_guard.py): add llama guard support for content moderation + new async_moderation_hook endpoint 2024-02-17 19:13:04 -08:00
health_check.py feat(health_check.py): set upperbound for api when making health check call (#7865) 2025-01-18 19:47:43 -08:00
lambda.py
litellm_pre_call_utils.py build: merge litellm_dev_03_01_2025_p2 2025-03-03 23:05:41 -08:00
llamaguard_prompt.txt feat(llama_guard.py): allow user to define custom unsafe content categories 2024-02-17 17:42:47 -08:00
logo.jpg (feat) admin ui custom branding 2024-02-21 17:34:42 -08:00
model_config.yaml Revert "Revert "(feat) Allow using include to include external YAML files in a config.yaml (#6922)"" 2024-11-27 16:08:59 -08:00
openapi.json
post_call_rules.py
prisma_migration.py LiteLLM Contributor PRs (02/18/2025). (#8643) 2025-02-19 21:52:46 -08:00
proxy_cli.py (Bug fix) - running litellm proxy on wndows (#8735) 2025-02-25 15:19:19 -08:00
proxy_config.yaml (Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013) 2025-03-06 00:43:08 -08:00
proxy_server.py (Refactor) /v1/messages to follow simpler logic for Anthropic API spec (#9013) 2025-03-06 00:43:08 -08:00
README.md [Feat-Proxy] Allow using custom sso handler (#5809) 2024-09-20 19:14:33 -07:00
route_llm_request.py fix(route_llm_request.py): move to using common router, even for clie… (#8966) 2025-03-03 22:57:08 -08:00
schema.prisma Add created_by and updated_by fields to Keys table (#8885) 2025-02-27 18:12:58 -08:00
start.sh
utils.py (Feat) - Show Error Logs on LiteLLM UI (#8904) 2025-02-28 20:10:09 -08:00

litellm-proxy

A local, fast, and lightweight OpenAI-compatible server to call 100+ LLM APIs.

usage

$ pip install litellm
$ litellm --model ollama/codellama 

#INFO: Ollama running on http://0.0.0.0:8000

replace openai base

import openai # openai v1.0.0+
client = openai.OpenAI(api_key="anything",base_url="http://0.0.0.0:8000") # set proxy to base_url
# request sent to model set on litellm proxy, `litellm --model`
response = client.chat.completions.create(model="gpt-3.5-turbo", messages = [
    {
        "role": "user",
        "content": "this is a test request, write a short poem"
    }
])

print(response)

See how to call Huggingface,Bedrock,TogetherAI,Anthropic, etc.


Folder Structure

Routes

  • proxy_server.py - all openai-compatible routes - /v1/chat/completion, /v1/embedding + model info routes - /v1/models, /v1/model/info, /v1/model_group_info routes.
  • health_endpoints/ - /health, /health/liveliness, /health/readiness
  • management_endpoints/key_management_endpoints.py - all /key/* routes
  • management_endpoints/team_endpoints.py - all /team/* routes
  • management_endpoints/internal_user_endpoints.py - all /user/* routes
  • management_endpoints/ui_sso.py - all /sso/* routes