LiteLLM is a package that simplifies API calls to various LLM (Large Language Model) providers, such as Azure, Anthropic, OpenAI, Cohere, and Replicate, allowing calls to be made in a consistent format similar to the OpenAI API. Integrated with OpenWebUI, it allows this user interface to work with any LLM provider. In my case, I use OpenWebUI+LiteLLM to query groq/llama3-70b, Anthropic Claude Opus 3, GPT-4o, and Gemini-1.5-pro, among others.

The problem is that the 0.2.0 release of OpenWebUI stopped integrating a version of LiteLLM. That doesn’t mean it can’t be used; rather, LiteLLM needs to be launched separately, through a Docker container, for example.
Let’s launch LiteLLM:
$ docker run -d --name litellm -v $(pwd)/config.yaml:/app/config.yaml -p 4000:4000 -e LITELLM_MASTER_KEY=sk-12345 ghcr.io/berriai/litellm:main-latest --config /app/config.yaml --detailed_debug
That command launches LiteLLM listening on port 4000, using config.yaml as the configuration file. The config.yaml file might look something like this (don’t forget to input your API Keys):
general_settings: {}
litellm_settings: {}
model_list:
- model_name: claude-3-opus-20240229 # user-facing model alias
litellm_params:
api_base: https://api.anthropic.com/v1/messages
api_key: sk-
model: claude-3-opus-20240229
- model_name: gpt-4-turbo
litellm_params:
api_base: https://api.openai.com/v1
api_key: sk-
model: gpt-4-turbo
- model_name: gpt-4-vision-preview
litellm_params:
api_base: https://api.openai.com/v1
api_key: sk-
model: gpt-4-vision-preview
- model_name: gpt-4o
litellm_params:
api_base: https://api.openai.com/v1
api_key: sk-
model: gpt-4o-2024-05-13
- model_name: gpt-3.5-turbo
litellm_params:
api_base: https://api.openai.com/v1
api_key: sk-
model: gpt-3.5-turbo
- model_name: gemini-1.5-pro
litellm_params:
api_key: AI-
model: gemini/gemini-1.5-pro
- model_name: groq/llama3-70b-8192
litellm_params:
api_key: gsk_
model: groq/llama3-70b-8192
router_settings: {}
Now, from OpenWebUI, go to Settings/Connections and enter http://host.docker.internal:4000/v1 in the host field and sk-12345 (or the key you set for LiteLLM when you launched it via Docker) in the API-Key field.
