Files
ha-text-ai/README.md
T

139 lines
3.8 KiB
Markdown
Raw Normal View History

2024-11-14 18:39:06 +03:00
# HA Text AI Integration
A Home Assistant integration that provides a bridge to OpenAI-compatible API services with automatic Text Helper management.
## Features
- Easy integration with OpenAI-compatible APIs
- Automatic Text Helper creation for responses
- Support for custom API endpoints
- Built-in rate limiting and queue management
- Blueprint for easy automation setup
- Supports responses up to 65,536 characters
## Installation
### HACS (Recommended)
1. Open HACS in your Home Assistant instance
2. Click on "Integrations"
3. Click the three dots in the top right corner
4. Select "Custom repositories"
5. Add this repository URL and select "Integration" as the category
6. Click "Install"
7. Restart Home Assistant
### Manual Installation
1. Copy the `custom_components/ha_text_ai` directory to your Home Assistant's `custom_components` directory
2. Restart Home Assistant
## Configuration
1. Go to Settings -> Devices & Services
2. Click "Add Integration"
3. Search for "HA Text AI"
4. Enter your configuration:
- API Key: Your OpenAI API key
- API Base URL (optional): Custom endpoint for OpenAI-compatible APIs
- Request Interval: Minimum time between requests (in seconds)
## Usage
### Service Call
You can call the integration using the service `ha_text_ai.text_ai_call`:
```yaml
service: ha_text_ai.text_ai_call
data:
prompt: "Tell me a joke about home automation"
response_id: "automation_joke" # Optional, defaults to "default"
model: "gpt-3.5-turbo" # Optional
temperature: 0.7 # Optional
max_tokens: 150 # Optional
top_p: 1.0 # Optional
frequency_penalty: 0.0 # Optional
presence_penalty: 0.0 # Optional
2024-11-14 18:43:19 +03:00
```
### Using the Blueprint
1. Go to Settings -> Automations & Scenes
2. Click the "Add Blueprint" button
2024-11-14 18:49:02 +03:00
3. Import this URL: `https://github.com/smkrv/ha-text-ai/blob/main/blueprints/automation/ha_text_ai_request.yaml`
2024-11-14 18:43:19 +03:00
4. Create a new automation using the blueprint
5. Configure the trigger and prompt template
### Accessing Responses
Responses are automatically stored in Text Helpers with the format `input_text.text_ai_response_[response_id]`
Example template to access a response:
```yaml
{{ states('input_text.text_ai_response_automation_joke') }}
```
## Blueprint Configuration Example
```yaml
trigger_entity: sensor.temperature
prompt_template: "Tell me a joke about {{ states('sensor.temperature') }} degree weather"
response_id: weather_joke
model: gpt-3.5-turbo
temperature: 0.7
max_tokens: 150
```
## Advanced Usage
### Custom API Endpoints
To use with Azure OpenAI or other compatible services, set the API Base URL during configuration:
- Azure OpenAI: `https://your-resource-name.openai.azure.com`
- Other Compatible APIs: Your API endpoint URL
### Rate Limiting
The integration includes built-in rate limiting:
- Requests are queued and processed according to the configured interval
- Default interval is 2 seconds
- Can be adjusted in the integration options
## Troubleshooting
Common issues and solutions:
1. **Response not appearing:**
- Check if the Text Helper was created (`input_text.text_ai_response_[your_id]`)
- Verify your API key permissions
2. **API errors:**
- Check your API key
- Verify the API endpoint URL
- Ensure you have sufficient API credits
3. **Rate limiting:**
- Adjust the request interval in the integration options
- Check for multiple automations making simultaneous requests
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Support
If you have any questions or need help, please:
2024-11-14 18:49:02 +03:00
1. Open an Issue [https://github.com/smkrv/ha-text-ai/issues]