|
| 1 | +--- |
| 2 | +title: OVHcloud AI Endpoints |
| 3 | +description: Instructions on how to integrate OVHcloud AI Endpoints as a conversation agent in Home Assistant. |
| 4 | +ha_category: |
| 5 | + - AI |
| 6 | + - Voice |
| 7 | +ha_release: 2026.6 |
| 8 | +ha_iot_class: Cloud Polling |
| 9 | +ha_config_flow: true |
| 10 | +ha_codeowners: |
| 11 | + - '@Crocmagnon' |
| 12 | +ha_domain: ovhcloud_ai_endpoints |
| 13 | +ha_integration_type: service |
| 14 | +ha_platforms: |
| 15 | + - conversation |
| 16 | +ha_quality_scale: bronze |
| 17 | +related: |
| 18 | + - docs: /voice_control/voice_remote_expose_devices/ |
| 19 | + title: Exposing entities to Assist |
| 20 | + - docs: /voice_control/assist_create_open_ai_personality/ |
| 21 | + title: Create an AI personality |
| 22 | +--- |
| 23 | + |
| 24 | +The **OVHcloud AI Endpoints** {% term integration %} adds a conversation agent powered by [OVHcloud AI Endpoints](https://endpoints.ai.cloud.ovh.net/) to Home Assistant. OVHcloud AI Endpoints is a serverless inference platform that gives you access to a curated catalog of open-weight large language models hosted in Europe. |
| 25 | + |
| 26 | +Controlling Home Assistant is done by providing the AI access to the Assist API of Home Assistant. You can control what devices and entities it can access from the {% my voice_assistants title="exposed entities page" %}. The AI can provide you with information about your devices and control them. |
| 27 | + |
| 28 | +This integration is useful if you want to keep your conversation data within a European cloud provider, or if you want to use a specific open-weight model from the OVHcloud AI Endpoints catalog. |
| 29 | + |
| 30 | +## Prerequisites |
| 31 | + |
| 32 | +- You need an [OVHcloud account](https://www.ovhcloud.com/) with access to the AI Endpoints product. |
| 33 | +- This is a paid service. We advise you to monitor your usage and costs in the [OVHcloud Control Panel](https://manager.eu.ovhcloud.com/) to avoid unwanted charges. |
| 34 | + |
| 35 | +### Generating an API key |
| 36 | + |
| 37 | +The API key is used to authenticate requests to OVHcloud AI Endpoints. To generate an API key, follow the [official guide](https://help.ovhcloud.com/csm/en-public-cloud-ai-endpoints-getting-started?id=kb_article_view&sysparm_article=KB0065403). |
| 38 | + |
| 39 | +The rough steps are outlined below: |
| 40 | + |
| 41 | +1. Log in to the [OVHcloud Control Panel](https://manager.eu.ovhcloud.com/#/hub/). |
| 42 | +2. Go to the **Public Cloud** section and select your project or create a new one. |
| 43 | +3. In the left menu, under **AI & Machine Learning**, select **AI Endpoints**. |
| 44 | +4. Open the **API keys** tab and create a new API key. |
| 45 | +5. Copy the generated key. You'll use it to configure the integration. |
| 46 | + |
| 47 | +{% include integrations/config_flow.md %} |
| 48 | + |
| 49 | +{% configuration_basic %} |
| 50 | +API key: |
| 51 | + description: "API key from OVHcloud AI Endpoints used to authenticate requests." |
| 52 | +{% endconfiguration_basic %} |
| 53 | + |
| 54 | +## Configuration options |
| 55 | + |
| 56 | +The integration supports adding one or more conversation agents as subentries. Each conversation agent is bound to a model from the OVHcloud AI Endpoints catalog. To add a conversation agent, go to {% my integrations title="**Settings** > **Devices & services**" %}, open the **OVHcloud AI Endpoints** integration, and select **Add conversation agent**. |
| 57 | + |
| 58 | +A conversation agent has the following configuration options: |
| 59 | + |
| 60 | +{% configuration_basic %} |
| 61 | +Model: |
| 62 | + description: "The model used for the conversation agent. The list of available models is fetched directly from the OVHcloud AI Endpoints catalog. Refer to the [OVHcloud AI Endpoints documentation](https://endpoints.ai.cloud.ovh.net/) for details about each model." |
| 63 | +Instructions: |
| 64 | + description: "Instructions for the AI on how it should respond to your requests. It is written using [Home Assistant Templating](/docs/templating/)." |
| 65 | +Control Home Assistant: |
| 66 | + description: "If the model is allowed to interact with Home Assistant. It can only control or provide information about entities that are [exposed](/voice_control/voice_remote_expose_devices/) to it." |
| 67 | +{% endconfiguration_basic %} |
| 68 | + |
| 69 | +## Supported functionality |
| 70 | + |
| 71 | +The integration provides a [conversation](/integrations/conversation/) entity for each configured conversation agent. You can use this entity to: |
| 72 | + |
| 73 | +- Chat with the model through the Home Assistant interface. |
| 74 | +- Use the model as a conversation agent in an [Assist pipeline](/integrations/assist_pipeline/). |
| 75 | +- Trigger the model from automations and scripts with the `conversation.process` action. |
| 76 | + |
| 77 | +### Assist pipeline |
| 78 | + |
| 79 | +You can set up your OVHcloud AI Endpoints conversation agent in an [Assist pipeline](/integrations/assist_pipeline/), as described in the [voice guide](/voice_control/assist_create_open_ai_personality/). You can then chat through the Home Assistant web interface, on [Android](/voice_control/android/) or [Apple](/voice_control/apple/) devices using the [Home Assistant Companion App](https://companion.home-assistant.io/docs/getting_started/), or by voice using an [Assist satellite](/integrations/assist_satellite/). |
| 80 | + |
| 81 | +[Expose entities](/voice_control/voice_remote_expose_devices/) and configure aliases for the entities you want the model to control. |
| 82 | + |
| 83 | +## Known limitations |
| 84 | + |
| 85 | +- Only models that support the OpenAI-compatible chat completions API of OVHcloud AI Endpoints can be used. |
| 86 | +- Tool calling is required for the **Control Home Assistant** option to work. If the selected model does not support tool calling, the agent will still answer questions but won't be able to control your devices. |
| 87 | +- This integration does not integrate with [sentence triggers](/docs/automation/trigger/#sentence-trigger). |
| 88 | + |
| 89 | +## Removing the integration |
| 90 | + |
| 91 | +This integration follows standard integration removal. No extra steps are required. |
| 92 | + |
| 93 | +{% include integrations/remove_device_service.md %} |
0 commit comments