diff --git a/backend/main/xiaozhi-server/core/providers/llm/antaf/antaf.py b/backend/main/xiaozhi-server/core/providers/llm/antaf/antaf.py index ddc6900..cb8c1f3 100644 --- a/backend/main/xiaozhi-server/core/providers/llm/antaf/antaf.py +++ b/backend/main/xiaozhi-server/core/providers/llm/antaf/antaf.py @@ -1,3 +1,4 @@ +import json import requests from config.logger import setup_logging from core.providers.llm.base import LLMProviderBase @@ -61,7 +62,15 @@ class LLMProvider(LLMProviderBase): if msg.get("role") == "user": content = msg.get("content", "") if not self._is_system_injected(content): - query = content + # ASR 结果可能是 JSON: {"content":"...", "language":"zh", "emotion":"..."} + try: + parsed = json.loads(content) + if isinstance(parsed, dict) and "content" in parsed: + query = parsed["content"] + else: + query = content + except (json.JSONDecodeError, TypeError): + query = content break if not query: