-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Add LiteLLM integration documentation #45740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
luismalves
wants to merge
21
commits into
home-assistant:next
Choose a base branch
from
luismalves:litellm-docs
base: next
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+68
−0
Open
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
85ca391
Add LiteLLM integration documentation
luismalves d68944d
Clarify LiteLLM prerequisites and retrigger build
luismalves 32da794
Quote configuration_basic descriptions to fix Netlify build
luismalves 6d08c9a
Minimize litellm page to bisect Netlify failure
luismalves a4f48a1
Bisect: full body without configuration_basic block
luismalves abffd4c
Bisect: config_basic with simple descriptions
luismalves d8be2cf
Bisect: full descriptions but URL without scheme/port
luismalves f7a68d5
Fix Netlify build: avoid literal http:// URL in configuration descrip…
luismalves 9bdd9af
Clarify prerequisites wording (address review feedback)
luismalves f1452ca
Merge branch 'next' into litellm-docs
c0ffeeca7 d5d144f
Merge branch 'next' into litellm-docs
luismalves 2f8f22e
Docs: AI-only category and link expose-entities guide
luismalves 7d7b955
Clarify that LiteLLM proxy can be hosted or self-hosted
luismalves a6227d5
Set IoT class to Cloud Polling
luismalves bd77120
Update source/_integrations/litellm.markdown
luismalves 02f7cf2
Clarify what each LiteLLM prerequisite is for
luismalves 3647337
Clarify what each LiteLLM prerequisite is for
luismalves df31bfe
Update source/_integrations/litellm.markdown
luismalves 4c0b458
Update source/_integrations/litellm.markdown
luismalves b8750e7
Fold conversation agent setup into the configuration section
luismalves c62433f
Restore "Adding a conversation agent" heading within setup section
luismalves File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| --- | ||
| title: LiteLLM | ||
| description: Instructions on how to integrate a LiteLLM proxy as a conversation agent in Home Assistant | ||
| ha_category: | ||
| - AI | ||
| ha_release: 2026.7 | ||
| ha_iot_class: Cloud Polling | ||
| ha_config_flow: true | ||
| ha_codeowners: | ||
| - '@luismalves' | ||
| ha_domain: litellm | ||
| ha_integration_type: service | ||
| ha_platforms: | ||
| - conversation | ||
| ha_quality_scale: bronze | ||
| --- | ||
|
|
||
| The [LiteLLM](https://www.litellm.ai/) {% term integration %} allows you to use a LiteLLM proxy as a conversation agent in Home Assistant. | ||
|
|
||
| LiteLLM exposes a single OpenAI-compatible API in front of a wide range of model providers, so you can use almost any model through one endpoint. This is similar to a service like OpenRouter, with the added benefit that you can run LiteLLM yourself if you prefer to keep everything under your own control. This integration lets you point Home Assistant at any LiteLLM proxy, whether it is a hosted instance or one you self-host. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before you add this integration, you need the following: | ||
|
|
||
| - **A LiteLLM proxy that Home Assistant can reach.** This is the endpoint the integration connects to. You can use a hosted LiteLLM proxy or [run one yourself](https://docs.litellm.ai/docs/simple_proxy). | ||
| - **At least one model configured on the proxy.** The integration discovers the available models from the proxy during setup and creates a conversation agent for each one. | ||
| - **An API key, if your proxy requires authentication.** This is used to authorize Home Assistant's requests to the proxy. You can leave it empty if your proxy does not require one. | ||
|
|
||
| {% include integrations/config_flow.md %} | ||
|
|
||
| {% configuration_basic %} | ||
| URL: | ||
| description: The base URL of your LiteLLM proxy, including the host and port. The integration automatically appends the OpenAI `/v1` path if it is missing. | ||
| API key: | ||
| description: An optional LiteLLM API key or virtual key. Leave it empty if your proxy does not require authentication. | ||
| {% endconfiguration_basic %} | ||
|
|
||
| ### Adding a conversation agent | ||
|
|
||
| After the integration is set up, add a conversation agent for the model you want to use: | ||
|
|
||
| 1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select your LiteLLM entry. | ||
| 2. Select **Add conversation agent**. | ||
| 3. Fill in the fields: | ||
|
|
||
| {% configuration_basic %} | ||
| Model: | ||
| description: "The model to use for the conversation agent. The list is discovered from your LiteLLM proxy." | ||
| Instructions: | ||
| description: "Instruct how the LLM should respond. This field supports [templates](/docs/configuration/templating/)." | ||
| Control Home Assistant: | ||
| description: "Select which tools the agent can use to interact with your devices and entities. Leave empty if you do not want the agent to control Home Assistant." | ||
| {% endconfiguration_basic %} | ||
|
|
||
| To change the model, instructions, or tools later, select the conversation agent and choose **Reconfigure conversation agent**. | ||
|
|
||
| ## Supported functionality | ||
|
|
||
| This integration provides a conversation agent for each model you add. You can use it in [Assist](/voice_control/) like any other conversation agent. | ||
|
|
||
|
luismalves marked this conversation as resolved.
|
||
| When you grant the agent control of Home Assistant, it can call the configured tools to interact with your devices and entities. To choose which devices and entities the agent can access, see [exposing entities to Assist](/voice_control/voice_remote_expose_devices/). | ||
|
|
||
| ## Removing the integration | ||
|
|
||
| This integration follows standard integration removal, no extra steps are required. | ||
|
luismalves marked this conversation as resolved.
|
||
|
|
||
| {% include integrations/remove_device_service.md %} | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.