template更新
This commit is contained in:
@@ -54,11 +54,8 @@ class ModelInfo(ConfigBase):
|
|||||||
force_stream_mode: bool = field(default=False)
|
force_stream_mode: bool = field(default=False)
|
||||||
"""是否强制使用流式输出模式"""
|
"""是否强制使用流式输出模式"""
|
||||||
|
|
||||||
has_thinking: bool = field(default=False)
|
extra_params: dict = field(default_factory=dict)
|
||||||
"""是否有思考参数"""
|
"""额外参数(用于API调用时的额外配置)"""
|
||||||
|
|
||||||
enable_thinking: bool = field(default=False)
|
|
||||||
"""是否启用思考"""
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -216,7 +216,6 @@ library_log_levels = { "aiohttp" = "WARNING"} # 设置特定库的日志级别
|
|||||||
[debug]
|
[debug]
|
||||||
show_prompt = false # 是否显示prompt
|
show_prompt = false # 是否显示prompt
|
||||||
|
|
||||||
|
|
||||||
[maim_message]
|
[maim_message]
|
||||||
auth_token = [] # 认证令牌,用于API验证,为空则不启用验证
|
auth_token = [] # 认证令牌,用于API验证,为空则不启用验证
|
||||||
# 以下项目若要使用需要打开use_custom,并单独配置maim_message的服务器
|
# 以下项目若要使用需要打开use_custom,并单独配置maim_message的服务器
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
[lpmm]
|
|
||||||
version = "0.1.0"
|
|
||||||
|
|
||||||
# LLM API 服务提供商,可配置多个
|
|
||||||
[[llm_providers]]
|
|
||||||
name = "localhost"
|
|
||||||
base_url = "http://127.0.0.1:8888/v1/"
|
|
||||||
api_key = "lm_studio"
|
|
||||||
|
|
||||||
[[llm_providers]]
|
|
||||||
name = "siliconflow"
|
|
||||||
base_url = "https://api.siliconflow.cn/v1/"
|
|
||||||
api_key = ""
|
|
||||||
|
|
||||||
[entity_extract.llm]
|
|
||||||
# 设置用于实体提取的LLM模型
|
|
||||||
provider = "siliconflow" # 服务提供商
|
|
||||||
model = "deepseek-ai/DeepSeek-V3" # 模型名称
|
|
||||||
|
|
||||||
[rdf_build.llm]
|
|
||||||
# 设置用于RDF构建的LLM模型
|
|
||||||
provider = "siliconflow" # 服务提供商
|
|
||||||
model = "deepseek-ai/DeepSeek-V3" # 模型名称
|
|
||||||
|
|
||||||
[embedding]
|
|
||||||
# 设置用于文本嵌入的Embedding模型
|
|
||||||
provider = "siliconflow" # 服务提供商
|
|
||||||
model = "Pro/BAAI/bge-m3" # 模型名称
|
|
||||||
dimension = 1024 # 嵌入维度
|
|
||||||
|
|
||||||
[rag.params]
|
|
||||||
# RAG参数配置
|
|
||||||
synonym_search_top_k = 10 # 同义词搜索TopK
|
|
||||||
synonym_threshold = 0.8 # 同义词阈值(相似度高于此阈值的词语会被认为是同义词)
|
|
||||||
|
|
||||||
[qa.llm]
|
|
||||||
# 设置用于QA的LLM模型
|
|
||||||
provider = "siliconflow" # 服务提供商
|
|
||||||
model = "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B" # 模型名称
|
|
||||||
|
|
||||||
[info_extraction]
|
|
||||||
workers = 3 # 实体提取同时执行线程数,非Pro模型不要设置超过5
|
|
||||||
|
|
||||||
[qa.params]
|
|
||||||
# QA参数配置
|
|
||||||
relation_search_top_k = 10 # 关系搜索TopK
|
|
||||||
relation_threshold = 0.5 # 关系阈值(相似度高于此阈值的关系会被认为是相关的关系)
|
|
||||||
paragraph_search_top_k = 1000 # 段落搜索TopK(不能过小,可能影响搜索结果)
|
|
||||||
paragraph_node_weight = 0.05 # 段落节点权重(在图搜索&PPR计算中的权重,当搜索仅使用DPR时,此参数不起作用)
|
|
||||||
ent_filter_top_k = 10 # 实体过滤TopK
|
|
||||||
ppr_damping = 0.8 # PPR阻尼系数
|
|
||||||
res_top_k = 3 # 最终提供的文段TopK
|
|
||||||
|
|
||||||
[persistence]
|
|
||||||
# 持久化配置(存储中间数据,防止重复计算)
|
|
||||||
data_root_path = "data" # 数据根目录
|
|
||||||
imported_data_path = "data/imported_lpmm_data" # 转换为json的raw文件数据路径
|
|
||||||
openie_data_path = "data/openie" # OpenIE数据路径
|
|
||||||
embedding_data_dir = "data/embedding" # 嵌入数据目录
|
|
||||||
rag_data_dir = "data/rag" # RAG数据目录
|
|
||||||
@@ -1,98 +1,43 @@
|
|||||||
[inner]
|
[inner]
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
|
|
||||||
# 配置文件版本号迭代规则同bot_config.toml
|
# 配置文件版本号迭代规则同bot_config.toml
|
||||||
#
|
|
||||||
# === 多API Key支持 ===
|
|
||||||
# 本配置文件支持为每个API服务商配置多个API Key,实现以下功能:
|
|
||||||
# 1. 错误自动切换:当某个API Key失败时,自动切换到下一个可用的Key
|
|
||||||
# 2. 负载均衡:在多个可用的API Key之间循环使用,避免单个Key的频率限制
|
|
||||||
# 3. 向后兼容:仍然支持单个key字段的配置方式
|
|
||||||
#
|
|
||||||
# 配置方式:
|
|
||||||
# - 多Key配置:使用 api_keys = ["key1", "key2", "key3"] 数组格式
|
|
||||||
# - 单Key配置:使用 key = "your-key" 字符串格式(向后兼容)
|
|
||||||
#
|
|
||||||
# 错误处理机制:
|
|
||||||
# - 401/403认证错误:立即切换到下一个API Key
|
|
||||||
# - 429频率限制:等待后重试,如果持续失败则切换Key
|
|
||||||
# - 网络错误:短暂等待后重试,失败则切换Key
|
|
||||||
# - 其他错误:按照正常重试机制处理
|
|
||||||
#
|
|
||||||
# === 任务类型和模型能力配置 ===
|
|
||||||
# 为了提高任务分配的准确性和可维护性,现在支持明确配置模型的任务类型和能力:
|
|
||||||
#
|
|
||||||
# task_type(推荐配置):
|
|
||||||
# - 明确指定模型主要用于什么任务
|
|
||||||
# - 可选值:llm_normal, llm_reasoning, vision, embedding, speech
|
|
||||||
# - 如果不配置,系统会根据capabilities或模型名称自动推断(不推荐)
|
|
||||||
#
|
|
||||||
# capabilities(推荐配置):
|
|
||||||
# - 描述模型支持的所有能力
|
|
||||||
# - 可选值:text, vision, embedding, speech, tool_calling, reasoning
|
|
||||||
# - 支持多个能力的组合,如:["text", "vision"]
|
|
||||||
#
|
|
||||||
# 配置优先级:
|
|
||||||
# 1. task_type(最高优先级,直接指定任务类型)
|
|
||||||
# 2. capabilities(中等优先级,根据能力推断任务类型)
|
|
||||||
# 3. 模型名称关键字(最低优先级,不推荐依赖)
|
|
||||||
#
|
|
||||||
# 向后兼容:
|
|
||||||
# - 仍然支持 model_flags 字段,但建议迁移到 capabilities
|
|
||||||
# - 未配置新字段时会自动回退到基于模型名称的推断
|
|
||||||
|
|
||||||
[request_conf] # 请求配置(此配置项数值均为默认值,如想修改,请取消对应条目的注释)
|
|
||||||
max_retry = 2 # 最大重试次数(单个模型API调用失败,最多重试的次数)
|
|
||||||
timeout = 10 # API调用的超时时长(超过这个时长,本次请求将被视为“请求超时”,单位:秒)
|
|
||||||
retry_interval = 10 # 重试间隔(如果API调用失败,重试的间隔时间,单位:秒)
|
|
||||||
default_temperature = 0.7 # 默认的温度(如果bot_config.toml中没有设置temperature参数,默认使用这个值)
|
|
||||||
default_max_tokens = 1024 # 默认的最大输出token数(如果bot_config.toml中没有设置max_tokens参数,默认使用这个值)
|
|
||||||
|
|
||||||
|
|
||||||
[[api_providers]] # API服务提供商(可以配置多个)
|
[[api_providers]] # API服务提供商(可以配置多个)
|
||||||
name = "DeepSeek" # API服务商名称(可随意命名,在models的api-provider中需使用这个命名)
|
name = "DeepSeek" # API服务商名称(可随意命名,在models的api-provider中需使用这个命名)
|
||||||
base_url = "https://api.deepseek.cn/v1" # API服务商的BaseURL
|
base_url = "https://api.deepseek.cn/v1" # API服务商的BaseURL
|
||||||
# 支持多个API Key,实现自动切换和负载均衡
|
api_key = "your-api-key-here" # API密钥(请替换为实际的API密钥)
|
||||||
api_key = "sk-your-first-key-here"
|
|
||||||
client_type = "openai" # 请求客户端(可选,默认值为"openai",使用gimini等Google系模型时请配置为"gemini")
|
client_type = "openai" # 请求客户端(可选,默认值为"openai",使用gimini等Google系模型时请配置为"gemini")
|
||||||
|
max_retry = 2 # 最大重试次数(单个模型API调用失败,最多重试的次数)
|
||||||
|
timeout = 30 # API请求超时时间(单位:秒)
|
||||||
|
retry_interval = 10 # 重试间隔时间(单位:秒)
|
||||||
|
|
||||||
|
[[api_providers]] # SiliconFlow的API服务商配置
|
||||||
|
name = "SiliconFlow"
|
||||||
|
base_url = "https://api.siliconflow.cn/v1"
|
||||||
|
api_key = "your-siliconflow-api-key"
|
||||||
|
client_type = "openai"
|
||||||
|
max_retry = 2
|
||||||
|
timeout = 30
|
||||||
|
retry_interval = 10
|
||||||
|
|
||||||
[[api_providers]] # 特殊:Google的Gimini使用特殊API,与OpenAI格式不兼容,需要配置client为"gemini"
|
[[api_providers]] # 特殊:Google的Gimini使用特殊API,与OpenAI格式不兼容,需要配置client为"gemini"
|
||||||
name = "Google"
|
name = "Google"
|
||||||
base_url = "https://api.google.com/v1"
|
base_url = "https://api.google.com/v1"
|
||||||
api_key = "your-google-api-key-1"
|
api_key = "your-google-api-key-1"
|
||||||
client_type = "gemini"
|
client_type = "gemini"
|
||||||
|
max_retry = 2
|
||||||
|
timeout = 30
|
||||||
|
retry_interval = 10
|
||||||
|
|
||||||
|
|
||||||
[[models]] # 模型(可以配置多个)
|
[[models]] # 模型(可以配置多个)
|
||||||
# 模型标识符(API服务商提供的模型标识符)
|
model_identifier = "deepseek-chat" # 模型标识符(API服务商提供的模型标识符)
|
||||||
model_identifier = "deepseek-chat"
|
name = "deepseek-v3" # 模型名称(可随意命名,在后面中需使用这个命名)
|
||||||
# 模型名称(可随意命名,在bot_config.toml中需使用这个命名)
|
api_provider = "DeepSeek" # API服务商名称(对应在api_providers中配置的服务商名称)
|
||||||
name = "deepseek-v3"
|
price_in = 2.0 # 输入价格(用于API调用统计,单位:元/ M token)(可选,若无该字段,默认值为0)
|
||||||
# API服务商名称(对应在api_providers中配置的服务商名称)
|
price_out = 8.0 # 输出价格(用于API调用统计,单位:元/ M token)(可选,若无该字段,默认值为0)
|
||||||
api_provider = "DeepSeek"
|
#force_stream_mode = true # 强制流式输出模式(若模型不支持非流式输出,请取消该注释,启用强制流式输出,若无该字段,默认值为false)
|
||||||
# 任务类型(推荐配置,明确指定模型主要用于什么任务)
|
|
||||||
# 可选值:llm_normal, llm_reasoning, vision, embedding, speech
|
|
||||||
# 如果不配置,系统会根据capabilities或模型名称自动推断
|
|
||||||
task_type = "llm_normal"
|
|
||||||
# 模型能力列表(推荐配置,描述模型支持的能力)
|
|
||||||
# 可选值:text, vision, embedding, speech, tool_calling, reasoning
|
|
||||||
capabilities = ["text", "tool_calling"]
|
|
||||||
# 输入价格(用于API调用统计,单位:元/兆token)(可选,若无该字段,默认值为0)
|
|
||||||
price_in = 2.0
|
|
||||||
# 输出价格(用于API调用统计,单位:元/兆token)(可选,若无该字段,默认值为0)
|
|
||||||
price_out = 8.0
|
|
||||||
# 强制流式输出模式(若模型不支持非流式输出,请取消该注释,启用强制流式输出)
|
|
||||||
#(可选,若无该字段,默认值为false)
|
|
||||||
#force_stream_mode = true
|
|
||||||
|
|
||||||
[[models]]
|
|
||||||
model_identifier = "deepseek-reasoner"
|
|
||||||
name = "deepseek-r1"
|
|
||||||
api_provider = "DeepSeek"
|
|
||||||
price_in = 4.0
|
|
||||||
price_out = 16.0
|
|
||||||
has_thinking = true # 有无思考参数
|
|
||||||
enable_thinking = true # 是否启用思考
|
|
||||||
|
|
||||||
[[models]]
|
[[models]]
|
||||||
model_identifier = "Pro/deepseek-ai/DeepSeek-V3"
|
model_identifier = "Pro/deepseek-ai/DeepSeek-V3"
|
||||||
@@ -154,82 +99,74 @@ price_out = 0
|
|||||||
model_identifier = "BAAI/bge-m3"
|
model_identifier = "BAAI/bge-m3"
|
||||||
name = "bge-m3"
|
name = "bge-m3"
|
||||||
api_provider = "SiliconFlow"
|
api_provider = "SiliconFlow"
|
||||||
# 嵌入模型的配置示例
|
|
||||||
task_type = "embedding"
|
|
||||||
capabilities = ["text", "embedding"]
|
|
||||||
# 保留向后兼容的model_flags字段(已废弃,建议使用capabilities)
|
|
||||||
model_flags = [ "text", "embedding",]
|
|
||||||
price_in = 0
|
price_in = 0
|
||||||
price_out = 0
|
price_out = 0
|
||||||
|
|
||||||
|
|
||||||
[model.utils] # 在麦麦的一些组件中使用的模型,例如表情包模块,取名模块,关系模块,是麦麦必须的模型
|
[model.utils] # 在麦麦的一些组件中使用的模型,例如表情包模块,取名模块,关系模块,是麦麦必须的模型
|
||||||
model_list = ["siliconflow-deepseek-v3","qwen3-8b"]
|
model_list = ["siliconflow-deepseek-v3"] # 使用的模型列表,每个子项对应上面的模型名称(name)
|
||||||
temperature = 0.2 # 模型温度,新V3建议0.1-0.3
|
temperature = 0.2 # 模型温度,新V3建议0.1-0.3
|
||||||
max_tokens = 800 # 最大输出token数
|
max_tokens = 800 # 最大输出token数
|
||||||
|
|
||||||
[model.utils_small] # 在麦麦的一些组件中使用的小模型,消耗量较大,建议使用速度较快的小模型
|
[model.utils_small] # 在麦麦的一些组件中使用的小模型,消耗量较大,建议使用速度较快的小模型
|
||||||
model_name = "qwen3-8b" # 对应 model_config.toml 中的模型名称
|
model_list = ["qwen3-8b"]
|
||||||
temperature = 0.7
|
temperature = 0.7
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.replyer_1] # 首要回复模型,还用于表达器和表达方式学习
|
[model.replyer_1] # 首要回复模型,还用于表达器和表达方式学习
|
||||||
model_name = "siliconflow-deepseek-v3" # 对应 model_config.toml 中的模型名称
|
model_list = ["siliconflow-deepseek-v3"]
|
||||||
temperature = 0.2 # 模型温度,新V3建议0.1-0.3
|
temperature = 0.2 # 模型温度,新V3建议0.1-0.3
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.replyer_2] # 次要回复模型
|
[model.replyer_2] # 次要回复模型
|
||||||
model_name = "siliconflow-deepseek-r1" # 对应 model_config.toml 中的模型名称
|
model_list = ["siliconflow-deepseek-v3"]
|
||||||
temperature = 0.7 # 模型温度
|
temperature = 0.7
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.planner] #决策:负责决定麦麦该做什么的模型
|
[model.planner] #决策:负责决定麦麦该做什么的模型
|
||||||
model_name = "siliconflow-deepseek-v3" # 对应 model_config.toml 中的模型名称
|
model_list = ["siliconflow-deepseek-v3"]
|
||||||
temperature = 0.3
|
temperature = 0.3
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.emotion] #负责麦麦的情绪变化
|
[model.emotion] #负责麦麦的情绪变化
|
||||||
model_name = "siliconflow-deepseek-v3" # 对应 model_config.toml 中的模型名称
|
model_list = ["siliconflow-deepseek-v3"]
|
||||||
temperature = 0.3
|
temperature = 0.3
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.memory] # 记忆模型
|
[model.memory] # 记忆模型
|
||||||
model_name = "qwen3-30b" # 对应 model_config.toml 中的模型名称
|
model_list = ["qwen3-30b"]
|
||||||
temperature = 0.7
|
temperature = 0.7
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
enable_thinking = false # 是否启用思考
|
|
||||||
|
|
||||||
[model.vlm] # 图像识别模型
|
[model.vlm] # 图像识别模型
|
||||||
model_name = "qwen2.5-vl-72b" # 对应 model_config.toml 中的模型名称
|
model_list = ["qwen2.5-vl-72b"]
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.voice] # 语音识别模型
|
[model.voice] # 语音识别模型
|
||||||
model_name = "sensevoice-small" # 对应 model_config.toml 中的模型名称
|
model_list = ["sensevoice-small"]
|
||||||
|
|
||||||
[model.tool_use] #工具调用模型,需要使用支持工具调用的模型
|
[model.tool_use] #工具调用模型,需要使用支持工具调用的模型
|
||||||
model_name = "qwen3-14b" # 对应 model_config.toml 中的模型名称
|
model_list = ["qwen3-14b"]
|
||||||
temperature = 0.7
|
temperature = 0.7
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
enable_thinking = false # 是否启用思考(qwen3 only)
|
|
||||||
|
|
||||||
#嵌入模型
|
#嵌入模型
|
||||||
[model.embedding]
|
[model.embedding]
|
||||||
model_name = "bge-m3" # 对应 model_config.toml 中的模型名称
|
model_list = ["bge-m3"]
|
||||||
|
|
||||||
#------------LPMM知识库模型------------
|
#------------LPMM知识库模型------------
|
||||||
|
|
||||||
[model.lpmm_entity_extract] # 实体提取模型
|
[model.lpmm_entity_extract] # 实体提取模型
|
||||||
model_name = "siliconflow-deepseek-v3" # 对应 model_config.toml 中的模型名称
|
model_list = ["siliconflow-deepseek-v3"]
|
||||||
temperature = 0.2
|
temperature = 0.2
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.lpmm_rdf_build] # RDF构建模型
|
[model.lpmm_rdf_build] # RDF构建模型
|
||||||
model_name = "siliconflow-deepseek-v3" # 对应 model_config.toml 中的模型名称
|
model_list = ["siliconflow-deepseek-v3"]
|
||||||
temperature = 0.2
|
temperature = 0.2
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
|
|
||||||
[model.lpmm_qa] # 问答模型
|
[model.lpmm_qa] # 问答模型
|
||||||
model_name = "deepseek-r1-distill-qwen-32b" # 对应 model_config.toml 中的模型名称
|
model_list = ["deepseek-r1-distill-qwen-32b"]
|
||||||
temperature = 0.7
|
temperature = 0.7
|
||||||
max_tokens = 800
|
max_tokens = 800
|
||||||
enable_thinking = false # 是否启用思考
|
|
||||||
Reference in New Issue
Block a user