From 7b2bfc087d2d3e347c8792eff410c55ced069703 Mon Sep 17 00:00:00 2001 From: Sakura-RanChen <1908198662@qq.com> Date: Tue, 31 Mar 2026 18:00:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../providers/memory/powermem/powermem.py | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/main/xiaozhi-server/core/providers/memory/powermem/powermem.py b/main/xiaozhi-server/core/providers/memory/powermem/powermem.py index 5c453c07..615787f7 100644 --- a/main/xiaozhi-server/core/providers/memory/powermem/powermem.py +++ b/main/xiaozhi-server/core/providers/memory/powermem/powermem.py @@ -75,22 +75,22 @@ class MemoryProvider(MemoryProviderBase): powermem_config["llm"] = config["llm"] else: llm_config = {} - if "llm_api_key" in config: + if config.get("llm_api_key"): llm_config["api_key"] = config["llm_api_key"] - if "llm_model" in config: + if config.get("llm_model"): llm_config["model"] = config["llm_model"] # Handle base_url based on provider type # - qwen provider uses dashscope_base_url # - openai provider uses openai_base_url - if "llm_base_url" in config: - if llm_provider == "qwen": - llm_config["dashscope_base_url"] = config["llm_base_url"] - else: - llm_config["openai_base_url"] = config["llm_base_url"] - if "openai_base_url" in config: - llm_config["openai_base_url"] = config["openai_base_url"] - if "dashscope_base_url" in config: - llm_config["dashscope_base_url"] = config["dashscope_base_url"] + if llm_provider == "qwen": + base_url = config.get("dashscope_base_url") or config.get("llm_base_url") + if base_url: + llm_config["dashscope_base_url"] = base_url + else: + base_url = config.get("openai_base_url") or config.get("llm_base_url") + if base_url: + llm_config["openai_base_url"] = base_url + powermem_config["llm"] = { "provider": llm_provider, "config": llm_config @@ -101,24 +101,23 @@ class MemoryProvider(MemoryProviderBase): powermem_config["embedder"] = config["embedder"] else: embedder_config = {} - if "embedding_api_key" in config: + if config.get("embedding_api_key"): embedder_config["api_key"] = config["embedding_api_key"] - if "embedding_model" in config: + if config.get("embedding_model"): embedder_config["model"] = config["embedding_model"] # Handle base_url based on provider type # - qwen provider uses dashscope_base_url # - openai provider uses openai_base_url # Priority: embedding_xxx_base_url > embedding_base_url > xxx_base_url - if "embedding_base_url" in config: - if embedding_provider == "qwen": - embedder_config["dashscope_base_url"] = config["embedding_base_url"] - else: - embedder_config["openai_base_url"] = config["embedding_base_url"] - # Embedding-specific base_url (higher priority) - if "embedding_openai_base_url" in config: - embedder_config["openai_base_url"] = config["embedding_openai_base_url"] - if "embedding_dashscope_base_url" in config: - embedder_config["dashscope_base_url"] = config["embedding_dashscope_base_url"] + if embedding_provider == "qwen": + base_url = config.get("embedding_dashscope_base_url") or config.get("embedding_base_url") + if base_url: + embedder_config["dashscope_base_url"] = base_url + else: + base_url = config.get("embedding_openai_base_url") or config.get("embedding_base_url") + if base_url: + embedder_config["openai_base_url"] = base_url + powermem_config["embedder"] = { "provider": embedding_provider, "config": embedder_config