Create ha_text_ai_request.yaml

This commit is contained in:
smkrv
2024-11-14 18:37:35 +03:00
committed by GitHub
parent 725754a2e3
commit 2dea27ccc8
@@ -0,0 +1,106 @@
blueprint:
name: Text AI Request
description: Send a prompt to Text AI service and store the response in a Text Helper
domain: automation
source_url: https://github.com/your_username/ha-text-ai/blob/main/blueprints/automation/ha_text_ai_request.yaml
input:
trigger_entity:
name: Trigger Entity
description: Entity that will trigger this automation
selector:
entity: {}
prompt_template:
name: Prompt Template
description: Template for the prompt. You can use template syntax, e.g., {{ states('sensor.temperature') }}
selector:
text:
multiline: true
response_id:
name: Response ID
description: Unique identifier for the Text Helper that will store the response
selector:
text:
model:
name: AI Model
description: The AI model to use for generation
default: gpt-3.5-turbo
selector:
text:
temperature:
name: Temperature
description: Controls randomness in the response (0-2)
default: 0.7
selector:
number:
min: 0.0
max: 2.0
step: 0.1
mode: slider
max_tokens:
name: Max Tokens
description: Maximum length of the response
default: 150
selector:
number:
min: 1
max: 4096
step: 1
top_p:
name: Top P
description: Controls diversity via nucleus sampling
default: 1.0
selector:
number:
min: 0.0
max: 1.0
step: 0.1
mode: slider
frequency_penalty:
name: Frequency Penalty
description: Reduces repetition of token sequences
default: 0.0
selector:
number:
min: -2.0
max: 2.0
step: 0.1
mode: slider
presence_penalty:
name: Presence Penalty
description: Reduces repetition of topics
default: 0.0
selector:
number:
min: -2.0
max: 2.0
step: 0.1
mode: slider
mode: queued
max_exceeded: silent
trigger:
- platform: state
entity_id: !input trigger_entity
variables:
prompt_template: !input prompt_template
response_id: !input response_id
model: !input model
temperature: !input temperature
max_tokens: !input max_tokens
top_p: !input top_p
frequency_penalty: !input frequency_penalty
presence_penalty: !input presence_penalty
action:
- service: ha_text_ai.text_ai_call
data:
prompt: "{{ prompt_template }}"
response_id: "{{ response_id }}"
model: "{{ model }}"
temperature: "{{ temperature }}"
max_tokens: "{{ max_tokens }}"
top_p: "{{ top_p }}"
frequency_penalty: "{{ frequency_penalty }}"
presence_penalty: "{{ presence_penalty }}"