mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 15:13:55 +08:00
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
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"]["function_call"].get("functions", [])
|
|
if "hass_get_state" in funcs or "hass_get_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"]["function_call"].get("functions", [])
|
|
if "hass_get_state" in funcs or "hass_get_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
|