feat(robot): add default rag-retrieve skill for catalog/deep agents
When skills parameter is empty or None and robot_type is catalog_agent or deep_agent, automatically load rag-retrieve skill. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
766b9becda
commit
78c413f4ea
@ -374,7 +374,7 @@ def create_project_directory(dataset_ids: Optional[List[str]], bot_id: str, robo
|
|||||||
try:
|
try:
|
||||||
from utils.multi_project_manager import create_robot_project
|
from utils.multi_project_manager import create_robot_project
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
return create_robot_project(dataset_ids, bot_id, project_path=Path("~", ".deepagents"), skills=skills)
|
return create_robot_project(dataset_ids, bot_id, project_path=Path("~", ".deepagents"), skills=skills, robot_type=robot_type)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error creating project directory: {e}")
|
logger.error(f"Error creating project directory: {e}")
|
||||||
return None
|
return None
|
||||||
|
|||||||
@ -396,7 +396,7 @@ def should_rebuild_robot_project(dataset_ids: List[str], bot_id: str, project_pa
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def create_robot_project(dataset_ids: List[str], bot_id: str, force_rebuild: bool = False, project_path: Path = Path("projects"), skills: Optional[List[str]] = None) -> str:
|
def create_robot_project(dataset_ids: List[str], bot_id: str, force_rebuild: bool = False, project_path: Path = Path("projects"), skills: Optional[List[str]] = None, robot_type: str = "catalog_agent") -> str:
|
||||||
"""
|
"""
|
||||||
创建机器人项目,合并多个源项目的dataset文件夹
|
创建机器人项目,合并多个源项目的dataset文件夹
|
||||||
|
|
||||||
@ -405,10 +405,16 @@ def create_robot_project(dataset_ids: List[str], bot_id: str, force_rebuild: boo
|
|||||||
bot_id: 机器人ID
|
bot_id: 机器人ID
|
||||||
force_rebuild: 是否强制重建
|
force_rebuild: 是否强制重建
|
||||||
skills: 技能文件名列表(如 ["rag-retrieve", "device_controller.zip"])
|
skills: 技能文件名列表(如 ["rag-retrieve", "device_controller.zip"])
|
||||||
|
robot_type: 机器人类型 (catalog_agent, deep_agent 等)
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
str: 机器人项目目录路径
|
str: 机器人项目目录路径
|
||||||
"""
|
"""
|
||||||
|
# 如果 skills 为空或 None,且 robot_type 是 catalog_agent 或 deep_agent,默认加载 rag-retrieve
|
||||||
|
if not skills and robot_type in ("catalog_agent", "deep_agent"):
|
||||||
|
skills = ["rag-retrieve"]
|
||||||
|
logger.info(f"No skills provided, using default skill 'rag-retrieve' for {robot_type}")
|
||||||
|
|
||||||
logger.info(f"Creating robot project: {bot_id} from sources: {dataset_ids}, skills: {skills}")
|
logger.info(f"Creating robot project: {bot_id} from sources: {dataset_ids}, skills: {skills}")
|
||||||
|
|
||||||
# 检查是否需要重建
|
# 检查是否需要重建
|
||||||
@ -497,7 +503,7 @@ if __name__ == "__main__":
|
|||||||
test_dataset_ids = ["test-project-1", "test-project-2"]
|
test_dataset_ids = ["test-project-1", "test-project-2"]
|
||||||
test_bot_id = "test-robot-001"
|
test_bot_id = "test-robot-001"
|
||||||
|
|
||||||
robot_dir = create_robot_project(test_dataset_ids, test_bot_id)
|
robot_dir = create_robot_project(test_dataset_ids, test_bot_id, robot_type="catalog_agent")
|
||||||
logger.info(f"Created robot project at: {robot_dir}")
|
logger.info(f"Created robot project at: {robot_dir}")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user