You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
from config . logger import setup_logging
from core . utils . util import check_model_key
TAG = __name__
logger = setup_logging ( )
def append_devices_to_prompt ( conn ) :
if conn . intent_type == " function_call " :
funcs = conn . config [ " Intent " ] [ conn . config [ " selected_module " ] [ " Intent " ] ] . get (
" functions " , [ ]
)
config_source = (
" home_assistant "
if conn . config [ " plugins " ] . get ( " home_assistant " )
else " hass_get_state "
)
if " hass_get_state " in funcs or " hass_set_state " in funcs :
prompt = " \n 下面是我家智能设备列表( 位置, 设备名, entity_id) , 可以通过homeassistant控制 \n "
deviceStr = conn . config [ " plugins " ] . get ( config_source , { } ) . get ( " devices " , " " )
conn . prompt + = prompt + deviceStr + " \n "
# 更新提示词
conn . dialogue . update_system_message ( conn . prompt )
def initialize_hass_handler ( conn ) :
ha_config = { }
if not conn . load_function_plugin :
return ha_config
# 确定配置来源
config_source = (
" home_assistant "
if conn . config [ " plugins " ] . get ( " home_assistant " )
else " hass_get_state "
)
if not conn . config [ " plugins " ] . get ( config_source ) :
return ha_config
# 统一获取配置
plugin_config = conn . config [ " plugins " ] [ config_source ]
ha_config [ " base_url " ] = plugin_config . get ( " base_url " )
ha_config [ " api_key " ] = plugin_config . get ( " api_key " )
# 统一检查API密钥
model_key_msg = check_model_key ( " home_assistant " , ha_config . get ( " api_key " ) )
if model_key_msg :
logger . bind ( tag = TAG ) . error ( model_key_msg )
return ha_config