mirror of
https://github.com/smkrv/ha-text-ai.git
synced 2026-07-21 22:54:00 +08:00
- create_pinned_session built directly on aiohttp: the HA helper injects its own connector and raised TypeError on every setup and config flow - session lifecycle: closed in APIClient.shutdown, on failed setup, and in config flow validators; allow_redirects=False everywhere so 3xx cannot route past the pinned resolver - defaults: gemini-2.0-flash (shut down 2026-06-01) -> gemini-3.5-flash, deepseek-chat (retires 2026-07-24) -> deepseek-v4-flash - DeepSeek V4 disable_thinking via thinking request parameter - Gemini 3.x disable_thinking via thinking_level (MINIMAL, LOW for Pro) - get_history limit: no forced default/max in schema, storage layer clamps - translations: 6 locales caught up with strings.json, 2 orphan keys dropped - README: manual install path matches zip layout, model sections updated
334 lines
20 KiB
JSON
334 lines
20 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"provider": {
|
|
"title": "प्रदाता सेटिंग्स",
|
|
"description": "आपके द्वारा चुने गए एआई प्रदाता के लिए कनेक्शन विवरण प्रदान करें।",
|
|
"data": {
|
|
"name": "उदाहरण का नाम (जैसे, 'जीपीटी सहायक', 'क्लॉड सहायक')",
|
|
"api_key": "प्रमाणीकरण के लिए एपीआई कुंजी",
|
|
"model": "उपयोग करने के लिए एआई मॉडल",
|
|
"api_endpoint": "कस्टम एपीआई एंडपॉइंट यूआरएल (वैकल्पिक)",
|
|
"temperature": "प्रतिक्रिया की रचनात्मकता (0-2, कम = अधिक केंद्रित)",
|
|
"max_tokens": "प्रतिक्रिया की अधिकतम लंबाई (1-100000 टोकन)",
|
|
"request_interval": "अनुरोधों के बीच न्यूनतम समय (0.1-60 सेकंड)",
|
|
"api_timeout": "एपीआई अनुरोध टाइमआउट सेकंड में (5-600)",
|
|
"context_messages": "रखने के लिए संदर्भ संदेशों की संख्या (1-20)",
|
|
"max_history_size": "अधिकतम बातचीत इतिहास आकार (1-100)",
|
|
"allow_local_network": "स्थानीय नेटवर्क एंडपॉइंट की अनुमति दें (सेल्फ-होस्टेड प्रॉक्सी के लिए)",
|
|
"disable_thinking": "thinking/reasoning मोड बंद करें (Qwen /no_think, think ब्लॉक हटाता है, Gemini 2.5 thinking_budget=0)"
|
|
}
|
|
},
|
|
"user": {
|
|
"title": "एचए टेक्स्ट एआई उदाहरण कॉन्फ़िगर करें",
|
|
"description": "अपने चुने हुए प्रदाता के साथ एक नया एआई सहायक उदाहरण सेट करें।",
|
|
"data": {
|
|
"name": "उदाहरण का नाम (जैसे, 'जीपीटी सहायक', 'क्लॉड सहायक')",
|
|
"api_key": "प्रमाणीकरण के लिए एपीआई कुंजी",
|
|
"model": "उपयोग करने के लिए एआई मॉडल",
|
|
"temperature": "प्रतिक्रिया की रचनात्मकता (0-2, कम = अधिक केंद्रित)",
|
|
"max_tokens": "प्रतिक्रिया की अधिकतम लंबाई (1-100000 टोकन)",
|
|
"api_endpoint": "कस्टम एपीआई एंडपॉइंट यूआरएल (वैकल्पिक)",
|
|
"api_provider": "एपीआई प्रदाता",
|
|
"request_interval": "अनुरोधों के बीच न्यूनतम समय (0.1-60 सेकंड)",
|
|
"api_timeout": "एपीआई अनुरोध टाइमआउट सेकंड में (5-600)",
|
|
"context_messages": "रखने के लिए संदर्भ संदेशों की संख्या (1-20)",
|
|
"max_history_size": "अधिकतम बातचीत इतिहास आकार (1-100)",
|
|
"allow_local_network": "स्थानीय नेटवर्क एंडपॉइंट की अनुमति दें (सेल्फ-होस्टेड प्रॉक्सी के लिए)",
|
|
"disable_thinking": "thinking/reasoning मोड बंद करें (Qwen /no_think, think ब्लॉक हटाता है, Gemini 2.5 thinking_budget=0)"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"history_storage_error": "इतिहास भंडारण प्रारंभ करने में विफल। अनुमतियों की जांच करें।",
|
|
"history_rotation_error": "इतिहास फ़ाइल घुमाने के दौरान त्रुटि।",
|
|
"history_file_access_error": "इतिहास भंडारण निर्देशिका तक पहुंच नहीं है।",
|
|
"name_exists": "इस नाम के साथ एक उदाहरण पहले से मौजूद है",
|
|
"invalid_name": "अमान्य उदाहरण नाम",
|
|
"invalid_auth": "प्रमाणीकरण विफल - अपनी एपीआई कुंजी की जांच करें",
|
|
"api_key_required": "प्रदाता या endpoint बदलते समय API कुंजी आवश्यक है",
|
|
"invalid_api_key": "अमान्य एपीआई कुंजी - कृपया अपनी क्रेडेंशियल्स की पुष्टि करें",
|
|
"cannot_connect": "एपीआई सेवा से कनेक्ट करने में विफल",
|
|
"invalid_model": "चुना हुआ मॉडल उपलब्ध नहीं है",
|
|
"rate_limit": "रेट सीमा पार",
|
|
"context_length": "संदर्भ लंबाई पार",
|
|
"rate_limit_exceeded": "एपीआई रेट सीमा पार",
|
|
"maintenance": "सेवा रखरखाव में है",
|
|
"invalid_response": "अमान्य एपीआई प्रतिक्रिया प्राप्त हुई",
|
|
"api_error": "एपीआई सेवा में त्रुटि हुई",
|
|
"timeout": "अनुरोध समय सीमा समाप्त",
|
|
"invalid_instance": "अमान्य उदाहरण निर्दिष्ट किया गया",
|
|
"unknown": "अप्रत्याशित त्रुटि हुई",
|
|
"empty": "नाम खाली नहीं हो सकता",
|
|
"name_too_long": "नाम 50 अक्षरों या उससे कम होना चाहिए"
|
|
},
|
|
"abort": {
|
|
"already_configured": "उदाहरण पहले से कॉन्फ़िगर किया गया है"
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "प्रदाता चुनें",
|
|
"description": "इस उदाहरण के लिए एआई प्रदाता चुनें। परिवर्तन सहेजने के बाद एकीकरण पुनः लोड होगा।",
|
|
"data": {
|
|
"api_provider": "एपीआई प्रदाता"
|
|
}
|
|
},
|
|
"settings": {
|
|
"title": "कनेक्शन और मॉडल सेटिंग्स",
|
|
"description": "एपीआई क्रेडेंशियल और मॉडल पैरामीटर कॉन्फ़िगर करें। एकीकरण पुनः लोड होने के बाद परिवर्तन प्रभावी होंगे।",
|
|
"data": {
|
|
"api_key": "एपीआई कुंजी",
|
|
"api_endpoint": "एपीआई एंडपॉइंट यूआरएल",
|
|
"model": "एआई मॉडल",
|
|
"temperature": "प्रतिक्रिया की रचनात्मकता (0-2)",
|
|
"max_tokens": "प्रतिक्रिया की अधिकतम लंबाई (1-100000)",
|
|
"request_interval": "न्यूनतम अनुरोध अंतराल (0.1-60 सेकंड)",
|
|
"api_timeout": "एपीआई अनुरोध टाइमआउट सेकंड में (5-600)",
|
|
"context_messages": "संदर्भ में शामिल करने के लिए पिछले संदेशों की संख्या (1-20)",
|
|
"max_history_size": "अधिकतम बातचीत इतिहास आकार (1-100)",
|
|
"allow_local_network": "स्थानीय नेटवर्क एंडपॉइंट की अनुमति दें (सेल्फ-होस्टेड प्रॉक्सी के लिए)",
|
|
"disable_thinking": "thinking/reasoning मोड बंद करें (Qwen /no_think, think ब्लॉक हटाता है, Gemini 2.5 thinking_budget=0)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"selector": {
|
|
"api_provider": {
|
|
"options": {
|
|
"openai": "OpenAI (अनुकूलित)",
|
|
"anthropic": "Anthropic (अनुकूलित)",
|
|
"deepseek": "DeepSeek",
|
|
"gemini": "Google Gemini"
|
|
}
|
|
}
|
|
},
|
|
"services": {
|
|
"ask_question": {
|
|
"name": "प्रश्न पूछें (HA Text AI)",
|
|
"description": "AI मॉडल को प्रश्न भेजें और विस्तृत उत्तर प्राप्त करें। यह सेवा अब प्रत्यक्ष रूप से प्रतिक्रिया डेटा वापस करती है, अलग टेक्स्ट सेंसर की आवश्यकता और 255 वर्ण की सीमा को समाप्त करती है। प्रतिक्रिया को बातचीत के इतिहास में भी संग्रहीत किया जाएगा।",
|
|
"fields": {
|
|
"instance": {
|
|
"name": "उदाहरण",
|
|
"description": "उपयोग करने के लिए एचए टेक्स्ट एआई उदाहरण का नाम"
|
|
},
|
|
"question": {
|
|
"name": "प्रश्न",
|
|
"description": "आपका प्रश्न या एआई सहायक के लिए प्रॉम्प्ट"
|
|
},
|
|
"context_messages": {
|
|
"name": "संदर्भ संदेश",
|
|
"description": "संदर्भ में शामिल करने के लिए पिछले संदेशों की संख्या (1-20)"
|
|
},
|
|
"system_prompt": {
|
|
"name": "सिस्टम प्रॉम्प्ट",
|
|
"description": "इस विशेष प्रश्न के लिए संदर्भ सेट करने के लिए वैकल्पिक सिस्टम प्रॉम्प्ट"
|
|
},
|
|
"model": {
|
|
"name": "मॉडल",
|
|
"description": "उपयोग करने के लिए एआई मॉडल का चयन करें (वैकल्पिक, डिफ़ॉल्ट सेटिंग को ओवरराइड करता है)"
|
|
},
|
|
"temperature": {
|
|
"name": "तापमान",
|
|
"description": "प्रतिक्रिया की रचनात्मकता को नियंत्रित करता है (0.0-2.0)"
|
|
},
|
|
"max_tokens": {
|
|
"name": "अधिकतम टोकन",
|
|
"description": "प्रतिक्रिया की अधिकतम लंबाई (1-100000 टोकन)"
|
|
},
|
|
"structured_output": {
|
|
"name": "संरचित आउटपुट",
|
|
"description": "JSON संरचित आउटपुट मोड सक्षम करें। सक्षम होने पर, AI प्रदान किए गए स्कीमा से मेल खाने वाले वैध JSON के साथ प्रतिक्रिया देगा।"
|
|
},
|
|
"json_schema": {
|
|
"name": "JSON स्कीमा",
|
|
"description": "अपेक्षित प्रतिक्रिया की संरचना को परिभाषित करने वाला JSON स्कीमा। structured_output सक्षम होने पर आवश्यक।"
|
|
},
|
|
"disable_thinking": {
|
|
"name": "Thinking बंद करें",
|
|
"description": "इस अनुरोध के लिए thinking/reasoning मोड बंद करें। एकीकरण सेटिंग को ओवरराइड करता है।"
|
|
}
|
|
}
|
|
},
|
|
"clear_history": {
|
|
"name": "इतिहास साफ करें",
|
|
"description": "बातचीत के इतिहास से सभी संग्रहीत प्रश्नों और प्रतिक्रियाओं को हटाएं",
|
|
"fields": {
|
|
"instance": {
|
|
"name": "उदाहरण",
|
|
"description": "इतिहास साफ़ करने के लिए एचए टेक्स्ट एआई उदाहरण का नाम"
|
|
}
|
|
}
|
|
},
|
|
"get_history": {
|
|
"name": "इतिहास प्राप्त करें",
|
|
"description": "वैकल्पिक फ़िल्टरिंग और छंटाई के साथ बातचीत का इतिहास प्राप्त करें",
|
|
"fields": {
|
|
"instance": {
|
|
"name": "उदाहरण",
|
|
"description": "इतिहास प्राप्त करने के लिए एचए टेक्स्ट एआई उदाहरण का नाम"
|
|
},
|
|
"limit": {
|
|
"name": "सीमा",
|
|
"description": "वापस करने के लिए बातचीत की संख्या (1-100)"
|
|
},
|
|
"filter_model": {
|
|
"name": "फिल्टर मॉडल",
|
|
"description": "विशिष्ट एआई मॉडल द्वारा बातचीत को फ़िल्टर करें"
|
|
},
|
|
"start_date": {
|
|
"name": "शुरुआत की तारीख",
|
|
"description": "इस दिन/समय से शुरू होने वाली बातचीत को फ़िल्टर करें"
|
|
},
|
|
"include_metadata": {
|
|
"name": "मेटाडेटा शामिल करें",
|
|
"description": "उपयोग किए गए टोकन, प्रतिक्रिया समय आदि जैसी अतिरिक्त जानकारी शामिल करें।"
|
|
},
|
|
"sort_order": {
|
|
"name": "छंटाई क्रम",
|
|
"description": "परिणामों के लिए छंटाई क्रम (नवीनतम या सबसे पुराना पहले)"
|
|
}
|
|
}
|
|
},
|
|
"set_system_prompt": {
|
|
"name": "सिस्टम प्रॉम्प्ट सेट करें",
|
|
"description": "सभी भविष्य की बातचीत के लिए डिफ़ॉल्ट सिस्टम व्यवहार निर्देश सेट करें",
|
|
"fields": {
|
|
"instance": {
|
|
"name": "उदाहरण",
|
|
"description": "सिस्टम प्रॉम्प्ट सेट करने के लिए एचए टेक्स्ट एआई उदाहरण का नाम"
|
|
},
|
|
"prompt": {
|
|
"name": "सिस्टम प्रॉम्प्ट",
|
|
"description": "निर्देश जो यह परिभाषित करते हैं कि एआई को कैसे व्यवहार करना चाहिए और प्रतिक्रिया देनी चाहिए"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"entity": {
|
|
"sensor": {
|
|
"ha_text_ai": {
|
|
"name": "{name}",
|
|
"state": {
|
|
"ready": "तैयार",
|
|
"processing": "प्रसंस्करण",
|
|
"error": "त्रुटि",
|
|
"disconnected": "असंयुक्त",
|
|
"rate_limited": "रेट सीमित",
|
|
"maintenance": "रखरखाव",
|
|
"initializing": "प्रारंभिककरण",
|
|
"retrying": "पुनः प्रयास कर रहा है"
|
|
},
|
|
"state_attributes": {
|
|
"question": {
|
|
"name": "अंतिम प्रश्न"
|
|
},
|
|
"response": {
|
|
"name": "अंतिम प्रतिक्रिया"
|
|
},
|
|
"model": {
|
|
"name": "वर्तमान मॉडल"
|
|
},
|
|
"temperature": {
|
|
"name": "तापमान"
|
|
},
|
|
"max_tokens": {
|
|
"name": "अधिकतम टोकन"
|
|
},
|
|
"system_prompt": {
|
|
"name": "सिस्टम प्रॉम्प्ट"
|
|
},
|
|
"response_time": {
|
|
"name": "अंतिम प्रतिक्रिया का समय"
|
|
},
|
|
"total_responses": {
|
|
"name": "कुल प्रतिक्रियाएं"
|
|
},
|
|
"error_count": {
|
|
"name": "त्रुटियों की संख्या"
|
|
},
|
|
"last_error": {
|
|
"name": "अंतिम त्रुटि"
|
|
},
|
|
"api_status": {
|
|
"name": "एपीआई स्थिति"
|
|
},
|
|
"tokens_used": {
|
|
"name": "कुल उपयोग किए गए टोकन"
|
|
},
|
|
"average_response_time": {
|
|
"name": "औसत प्रतिक्रिया समय"
|
|
},
|
|
"last_request_time": {
|
|
"name": "अंतिम अनुरोध का समय"
|
|
},
|
|
"is_processing": {
|
|
"name": "प्रसंस्करण स्थिति"
|
|
},
|
|
"is_rate_limited": {
|
|
"name": "रेट सीमित स्थिति"
|
|
},
|
|
"is_maintenance": {
|
|
"name": "रखरखाव स्थिति"
|
|
},
|
|
"api_version": {
|
|
"name": "एपीआई संस्करण"
|
|
},
|
|
"endpoint_status": {
|
|
"name": "एंडपॉइंट स्थिति"
|
|
},
|
|
"performance_metrics": {
|
|
"name": "प्रदर्शन मैट्रिक्स"
|
|
},
|
|
"history_size": {
|
|
"name": "इतिहास का आकार"
|
|
},
|
|
"uptime": {
|
|
"name": "अपटाइम"
|
|
},
|
|
"total_tokens": {
|
|
"name": "कुल टोकन"
|
|
},
|
|
"prompt_tokens": {
|
|
"name": "प्रॉम्प्ट टोकन"
|
|
},
|
|
"completion_tokens": {
|
|
"name": "पूर्णता टोकन"
|
|
},
|
|
"successful_requests": {
|
|
"name": "सफल अनुरोध"
|
|
},
|
|
"failed_requests": {
|
|
"name": "विफल अनुरोध"
|
|
},
|
|
"average_latency": {
|
|
"name": "औसत विलंबता"
|
|
},
|
|
"max_latency": {
|
|
"name": "अधिकतम विलंबता"
|
|
},
|
|
"min_latency": {
|
|
"name": "न्यूनतम विलंबता"
|
|
},
|
|
"last_model": {
|
|
"name": "अंतिम उपयोग किया गया मॉडल"
|
|
},
|
|
"last_timestamp": {
|
|
"name": "अंतिम प्रतिक्रिया समय"
|
|
},
|
|
"instance_name": {
|
|
"name": "इंस्टेंस नाम"
|
|
},
|
|
"normalized_name": {
|
|
"name": "सामान्यीकृत नाम"
|
|
},
|
|
"conversation_history": {
|
|
"name": "वार्तालाप इतिहास"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|