2024-11-22 01:57:21 +03:00
# 🤖 HA Text AI for Home Assistant
2024-11-14 18:39:06 +03:00
2024-11-19 19:03:51 +03:00
<div align="center">
2024-11-18 10:59:06 +03:00
2024-11-19 19:23:03 +03:00
    [](https://opensource.org/licenses/MIT) [](https://github.com/hacs/integration)
2024-11-19 19:30:42 +03:00
2024-11-23 18:59:27 +03:00
<img src="https://github.com/smkrv/ha-text-ai/blob/3e3ec45b195c92989434fde40ae110027f4ea124/misc/icons/icon.png" alt="HA Text AI" width="140"/>
2024-11-22 11:39:43 +03:00
2024-11-22 02:04:20 +03:00
### Advanced AI Integration for Home Assistant with multi-provider support
2024-11-18 10:59:06 +03:00
</div>
<p align="center">
2024-11-19 19:03:51 +03:00
Transform your smart home experience with powerful AI assistance powered by multiple AI providers including OpenAI GPT and Anthropic Claude models. Get intelligent responses, automate complex scenarios, and enhance your home automation with advanced natural language processing.
2024-11-18 10:59:06 +03:00
</p>
2024-11-18 10:54:24 +03:00
---
2024-11-14 18:39:06 +03:00
2024-11-19 12:45:26 +03:00
## 🌟 Features
2024-11-14 18:39:06 +03:00
2024-11-19 19:03:51 +03:00
- 🧠 **Multi-Provider AI Integration** :
- Support for OpenAI GPT models
- Anthropic Claude integration
- Custom API endpoints
- Flexible model selection
2024-11-22 02:00:42 +03:00
2024-11-19 19:03:51 +03:00
- 💬 **Advanced Language Processing** :
2024-11-19 14:06:32 +03:00
- Context-aware responses
- Multi-turn conversations
2024-11-19 19:03:51 +03:00
- Custom system instructions
2024-11-19 14:06:32 +03:00
- Natural conversation flow
2024-11-22 02:00:42 +03:00
2024-11-19 19:03:51 +03:00
- 📝 **Enhanced Memory Management** :
2024-11-19 14:06:32 +03:00
- Persistent conversation history
- Context-aware responses
- Customizable history limits
2024-11-19 19:03:51 +03:00
- Model-specific filtering
2024-11-22 02:00:42 +03:00
2024-11-19 19:03:51 +03:00
- ⚡ **Performance Optimization** :
2024-11-19 14:06:32 +03:00
- Efficient token usage
2024-11-19 19:03:51 +03:00
- Smart rate limiting
2024-11-19 14:06:32 +03:00
- Response caching
2024-11-19 19:03:51 +03:00
- Request interval control
2024-11-22 02:00:42 +03:00
2024-11-19 14:06:32 +03:00
- 🎯 **Advanced Customization** :
2024-11-19 19:03:51 +03:00
- Per-request model selection
- Adjustable parameters
2024-11-19 14:06:32 +03:00
- Custom system prompts
2024-11-19 19:03:51 +03:00
- Temperature control
2024-11-22 02:00:42 +03:00
2024-11-19 14:06:32 +03:00
- 🔒 **Enhanced Security** :
- Secure API key storage
- Rate limiting protection
- Error handling
2024-11-19 19:03:51 +03:00
- Usage monitoring
2024-11-22 02:00:42 +03:00
2024-11-19 19:03:51 +03:00
- 🎨 **Improved User Experience** :
2024-11-19 14:06:32 +03:00
- Intuitive configuration UI
- Detailed sensor attributes
- Rich service interface
2024-11-19 19:03:51 +03:00
- Model selection UI
2024-11-22 02:00:42 +03:00
2024-11-19 14:06:32 +03:00
- 🔄 **Automation Integration** :
- Event-driven responses
- Conditional logic support
- Template compatibility
2024-11-19 19:03:51 +03:00
- Model-specific automation
2024-11-18 10:59:06 +03:00
2024-11-19 12:45:26 +03:00
## 📋 Prerequisites
2024-11-18 10:59:06 +03:00
2024-11-22 01:56:36 +03:00
- Home Assistant 2023.11 or later
- Active API key from:
2024-11-19 19:03:51 +03:00
- OpenAI ([Get key ](https://platform.openai.com/account/api-keys ))
- Anthropic ([Get key ](https://console.anthropic.com/ ))
2024-11-19 12:45:26 +03:00
- Python 3.9 or newer
2024-11-19 14:06:32 +03:00
- Stable internet connection
2024-11-18 10:59:06 +03:00
2024-11-22 01:56:36 +03:00
### Configuration Options
- API Provider (OpenAI/Anthropic)
- API Key (provider-specific)
- Model Selection (flexible, provider-specific models)
- Temperature (Creativity control, 0.0-2.0)
- Max Tokens (Response length limit)
- Request Interval (API call throttling)
- Custom API Endpoint (optional)
2024-11-19 14:06:32 +03:00
## ⚡ Installation
2024-11-22 01:56:36 +03:00
### HACS Installation (Recommended)
1. Open HACS in Home Assistant
2. Click on "Integrations"
3. Click "..." in top right corner
4. Select "Custom repositories"
5. Add repository URL: `https://github.com/smkrv/ha-text-ai`
6. Choose "Integration" as category
7. Click "Download"
8. Restart Home Assistant
2024-11-18 10:59:06 +03:00
2024-11-19 12:45:26 +03:00
### Manual Installation
2024-11-19 14:06:32 +03:00
1. Download the latest release
2. Extract and copy `custom_components/ha_text_ai` to your `custom_components` directory
2024-11-19 12:45:26 +03:00
3. Restart Home Assistant
2024-11-19 14:06:32 +03:00
4. Add configuration via UI or YAML
## ⚙️ Configuration
### Via UI (Recommended)
1. Go to Settings → Devices & Services
2. Click "Add Integration"
3. Search for "HA Text AI"
4. Follow the configuration steps
### Via YAML
2024-11-18 10:59:06 +03:00
```yaml
2024-11-19 00:51:57 +03:00
ha_text_ai :
2024-11-22 01:56:36 +03:00
api_provider : openai # or anthropic
2024-11-19 19:03:51 +03:00
api_key : !secret ai_api_key
2024-11-22 01:57:21 +03:00
model : gpt-4o-mini
2024-11-19 14:06:32 +03:00
temperature : 0.7
max_tokens : 1000
request_interval : 1.0
2024-11-19 19:03:51 +03:00
api_endpoint : https://api.openai.com/v1 # optional, for custom endpoints
system_prompt : |
You are a home automation expert assistant.
Focus on practical and efficient solutions.
2024-11-18 10:59:06 +03:00
```
2024-11-19 12:45:26 +03:00
## 🛠️ Available Services
### ask_question
2024-11-18 10:59:06 +03:00
```yaml
2024-11-19 00:51:57 +03:00
service : ha_text_ai.ask_question
2024-11-18 10:59:06 +03:00
data :
2024-11-19 12:45:26 +03:00
question : "What's the optimal temperature for sleeping?"
2024-11-19 19:03:51 +03:00
model : "claude-3-sonnet" # optional
2024-11-19 12:45:26 +03:00
temperature : 0.5 # optional
max_tokens : 500 # optional
2024-11-25 15:42:04 +03:00
context_messages : 10 #optional, number of previous messages to include in context, default: 5
2024-11-19 19:03:51 +03:00
system_prompt : "You are a sleep optimization expert" # optional
2024-11-18 10:59:06 +03:00
```
2024-11-19 12:45:26 +03:00
### set_system_prompt
```yaml
service : ha_text_ai.set_system_prompt
data :
2024-11-19 14:06:32 +03:00
prompt : |
You are a home automation expert focused on:
1. Energy efficiency
2. Comfort optimization
3. Security considerations
Provide practical, actionable advice.
2024-11-19 12:45:26 +03:00
```
2024-11-18 10:59:06 +03:00
2024-11-19 12:45:26 +03:00
### clear_history
```yaml
service : ha_text_ai.clear_history
```
2024-11-18 10:59:06 +03:00
2024-11-19 12:45:26 +03:00
### get_history
```yaml
service : ha_text_ai.get_history
data :
limit : 5 # optional
2024-11-25 15:42:04 +03:00
filter_model : "gpt-4o" # optional
2024-11-19 12:45:26 +03:00
```
2024-11-19 14:06:32 +03:00
## 📘 FAQ
2024-11-19 19:03:51 +03:00
**Q: Which AI providers are supported?**
A: Currently OpenAI (GPT models) and Anthropic (Claude models) are supported, with more providers planned.
**Q: How can I reduce API costs?**
A: Use GPT-3.5-Turbo or Claude-3-Sonnet for most queries, implement caching, and optimize token usage.
2024-11-22 01:56:36 +03:00
**Q: Are there limitations on the number of requests?**
A: Depends on your API provider's plan. We recommend monitoring usage and implementing request throttling via `request_interval` configuration.
2024-11-19 19:31:26 +03:00
2024-11-22 01:56:36 +03:00
**Q: Can I use custom models?**
2024-11-19 19:03:51 +03:00
A: Yes, you can configure custom endpoints and use any compatible model by specifying it in the configuration.
**Q: How do I switch between different AI providers?**
A: Simply change the model parameter in your configuration or service calls to use the desired provider's model.
2024-11-19 14:06:32 +03:00
**Q: How can I reduce API costs?**
A: Use GPT-3.5-Turbo for most queries, implement caching, and optimize token usage.
**Q: Is my data secure?**
2024-11-22 02:00:42 +03:00
A: Yes, your data is secure. The system operates entirely on your local machine, keeping your data under your control. API keys are stored securely and all external communications use encrypted connections.
2024-11-19 14:06:32 +03:00
2024-11-25 15:42:04 +03:00
**Q: How do context messages work?**
A: Context messages allow the AI to remember and reference previous conversation history. By default, 5 previous messages are included, but you can customize this from 1 to 20 messages to control the conversation depth and token usage.
2024-11-19 12:45:26 +03:00
## 🤝 Contributing
2024-11-18 10:59:06 +03:00
2024-11-19 14:06:32 +03:00
Contributions welcome! Please read our [Contributing Guide ](CONTRIBUTING.md ).
2024-11-18 10:59:06 +03:00
1. Fork the repository
2024-11-19 14:06:32 +03:00
2. Create feature branch (`git checkout -b feature/Enhancement` )
3. Commit changes (`git commit -m 'Add Enhancement'` )
4. Push branch (`git push origin feature/Enhancement` )
5. Open Pull Request
2024-11-19 12:45:26 +03:00
## 📝 License
2024-11-19 14:06:32 +03:00
MIT License - see [LICENSE ](LICENSE ) for details.
2024-11-14 18:39:06 +03:00
2024-11-18 10:54:24 +03:00
---
2024-11-14 18:39:06 +03:00
2024-11-18 10:59:06 +03:00
<div align="center">
2024-11-14 18:39:06 +03:00
2024-11-19 12:45:26 +03:00
Made with ❤️ for the Home Assistant Community
2024-11-14 18:39:06 +03:00
2024-11-19 14:06:32 +03:00
[Report Bug ](https://github.com/smkrv/ha-text-ai/issues ) · [Request Feature ](https://github.com/smkrv/ha-text-ai/issues )
2024-11-18 10:59:06 +03:00
</div>