Find a file
ishaan-jaff f95049bbe9 test or
2023-09-20 20:36:44 -07:00
.circleci bump version + fix ci/cd test 2023-09-19 13:50:10 -07:00
.github/ISSUE_TEMPLATE Update feature_request.yml 2023-09-13 15:54:21 -07:00
cookbook add petals cookbook 2023-09-19 11:43:02 -07:00
dist handle llama 2 eos tokens in streaming 2023-09-18 13:44:19 -07:00
docs/my-website docs 2023-09-19 13:29:41 -07:00
litellm test or 2023-09-20 20:36:44 -07:00
proxy-server@a863fd9a6c Add 'proxy-server' submodule 2023-09-19 13:27:45 -07:00
.all-contributorsrc Create .all-contributorsrc 2023-08-28 08:52:35 -07:00
.env.example feat: added support for OPENAI_API_BASE 2023-08-28 14:57:34 +02:00
.gitattributes ignore ipynbs 2023-08-31 16:58:54 -07:00
.gitignore remove DS_Store 2023-09-10 11:26:18 -04:00
.gitmodules updates 2023-09-19 13:24:24 -07:00
.readthedocs.yaml Update .readthedocs.yaml 2023-07-29 12:54:38 -07:00
LICENSE Initial commit 2023-07-26 17:09:52 -07:00
mkdocs.yml feat: traceloop docs 2023-08-29 00:13:07 +02:00
model_prices_and_context_window.json gpt-4 input pricing 2023-09-18 15:10:45 -07:00
poetry.lock new lock + poetry 2023-09-15 09:47:28 -07:00
pyproject.toml bump v 2023-09-19 14:03:24 -07:00
README.md Update README.md 2023-09-19 07:54:53 -07:00

🚅 LiteLLM

Call all LLM APIs using the OpenAI format [Anthropic, Huggingface, Cohere, TogetherAI, Azure, OpenAI, etc.]

PyPI Version Stable Version CircleCI Downloads Y Combinator W23 git commit activity

Open In Colab

100+ Supported Models | Docs |

📣1-click deploy your own LLM proxy server. Grab time, if you're interested!

LiteLLM manages

  • Translating inputs to the provider's completion and embedding endpoints
  • Guarantees consistent output, text responses will always be available at ['choices'][0]['message']['content']
  • Exception mapping - common exceptions across providers are mapped to the OpenAI exception types

Usage

Open In Colab
pip install litellm
from litellm import completion
import os
## set ENV variables
os.environ["OPENAI_API_KEY"] = "openai key"
os.environ["COHERE_API_KEY"] = "cohere key"

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion(model="command-nightly", messages=messages)

Don't have a key? We'll give you access 👉 https://docs.litellm.ai/docs/proxy_api

Streaming

liteLLM supports streaming the model response back, pass stream=True to get a streaming iterator in response. Streaming is supported for OpenAI, Azure, Anthropic, Huggingface models

response = completion(model="gpt-3.5-turbo", messages=messages, stream=True)
for chunk in response:
    print(chunk['choices'][0]['delta'])

# claude 2
result = completion('claude-2', messages, stream=True)
for chunk in result:
  print(chunk['choices'][0]['delta'])

Contributing

To contribute: Clone the repo locally -> Make a change -> Submit a PR with the change.

Here's how to modify the repo locally: Step 1: Clone the repo

git clone https://github.com/BerriAI/litellm.git

Step 2: Navigate into the project, and install dependencies:

cd litellm
poetry install

Step 3: Test your change:

cd litellm/tests # pwd: Documents/litellm/litellm/tests
pytest .

Step 4: Submit a PR with your changes! 🚀

  • push your fork to your github repo
  • submit a PR from there

Learn more on how to make a PR

Support / talk with founders

Why did we build this

  • Need for simplicity: Our code started to get extremely complicated managing & translating calls between Azure, OpenAI, Cohere

Contributors