mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-07-14 12:56:30 +00:00
Add attachments
This commit is contained in:
parent
7dc11465b4
commit
4fa0a48d88
@ -39,7 +39,11 @@ class MyAITaskEntity(AITaskEntity):
|
|||||||
# Use the chat_log to maintain conversation context. A common
|
# Use the chat_log to maintain conversation context. A common
|
||||||
# pattern is to share an implementation between conversation and AI
|
# pattern is to share an implementation between conversation and AI
|
||||||
# task entities to process the chat log.
|
# task entities to process the chat log.
|
||||||
# await self._async_handle_chat_log(chat_log)
|
# await self._async_handle_chat_log(
|
||||||
|
# chat_log,
|
||||||
|
# task.structure,
|
||||||
|
# task.attachments
|
||||||
|
# )
|
||||||
|
|
||||||
text = ...
|
text = ...
|
||||||
if not task.structure:
|
if not task.structure:
|
||||||
@ -63,59 +67,7 @@ A `GenDataTask` object contains the following data:
|
|||||||
| `task_name` | `str` | Name/identifier for the task
|
| `task_name` | `str` | Name/identifier for the task
|
||||||
| `instructions` | `str` | Natural language instructions for the AI
|
| `instructions` | `str` | Natural language instructions for the AI
|
||||||
| `structure` | `dict` \| `None` | Optional schema for structured output validation
|
| `structure` | `dict` \| `None` | Optional schema for structured output validation
|
||||||
|
| `attachments` | `list[PlayMediaWithId]` | List of attachments to include in the task.
|
||||||
## Services
|
|
||||||
|
|
||||||
### Generate Data
|
|
||||||
|
|
||||||
The `ai_task.generate_data` service allows users to request AI-generated content or structured data.
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
| Name | Type | Required | Description
|
|
||||||
| ---- | ---- | -------- | -----------
|
|
||||||
| `task_name` | `str` | Yes | Name/identifier for the task
|
|
||||||
| `instructions` | `str` | Yes | Natural language instructions for the AI
|
|
||||||
| `entity_id` | `str` | No | Specific AI task entity to use. Falls back to preferred entity if not specified.
|
|
||||||
| `structure` | `dict` | No | Schema for structured output validation
|
|
||||||
|
|
||||||
#### Service Response
|
|
||||||
|
|
||||||
```python
|
|
||||||
{
|
|
||||||
"conversation_id": "unique_conversation_id",
|
|
||||||
"data": "generated_content_or_structured_data"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Examples
|
|
||||||
|
|
||||||
**Basic text generation:**
|
|
||||||
```yaml
|
|
||||||
service: ai_task.generate_data
|
|
||||||
data:
|
|
||||||
task_name: "weather_summary"
|
|
||||||
instructions: "Generate a funny weather notification"
|
|
||||||
entity_id: "ai_task.my_ai_assistant"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Structured data generation:**
|
|
||||||
```yaml
|
|
||||||
service: ai_task.generate_data
|
|
||||||
data:
|
|
||||||
task_name: "user_profile"
|
|
||||||
instructions: "Create a fake user profile"
|
|
||||||
structure:
|
|
||||||
name:
|
|
||||||
description: "Full name"
|
|
||||||
required: true
|
|
||||||
selector:
|
|
||||||
text: {}
|
|
||||||
email:
|
|
||||||
description: "Email address"
|
|
||||||
selector:
|
|
||||||
text: {}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Structured Output Schema
|
## Structured Output Schema
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user