2024-11-19 14:35:45 +03:00
|
|
|
|
{
|
|
|
|
|
|
"config": {
|
|
|
|
|
|
"step": {
|
|
|
|
|
|
"user": {
|
|
|
|
|
|
"title": "Настройка HA Text AI",
|
|
|
|
|
|
"description": "Настройте интеграцию OpenAI для умного дома. Требуется API ключ OpenAI. Подробнее о получении ключа на platform.openai.com",
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
"api_key": {
|
|
|
|
|
|
"name": "API ключ OpenAI",
|
|
|
|
|
|
"description": "Ваш API ключ с platform.openai.com. Храните его в безопасности."
|
|
|
|
|
|
},
|
|
|
|
|
|
"model": {
|
|
|
|
|
|
"name": "AI Модель",
|
|
|
|
|
|
"description": "Выберите модель AI. GPT-3.5-Turbo рекомендуется для большинства задач как оптимальное сочетание возможностей и стоимости."
|
|
|
|
|
|
},
|
|
|
|
|
|
"temperature": {
|
|
|
|
|
|
"name": "Температура",
|
|
|
|
|
|
"description": "Контролирует креативность ответов (0-2). Низкие значения (0.1-0.3) для точных ответов, высокие (0.8-2.0) для творческих."
|
|
|
|
|
|
},
|
|
|
|
|
|
"max_tokens": {
|
|
|
|
|
|
"name": "Максимум токенов",
|
|
|
|
|
|
"description": "Максимальная длина ответов. Больше токенов = длиннее ответы, но выше расход API токенов. Рекомендуется: 512-1024."
|
|
|
|
|
|
},
|
|
|
|
|
|
"api_endpoint": {
|
|
|
|
|
|
"name": "API Endpoint",
|
|
|
|
|
|
"description": "URL API OpenAI. Оставьте значение по умолчанию, если не используете собственный endpoint."
|
|
|
|
|
|
},
|
|
|
|
|
|
"request_interval": {
|
|
|
|
|
|
"name": "Интервал запросов",
|
|
|
|
|
|
"description": "Минимальное время между API запросами в секундах. Увеличьте при превышении лимитов запросов."
|
2024-11-19 15:10:06 +03:00
|
|
|
|
}
|
2024-11-19 14:35:45 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"error": {
|
|
|
|
|
|
"invalid_auth": "Неверный API ключ. Проверьте ключ OpenAI и попробуйте снова.",
|
|
|
|
|
|
"cannot_connect": "Не удалось подключиться к API. Проверьте подключение к интернету и endpoint.",
|
|
|
|
|
|
"unknown": "Неожиданная ошибка. Проверьте логи для подробностей.",
|
|
|
|
|
|
"already_exists": "Этот API ключ уже используется в другой интеграции.",
|
|
|
|
|
|
"invalid_model": "Выбранная модель недоступна. Выберите другую модель.",
|
|
|
|
|
|
"rate_limit": "Превышен лимит API запросов. Попробуйте позже или увеличьте интервал запросов.",
|
|
|
|
|
|
"context_length": "Входные данные слишком длинные для выбранной модели. Уменьшите max_tokens или используйте модель с большим контекстом.",
|
|
|
|
|
|
"api_error": "Ошибка API OpenAI. Проверьте логи для подробностей.",
|
|
|
|
|
|
"timeout": "Превышено время ожидания ответа от API.",
|
2024-11-19 15:10:06 +03:00
|
|
|
|
"queue_full": "Очередь запросов переполнена. Попробуйте позже.",
|
|
|
|
|
|
"invalid_url_format": "Неверный формат URL",
|
|
|
|
|
|
"invalid_input": "Неверные входные данные",
|
|
|
|
|
|
"invalid_temperature": "Температура должна быть от 0 до 2",
|
|
|
|
|
|
"invalid_max_tokens": "Максимальное количество токенов должно быть от 1 до 4096",
|
|
|
|
|
|
"invalid_request_interval": "Интервал запросов должен быть не менее 0.1 секунды",
|
|
|
|
|
|
"unknown": "Неизвестная ошибка"
|
2024-11-19 14:35:45 +03:00
|
|
|
|
},
|
|
|
|
|
|
"abort": {
|
|
|
|
|
|
"already_configured": "Эта интеграция OpenAI уже настроена",
|
|
|
|
|
|
"auth_failed": "Ошибка аутентификации. Проверьте API ключ.",
|
|
|
|
|
|
"invalid_endpoint": "Указан неверный URL API endpoint"
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"options": {
|
|
|
|
|
|
"step": {
|
|
|
|
|
|
"init": {
|
|
|
|
|
|
"title": "Настройки HA Text AI",
|
|
|
|
|
|
"description": "Измените настройки интеграции OpenAI. Изменения применятся к будущим запросам.",
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
"temperature": {
|
|
|
|
|
|
"name": "Температура",
|
|
|
|
|
|
"description": "Контролирует креативность ответов (0-2). Низкие значения для точных ответов, высокие для творческих."
|
|
|
|
|
|
},
|
|
|
|
|
|
"max_tokens": {
|
|
|
|
|
|
"name": "Максимум токенов",
|
|
|
|
|
|
"description": "Максимальная длина ответов. Больше токенов = длиннее ответы, но выше расход API токенов."
|
|
|
|
|
|
},
|
|
|
|
|
|
"request_interval": {
|
|
|
|
|
|
"name": "Интервал запросов",
|
|
|
|
|
|
"description": "Минимальное время между API запросами в секундах. Увеличьте при превышении лимитов."
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"entity": {
|
|
|
|
|
|
"sensor": {
|
|
|
|
|
|
"last_response": {
|
|
|
|
|
|
"name": "Последний ответ",
|
|
|
|
|
|
"state_attributes": {
|
|
|
|
|
|
"last_updated": {
|
|
|
|
|
|
"name": "Последнее обновление",
|
|
|
|
|
|
"description": "Время последнего ответа AI"
|
|
|
|
|
|
},
|
|
|
|
|
|
"question": {
|
|
|
|
|
|
"name": "Последний вопрос",
|
|
|
|
|
|
"description": "Последний заданный вопрос"
|
|
|
|
|
|
},
|
|
|
|
|
|
"response": {
|
|
|
|
|
|
"name": "Ответ AI",
|
|
|
|
|
|
"description": "Последний ответ от AI"
|
|
|
|
|
|
},
|
|
|
|
|
|
"model": {
|
|
|
|
|
|
"name": "Текущая модель",
|
|
|
|
|
|
"description": "Используемая модель AI"
|
|
|
|
|
|
},
|
|
|
|
|
|
"temperature": {
|
|
|
|
|
|
"name": "Настройка температуры",
|
|
|
|
|
|
"description": "Текущий параметр температуры"
|
|
|
|
|
|
},
|
|
|
|
|
|
"max_tokens": {
|
|
|
|
|
|
"name": "Лимит токенов",
|
|
|
|
|
|
"description": "Текущий лимит максимальных токенов"
|
|
|
|
|
|
},
|
|
|
|
|
|
"total_responses": {
|
|
|
|
|
|
"name": "Всего ответов",
|
|
|
|
|
|
"description": "Количество ответов с последнего сброса"
|
|
|
|
|
|
},
|
|
|
|
|
|
"system_prompt": {
|
|
|
|
|
|
"name": "Системный промпт",
|
|
|
|
|
|
"description": "Текущие системные инструкции для AI"
|
|
|
|
|
|
},
|
|
|
|
|
|
"response_time": {
|
|
|
|
|
|
"name": "Время ответа",
|
|
|
|
|
|
"description": "Время генерации последнего ответа"
|
|
|
|
|
|
},
|
|
|
|
|
|
"queue_size": {
|
|
|
|
|
|
"name": "Размер очереди",
|
|
|
|
|
|
"description": "Текущий размер очереди запросов"
|
|
|
|
|
|
},
|
|
|
|
|
|
"api_status": {
|
|
|
|
|
|
"name": "Статус API",
|
|
|
|
|
|
"description": "Текущий статус подключения к API"
|
|
|
|
|
|
},
|
|
|
|
|
|
"error_count": {
|
|
|
|
|
|
"name": "Счётчик ошибок",
|
|
|
|
|
|
"description": "Количество ошибок с последнего сброса"
|
|
|
|
|
|
},
|
|
|
|
|
|
"last_error": {
|
|
|
|
|
|
"name": "Последняя ошибка",
|
|
|
|
|
|
"description": "Описание последней возникшей ошибки"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"services": {
|
|
|
|
|
|
"ask_question": {
|
|
|
|
|
|
"name": "Задать вопрос",
|
|
|
|
|
|
"description": "Отправить вопрос модели AI и получить подробный ответ. Ответ сохраняется в истории.",
|
|
|
|
|
|
"fields": {
|
|
|
|
|
|
"question": {
|
|
|
|
|
|
"name": "Вопрос",
|
|
|
|
|
|
"description": "Ваш вопрос или запрос для AI. Будьте конкретны для лучших результатов."
|
|
|
|
|
|
},
|
|
|
|
|
|
"model": {
|
|
|
|
|
|
"name": "Модель",
|
|
|
|
|
|
"description": "Модель AI для использования (необязательно, переопределяет настройки по умолчанию)."
|
|
|
|
|
|
},
|
|
|
|
|
|
"temperature": {
|
|
|
|
|
|
"name": "Температура",
|
|
|
|
|
|
"description": "Уровень креативности ответа (0-2, необязательно)."
|
|
|
|
|
|
},
|
|
|
|
|
|
"max_tokens": {
|
|
|
|
|
|
"name": "Максимум токенов",
|
|
|
|
|
|
"description": "Максимальная длина ответа (необязательно)."
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"clear_history": {
|
|
|
|
|
|
"name": "Очистить историю",
|
|
|
|
|
|
"description": "Удалить всю историю разговоров. Это действие нельзя отменить."
|
|
|
|
|
|
},
|
|
|
|
|
|
"get_history": {
|
|
|
|
|
|
"name": "Получить историю",
|
|
|
|
|
|
"description": "Получить историю разговоров, включая вопросы, ответы и временные метки.",
|
|
|
|
|
|
"fields": {
|
|
|
|
|
|
"limit": {
|
|
|
|
|
|
"name": "Лимит",
|
|
|
|
|
|
"description": "Количество последних разговоров для получения (по умолчанию 10)."
|
|
|
|
|
|
},
|
|
|
|
|
|
"filter_model": {
|
|
|
|
|
|
"name": "Фильтр по модели",
|
|
|
|
|
|
"description": "Получить только разговоры с определённой моделью AI."
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"set_system_prompt": {
|
|
|
|
|
|
"name": "Установить системный промпт",
|
|
|
|
|
|
"description": "Настроить поведение AI, установив системный промпт.",
|
|
|
|
|
|
"fields": {
|
|
|
|
|
|
"prompt": {
|
|
|
|
|
|
"name": "Промпт",
|
|
|
|
|
|
"description": "Инструкции, определяющие поведение и стиль ответов AI."
|
|
|
|
|
|
},
|
|
|
|
|
|
"clear_prompt": {
|
|
|
|
|
|
"name": "Очистить промпт",
|
|
|
|
|
|
"description": "Удалить текущий системный промпт перед установкой нового."
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|