Skip to content
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 Jun 3, 2026
d68944d
Clarify LiteLLM prerequisites and retrigger build
luismalves Jun 3, 2026
32da794
Quote configuration_basic descriptions to fix Netlify build
luismalves Jun 3, 2026
6d08c9a
Minimize litellm page to bisect Netlify failure
luismalves Jun 3, 2026
a4f48a1
Bisect: full body without configuration_basic block
luismalves Jun 3, 2026
abffd4c
Bisect: config_basic with simple descriptions
luismalves Jun 3, 2026
d8be2cf
Bisect: full descriptions but URL without scheme/port
luismalves Jun 3, 2026
f7a68d5
Fix Netlify build: avoid literal http:// URL in configuration descrip…
luismalves Jun 3, 2026
9bdd9af
Clarify prerequisites wording (address review feedback)
luismalves Jun 3, 2026
f1452ca
Merge branch 'next' into litellm-docs
c0ffeeca7 Jun 4, 2026
d5d144f
Merge branch 'next' into litellm-docs
luismalves Jun 4, 2026
2f8f22e
Docs: AI-only category and link expose-entities guide
luismalves Jun 4, 2026
7d7b955
Clarify that LiteLLM proxy can be hosted or self-hosted
luismalves Jun 4, 2026
a6227d5
Set IoT class to Cloud Polling
luismalves Jun 4, 2026
bd77120
Update source/_integrations/litellm.markdown
luismalves Jun 5, 2026
02f7cf2
Clarify what each LiteLLM prerequisite is for
luismalves Jun 5, 2026
3647337
Clarify what each LiteLLM prerequisite is for
luismalves Jun 5, 2026
df31bfe
Update source/_integrations/litellm.markdown
luismalves Jun 5, 2026
4c0b458
Update source/_integrations/litellm.markdown
luismalves Jun 5, 2026
b8750e7
Fold conversation agent setup into the configuration section
luismalves Jun 6, 2026
c62433f
Restore "Adding a conversation agent" heading within setup section
luismalves Jun 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions source/_integrations/litellm.markdown
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
Comment thread
luismalves marked this conversation as resolved.
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.

Comment thread
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.
Comment thread
luismalves marked this conversation as resolved.

{% include integrations/remove_device_service.md %}