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 ( )
HASS_CACHE = { }
def append_devices_to_prompt ( conn ) :
if conn . use_function_call_mode :
funcs = conn . config [ " Intent " ] [ conn . config [ " selected_module " ] [ " Intent " ] ] . get (
" functions " , [ ]
)
if " hass_get_state " in funcs or " hass_set_state " in funcs :
prompt = " 下面是我家智能设备, 可以通过homeassistant控制 \n "
devices = conn . config [ " plugins " ] [ " home_assistant " ] . get ( " devices " , [ ] )
if len ( devices ) == 0 :
return
for device in devices :
prompt + = device + " \n "
conn . prompt + = prompt
# 更新提示词
conn . dialogue . update_system_message ( conn . prompt )
def initialize_hass_handler ( conn ) :
global HASS_CACHE
if HASS_CACHE == { } :
if conn . use_function_call_mode :
funcs = conn . config [ " Intent " ] [ conn . config [ " selected_module " ] [ " Intent " ] ] . get (
" functions " , [ ]
)
if " hass_get_state " in funcs or " hass_set_state " in funcs :
HASS_CACHE [ " base_url " ] = conn . config [ " plugins " ] [ " home_assistant " ] . get (
" base_url "
)
HASS_CACHE [ " api_key " ] = conn . config [ " plugins " ] [ " home_assistant " ] . get (
" api_key "
)
check_model_key ( " home_assistant " , HASS_CACHE [ " api_key " ] )
return HASS_CACHE