mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-27 09:33:55 +08:00
部分配置key修正
This commit is contained in:
@@ -59,7 +59,9 @@ Memory:
|
|||||||
llm_model: qwen-plus
|
llm_model: qwen-plus
|
||||||
# 嵌入模型配置
|
# 嵌入模型配置
|
||||||
embedding_api_key: 你的嵌入模型API密钥
|
embedding_api_key: 你的嵌入模型API密钥
|
||||||
embedding_model: text-embedding-v3
|
embedding_model: text-embedding-v4
|
||||||
|
# 可选:自定义嵌入服务地址(OpenAI兼容模式)
|
||||||
|
# embedding_openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
|
||||||
```
|
```
|
||||||
|
|
||||||
### 配置参数详解
|
### 配置参数详解
|
||||||
@@ -72,10 +74,21 @@ Memory:
|
|||||||
| `embedding_provider` | 嵌入模型提供商 | `qwen` | `qwen`, `zhipu`, `openai`, 等 |
|
| `embedding_provider` | 嵌入模型提供商 | `qwen` | `qwen`, `zhipu`, `openai`, 等 |
|
||||||
| `llm_api_key` | LLM API 密钥 | - | - |
|
| `llm_api_key` | LLM API 密钥 | - | - |
|
||||||
| `llm_model` | LLM 模型名称 | - | 根据提供商选择 |
|
| `llm_model` | LLM 模型名称 | - | 根据提供商选择 |
|
||||||
| `llm_base_url` | LLM API 地址(可选) | - | - |
|
| `llm_base_url` | LLM API 地址(可选) | - | 根据provider自动选择参数名 |
|
||||||
| `embedding_api_key` | 嵌入模型 API 密钥 | - | - |
|
| `embedding_api_key` | 嵌入模型 API 密钥 | - | - |
|
||||||
| `embedding_model` | 嵌入模型名称 | - | 根据提供商选择 |
|
| `embedding_model` | 嵌入模型名称 | - | 根据提供商选择 |
|
||||||
| `embedding_base_url` | 嵌入模型 API 地址(可选) | - | - |
|
| `embedding_base_url` | 嵌入模型 API 地址(可选) | - | 通用配置,根据provider自动选择 |
|
||||||
|
| `embedding_openai_base_url` | OpenAI兼容的嵌入服务地址(可选) | - | 优先级高于 embedding_base_url |
|
||||||
|
| `embedding_dashscope_base_url` | 阿里云灵积嵌入服务地址(可选) | - | 优先级高于 embedding_base_url |
|
||||||
|
|
||||||
|
#### Base URL 配置优先级
|
||||||
|
|
||||||
|
| 配置项 | 优先级 | 适用 Provider |
|
||||||
|
|--------|--------|---------------|
|
||||||
|
| `embedding_openai_base_url` | 最高 | openai |
|
||||||
|
| `embedding_dashscope_base_url` | 最高 | qwen |
|
||||||
|
| `embedding_base_url` | 中 | 通用,根据 provider 自动选择 |
|
||||||
|
| 默认值 | 最低 | 使用 provider 的默认服务地址 |
|
||||||
|
|
||||||
### 记忆模式说明
|
### 记忆模式说明
|
||||||
|
|
||||||
@@ -102,7 +115,9 @@ Memory:
|
|||||||
llm_api_key: sk-xxxxxxxxxxxxxxxx
|
llm_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
llm_model: qwen-plus
|
llm_model: qwen-plus
|
||||||
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
embedding_model: text-embedding-v3
|
embedding_model: text-embedding-v4
|
||||||
|
# 可选:使用 OpenAI 兼容模式的服务地址
|
||||||
|
embedding_openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
|
||||||
```
|
```
|
||||||
|
|
||||||
### 使用智谱免费 LLM(完全免费方案)
|
### 使用智谱免费 LLM(完全免费方案)
|
||||||
@@ -118,14 +133,14 @@ Memory:
|
|||||||
powermem:
|
powermem:
|
||||||
type: powermem
|
type: powermem
|
||||||
database_provider: sqlite
|
database_provider: sqlite
|
||||||
llm_provider: zhipu
|
llm_provider: openai # 使用 openai 兼容模式
|
||||||
embedding_provider: zhipu
|
embedding_provider: openai # 使用 openai 兼容模式
|
||||||
llm_api_key: xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx
|
llm_api_key: xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx
|
||||||
llm_model: glm-4-flash
|
llm_model: glm-4-flash
|
||||||
llm_base_url: https://open.bigmodel.cn/api/paas/v4/
|
llm_base_url: https://open.bigmodel.cn/api/paas/v4/
|
||||||
embedding_api_key: xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx
|
embedding_api_key: xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx
|
||||||
embedding_model: embedding-3
|
embedding_model: embedding-3
|
||||||
embedding_base_url: https://open.bigmodel.cn/api/paas/v4/
|
embedding_openai_base_url: https://open.bigmodel.cn/api/paas/v4/
|
||||||
```
|
```
|
||||||
|
|
||||||
### 使用 OpenAI
|
### 使用 OpenAI
|
||||||
@@ -142,7 +157,7 @@ Memory:
|
|||||||
llm_base_url: https://api.openai.com/v1
|
llm_base_url: https://api.openai.com/v1
|
||||||
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
embedding_model: text-embedding-3-small
|
embedding_model: text-embedding-3-small
|
||||||
embedding_base_url: https://api.openai.com/v1
|
embedding_openai_base_url: https://api.openai.com/v1
|
||||||
```
|
```
|
||||||
|
|
||||||
### 使用 OceanBase(最佳性能方案)
|
### 使用 OceanBase(最佳性能方案)
|
||||||
@@ -164,7 +179,8 @@ Memory:
|
|||||||
llm_api_key: sk-xxxxxxxxxxxxxxxx
|
llm_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
llm_model: qwen-plus
|
llm_model: qwen-plus
|
||||||
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
embedding_model: text-embedding-v3
|
embedding_model: text-embedding-v4
|
||||||
|
embedding_openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
|
||||||
# OceanBase 数据库连接配置
|
# OceanBase 数据库连接配置
|
||||||
vector_store:
|
vector_store:
|
||||||
provider: oceanbase
|
provider: oceanbase
|
||||||
@@ -198,10 +214,11 @@ Memory:
|
|||||||
model: qwen-plus
|
model: qwen-plus
|
||||||
# 嵌入模型配置
|
# 嵌入模型配置
|
||||||
embedder:
|
embedder:
|
||||||
provider: qwen
|
provider: openai # 使用 OpenAI 兼容模式
|
||||||
config:
|
config:
|
||||||
api_key: sk-xxxxxxxxxxxxxxxx
|
api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
model: text-embedding-v3
|
model: text-embedding-v4
|
||||||
|
openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
|
||||||
```
|
```
|
||||||
|
|
||||||
## 设备记忆隔离
|
## 设备记忆隔离
|
||||||
@@ -231,7 +248,8 @@ Memory:
|
|||||||
llm_api_key: sk-xxxxxxxxxxxxxxxx
|
llm_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
llm_model: qwen-plus
|
llm_model: qwen-plus
|
||||||
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
embedding_api_key: sk-xxxxxxxxxxxxxxxx
|
||||||
embedding_model: text-embedding-v3
|
embedding_model: text-embedding-v4
|
||||||
|
embedding_openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
|
||||||
# OceanBase 数据库连接配置
|
# OceanBase 数据库连接配置
|
||||||
vector_store:
|
vector_store:
|
||||||
provider: oceanbase
|
provider: oceanbase
|
||||||
|
|||||||
@@ -301,9 +301,15 @@ Memory:
|
|||||||
# 智谱AI(免费): https://bigmodel.cn/usercenter/proj-mgmt/apikeys
|
# 智谱AI(免费): https://bigmodel.cn/usercenter/proj-mgmt/apikeys
|
||||||
llm_api_key: 你的LLM API密钥
|
llm_api_key: 你的LLM API密钥
|
||||||
llm_model: qwen-plus
|
llm_model: qwen-plus
|
||||||
|
# llm_base_url: https://dashscope.aliyuncs.com/api/v1 # 可选,自定义LLM服务地址
|
||||||
# 嵌入模型配置 (使用通义千问为例)
|
# 嵌入模型配置 (使用通义千问为例)
|
||||||
embedding_api_key: 你的嵌入模型API密钥
|
embedding_api_key: 你的嵌入模型API密钥
|
||||||
embedding_model: text-embedding-v3
|
embedding_model: text-embedding-v4
|
||||||
|
embedding_openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1 # OpenAI兼容的嵌入服务地址
|
||||||
|
# embedding_base_url: https://dashscope.aliyuncs.com/api/v1 # 可选,自定义嵌入模型服务地址
|
||||||
|
# 或使用独立的base_url配置(优先级更高):
|
||||||
|
# embedding_openai_base_url: https://api.openai.com/v1 # OpenAI兼容的嵌入服务地址
|
||||||
|
# embedding_dashscope_base_url: https://dashscope.aliyuncs.com/api/v1 # 阿里云灵积嵌入服务地址
|
||||||
nomem:
|
nomem:
|
||||||
# 不想使用记忆功能,可以使用nomem
|
# 不想使用记忆功能,可以使用nomem
|
||||||
type: nomem
|
type: nomem
|
||||||
|
|||||||
@@ -84,8 +84,18 @@ class MemoryProvider(MemoryProviderBase):
|
|||||||
llm_config["api_key"] = config["llm_api_key"]
|
llm_config["api_key"] = config["llm_api_key"]
|
||||||
if "llm_model" in config:
|
if "llm_model" in config:
|
||||||
llm_config["model"] = config["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_base_url" in config:
|
||||||
llm_config["base_url"] = config["llm_base_url"]
|
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"]
|
||||||
powermem_config["llm"] = {
|
powermem_config["llm"] = {
|
||||||
"provider": llm_provider,
|
"provider": llm_provider,
|
||||||
"config": llm_config
|
"config": llm_config
|
||||||
@@ -100,8 +110,20 @@ class MemoryProvider(MemoryProviderBase):
|
|||||||
embedder_config["api_key"] = config["embedding_api_key"]
|
embedder_config["api_key"] = config["embedding_api_key"]
|
||||||
if "embedding_model" in config:
|
if "embedding_model" in config:
|
||||||
embedder_config["model"] = config["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_base_url" in config:
|
||||||
embedder_config["base_url"] = config["embedding_base_url"]
|
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"]
|
||||||
powermem_config["embedder"] = {
|
powermem_config["embedder"] = {
|
||||||
"provider": embedding_provider,
|
"provider": embedding_provider,
|
||||||
"config": embedder_config
|
"config": embedder_config
|
||||||
@@ -294,6 +316,3 @@ class MemoryProvider(MemoryProviderBase):
|
|||||||
logger.bind(tag=TAG).debug(f"Detailed error: {traceback.format_exc()}")
|
logger.bind(tag=TAG).debug(f"Detailed error: {traceback.format_exc()}")
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
# Register the memory provider instance
|
|
||||||
powermem = MemoryProvider({})
|
|
||||||
|
|||||||
Reference in New Issue
Block a user