famou-experiment-manager
Famou 任务管理 Skill
用于通过 famou-ctl-sdk 提交和管理实验任务的完整工作流。
前置环境检查
1.1 检查 famou-ctl-sdk 是否已安装
famou-ctl --version
- 若输出版本号,继续下一步
- 若命令未找到,执行安装:
pip install famou-sdk - 备用安装连接:
pip install famou-sdk -i https://pip.baidu-int.com/simple --pre
安装完成后再次验证 famou-ctl --version,若仍失败,停止并提示用户检查 Python 环境或 pip 源配置。
1.2 检查和配置 API 配置
使用辅助脚本 scripts/config.py 检查和配置 API 设置。
检查 API 配置
python3 scripts/config.py read
| 检查结果 | 操作 |
|---|---|
status: "ok" |
配置完整,跳过配置 |
status: "missing" |
执行配置 API Key |
配置 API:
提示用户输入有效的 API_KEY,然后执行配置命令
python3 scripts/config.py write <YOUR_API_KEY>
提交 FaMou 实验
2.1 查找 config.yaml 文件
在当前工作目录下递归查找所有 config.yaml 文件:
find . -name "config.yaml" -type f 2>/dev/null | sort
处理结果:
| 情况 | 操作 |
|---|---|
| 找到 1 个 | 直接使用,告知用户路径,继续下一步 |
| 找到多个 | 使用 ask_user 工具询问用户选择哪个 |
| 未找到 | 报告用户并提示用户创建 config.yaml |
config.yaml 模板:
evolve_config:
max_iterations: 100
population_size: 100
num_islands: 2
initial_program: "init.py"
evaluator: "evaluator.py"
system_message: "prompt.md"
2.2 确认实验目录
将所选 config.yaml 的父目录(绝对路径)作为实验目录:
# 示例:若 config.yaml 路径为 ./experiments/my_exp/config.yaml,则实验目录是 /absolute/path/to/experiments/my_exp
realpath $(dirname <config.yaml路径>)
2.3 获取实验名称
使用 ask_user 工具或直接在对话中请求用户输入实验名称 experiment_name, 提示用户实验名称只能包含字母、数字和下划线,且长度不超过20个字符
2.4 提交实验
famou-ctl experiment create \
--config <config.yaml绝对路径> \
--experiment-name <experiment_name> \
--json
处理输出:
- 命令成功:解析 JSON 输出,展示实验 ID、状态等关键信息
- 命令失败:展示错误信息,提示用户检查配置或网络连接
2.5 实验状态查询
每间隔10s,查询一下实验状态,检查是否通过线上的验证并且正常进入 famou 进化(验证需要消耗一些时间,因此需要轮训检查实验状态)
- 实验失败:修复评估器和初始解,删除失败的实验,重新提交
- 验证成功:输出实验状态并结束
FaMou 实验其他操作
步骤 1:确认 experiment-id
- 查找上下文到 experiment-id,直接使用
- 若未提供,使用
ask_user工具请求用户输入
步骤 2: 执行相应的命令
当通知用户有哪些能力时,不能显示具体命令,直接告知有哪些能力即可
famou-ctl experiment status <experiment-id> --json # 查看实验状态
famou-ctl experiment cancel <experiment-id> --json # 取消实验
famou-ctl experiment delete <experiment-id> --json # 删除实验
famou-ctl experiment logs <experiment-id> --follow/-f --output <file-path> --api-url <url> --json # 查看并保存实验日志
famou-ctl experiment results <experiment-id> --output <file-path> --json # 查看实验结果
处理输出:
- 命令成功:解析 JSON,清晰展示实验状态、进度、创建时间等信息
- 命令失败:展示错误信息,提示检查 experiment-id 是否正确或网络连接
More from baidubce/skills
qianfanocr-document-intelligence
>
25baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.
1template-skill
Replace with description of the skill and when Claude should use it.
1famou-data-analysis
数据分析技能,用于理解数据、分析数据、制作数据处理流程、汇总数据分析结果。当用户提到"分析数据"、"数据处理"、"数据探索"、"统计分析"、"数据清洗"、"数据汇总"、"制作数据报告"、"理解这份数据"、"看一下这个CSV/Excel/数据集"时,必须使用此技能。即使用户只说"帮我看看这个数据"、"分析一下",只要上下文涉及数据文件或数据集,也应立即触发此技能。如果在FaMou问题定义过程中涉及到数据分析,也需要调用此技能。
1medical-bill-organizer
医疗票据整理助手,用于自动分类、OCR识别和信息抽取。当用户需要处理医疗票据时使用,支持文件夹或压缩包输入,自动分类存放到不同文件夹,抽取病历信息(住院日期、医院名称),生成发票汇总CSV表格。
1famou-artifact-generator
交互式引导用户完成 FaMou 进化任务的完整流程:先通过结构化澄清循环产出 `problem.md`,再实现并验证 FaMou 实验的三个输入物料(`init.py`、`evaluator.py`、`prompt.md`)。当用户提到以下任意情形时触发:定义/澄清/创建 FaMou 任务、帮我写 problem.md、我想建一个进化任务、帮我准备 FaMou 实验物料、生成 init.py 或 evaluator.py、优化/ML/搜索问题需要进化求解。即使用户只说"帮我做个 FaMou 任务"或提供粗略想法,也应触发此技能并从澄清阶段开始。
1