Compare commits
No commits in common. "da1352550f980540f3921f7bce9c98c19d145d62" and "786e7c2a07314daccf14b15ee4fdfd4ed7444831" have entirely different histories.
da1352550f
...
786e7c2a07
@ -46,9 +46,6 @@ class AgentConfig:
|
||||
memori_semantic_search_top_k: int = 20
|
||||
_mem0_context: Optional[str] = None # Mem0 召回的记忆上下文,供中间件间传递使用
|
||||
|
||||
# 自定义 shell 环境变量
|
||||
shell_env: Optional[Dict[str, str]] = field(default_factory=dict)
|
||||
|
||||
# Checkpointer 会话历史
|
||||
_session_history: Optional[List] = field(default_factory=list) # 从 checkpointer 读取的历史聊天记录
|
||||
|
||||
@ -75,7 +72,6 @@ class AgentConfig:
|
||||
'enable_memori': self.enable_memori,
|
||||
'memori_semantic_search_top_k': self.memori_semantic_search_top_k,
|
||||
'trace_id': self.trace_id,
|
||||
'shell_env': self.shell_env,
|
||||
}
|
||||
|
||||
def safe_print(self):
|
||||
@ -134,7 +130,6 @@ class AgentConfig:
|
||||
enable_memori=request.enable_memory,
|
||||
memori_semantic_search_top_k=getattr(request, 'memori_semantic_search_top_k', None) or MEM0_SEMANTIC_SEARCH_TOP_K,
|
||||
trace_id=trace_id,
|
||||
shell_env=getattr(request, 'shell_env', None) or {},
|
||||
)
|
||||
|
||||
# 在创建 config 时尽早准备 checkpoint 消息
|
||||
@ -203,7 +198,6 @@ class AgentConfig:
|
||||
enable_memori=enable_memori,
|
||||
memori_semantic_search_top_k=bot_config.get("memori_semantic_search_top_k", MEM0_SEMANTIC_SEARCH_TOP_K),
|
||||
trace_id=trace_id,
|
||||
shell_env=bot_config.get("shell_env") or {},
|
||||
)
|
||||
|
||||
# 在创建 config 时尽早准备 checkpoint 消息
|
||||
@ -279,7 +273,6 @@ class AgentConfig:
|
||||
enable_memori=enable_memori,
|
||||
memori_semantic_search_top_k=bot_config.get("memori_semantic_search_top_k", MEM0_SEMANTIC_SEARCH_TOP_K),
|
||||
trace_id=trace_id,
|
||||
shell_env=bot_config.get("shell_env") or {},
|
||||
)
|
||||
|
||||
# 在创建 config 时尽早准备 checkpoint 消息
|
||||
|
||||
@ -289,8 +289,7 @@ async def init_agent(config: AgentConfig):
|
||||
shell_env={
|
||||
"ASSISTANT_ID": config.bot_id,
|
||||
"USER_IDENTIFIER": config.user_identifier,
|
||||
"TRACE_ID": config.trace_id,
|
||||
**(config.shell_env or {}),
|
||||
"TRACE_ID": config.trace_id
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -637,7 +637,6 @@ class BotSettingsUpdate(BaseModel):
|
||||
tool_response: Optional[bool] = None
|
||||
skills: Optional[str] = None
|
||||
is_published: Optional[bool] = None # 是否发布到广场
|
||||
shell_env: Optional[dict] = None # 自定义 shell 环境变量
|
||||
|
||||
|
||||
class ModelInfo(BaseModel):
|
||||
@ -675,7 +674,6 @@ class BotSettingsResponse(BaseModel):
|
||||
enable_thinking: bool
|
||||
tool_response: bool
|
||||
skills: Optional[str]
|
||||
shell_env: Optional[dict] = None # 自定义 shell 环境变量
|
||||
is_published: bool = False # 是否发布到广场
|
||||
is_owner: bool = True # 是否是所有者
|
||||
copied_from: Optional[str] = None # 复制来源的bot id
|
||||
@ -1818,7 +1816,6 @@ async def get_bot_settings(bot_uuid: str, authorization: Optional[str] = Header(
|
||||
enable_thinking=settings.get('enable_thinking', False),
|
||||
tool_response=settings.get('tool_response', False),
|
||||
skills=settings.get('skills'),
|
||||
shell_env=settings.get('shell_env'),
|
||||
is_published=is_published if is_published else False,
|
||||
is_owner=is_owner,
|
||||
copied_from=str(copied_from) if copied_from else None,
|
||||
@ -1894,8 +1891,6 @@ async def update_bot_settings(
|
||||
update_json['tool_response'] = request.tool_response
|
||||
if request.skills is not None:
|
||||
update_json['skills'] = request.skills
|
||||
if request.shell_env is not None:
|
||||
update_json['shell_env'] = request.shell_env
|
||||
|
||||
# is_published 是表字段,不在 settings JSON 中
|
||||
need_update_published = request.is_published is not None
|
||||
|
||||
@ -482,7 +482,7 @@ async def chat_completions(request: ChatRequest, authorization: Optional[str] =
|
||||
project_dir = create_project_directory(request.dataset_ids, bot_id, request.skills)
|
||||
|
||||
# 收集额外参数作为 generate_cfg
|
||||
exclude_fields = {'messages', 'model', 'model_server', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings' ,'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n', 'shell_env'}
|
||||
exclude_fields = {'messages', 'model', 'model_server', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings' ,'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n'}
|
||||
generate_cfg = {k: v for k, v in request.model_dump().items() if k not in exclude_fields}
|
||||
# 处理消息
|
||||
messages = process_messages(request.messages, request.language)
|
||||
@ -532,7 +532,7 @@ async def chat_warmup_v1(request: ChatRequest, authorization: Optional[str] = He
|
||||
project_dir = create_project_directory(request.dataset_ids, bot_id, request.skills)
|
||||
|
||||
# 收集额外参数作为 generate_cfg
|
||||
exclude_fields = {'messages', 'model', 'model_server', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings' ,'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n', 'shell_env'}
|
||||
exclude_fields = {'messages', 'model', 'model_server', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings' ,'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n'}
|
||||
generate_cfg = {k: v for k, v in request.model_dump().items() if k not in exclude_fields}
|
||||
|
||||
# 创建一个空的消息列表用于预热(实际消息不会在warmup中处理)
|
||||
@ -636,7 +636,7 @@ async def chat_warmup_v2(request: ChatRequestV2, authorization: Optional[str] =
|
||||
messages = process_messages(empty_messages, request.language or "ja")
|
||||
|
||||
# 收集额外参数作为 generate_cfg
|
||||
exclude_fields = {'messages', 'stream', 'tool_response', 'bot_id', 'language', 'user_identifier', 'session_id', 'n', 'model', 'model_server', 'api_key', 'shell_env'}
|
||||
exclude_fields = {'messages', 'stream', 'tool_response', 'bot_id', 'language', 'user_identifier', 'session_id', 'n', 'model', 'model_server', 'api_key'}
|
||||
generate_cfg = {k: v for k, v in request.model_dump().items() if k not in exclude_fields}
|
||||
# 从请求中提取 model/model_server/api_key,优先级高于 bot_config(排除 "whatever" 和空值)
|
||||
req_data = request.model_dump()
|
||||
@ -743,7 +743,7 @@ async def chat_completions_v2(request: ChatRequestV2, authorization: Optional[st
|
||||
# 处理消息
|
||||
messages = process_messages(request.messages, request.language)
|
||||
# 收集额外参数作为 generate_cfg
|
||||
exclude_fields = {'messages', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings', 'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n', 'model', 'model_server', 'api_key', 'shell_env'}
|
||||
exclude_fields = {'messages', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings', 'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n', 'model', 'model_server', 'api_key'}
|
||||
generate_cfg = {k: v for k, v in request.model_dump().items() if k not in exclude_fields}
|
||||
# 从请求中提取 model/model_server/api_key,优先级高于 bot_config(排除 "whatever" 和空值)
|
||||
req_data = request.model_dump()
|
||||
|
||||
@ -55,7 +55,6 @@ class ChatRequest(BaseModel):
|
||||
enable_thinking: Optional[bool] = DEFAULT_THINKING_ENABLE
|
||||
skills: Optional[List[str]] = None
|
||||
enable_memory: Optional[bool] = False
|
||||
shell_env: Optional[Dict[str, str]] = None
|
||||
|
||||
model_config = ConfigDict(extra='allow')
|
||||
|
||||
|
||||
@ -530,8 +530,7 @@ async def fetch_bot_config_from_db(bot_user_id: str, user_identifier: Optional[s
|
||||
"enable_thinking": settings_data.get("enable_thinking", False),
|
||||
"skills": settings_data.get("skills", []),
|
||||
"description": settings_data.get("description", ""),
|
||||
"suggestions": settings_data.get("suggestions", []),
|
||||
"shell_env": settings_data.get("shell_env") or {},
|
||||
"suggestions": settings_data.get("suggestions", [])
|
||||
}
|
||||
|
||||
# 处理 dataset_ids
|
||||
|
||||
Loading…
Reference in New Issue
Block a user