open-thoughts/OpenThoughts-Agent
Data recipes and robust infrastructure for training AI agents
OpenThoughts‑Agent (OT‑Agent)
它是什么 – 一个研究级代码库,用于构建和评估小型代理型语言模型。它专注于从数据到评估的完整管线:生成训练数据(“datagen”)、微调模型(SFT)、执行推理轨迹,以及通过 Harbor 评估框架衡量基准测试性能。
主要组件
- Datagen 堆栈 – 使用 Ray 和 vLLM 进行大规模轨迹生成的工具,并可选配 HPC 就绪扩展(
.[datagen])。包含 CUDA/C++ 扩展(flash‑infer、flash‑attn、triton)的辅助工具,以及用于在集群或云端 VM 上启动作业的脚本。 - SFT 堆栈 – 包装开源的 LLaMA‑Factory 仓库(作为子模块)以微调模型。使用
[sft]扩展安装;训练配置位于sft/lf_configs/下。 - 评估堆栈 – 本地运行器(
eval/local/run_eval.py)和统一监听器(eval/unified_eval_listener.py),驱动 Harbor/Daytona 沙盒作业、收集轨迹工件,并将结果上传至 Supabase 和 HuggingFace。支持单节点测试和大规模 SLURM/HPC 运行。 - 启动器 – 模块化的
python -m hpc.launch入口点,抽象化作业类型(datagen、sft、eval_listener等)和目标平台(SLURM 集群、SkyPilot 云端 VM 或本地 Docker/Modal)。生成 sbatch 脚本、处理环境 dotfiles,并可自动重试稀缺的 GPU 资源。 - 云端辅助工具 – 基于 SkyPilot 的包装器(
data/cloud/launch_tracegen_cloud.py、eval/cloud/launch_eval_cloud.py)让您无需编写 SLURM 脚本即可在 GCP、AWS、Lambda 或 Kubernetes 上运行相同的 datagen/eval 管线。
典型工作流程
- 设置 Python 3.12 环境,并使用
uv pip install -e .[datagen,sft,cloud]安装基础堆栈。 - 生成数据 – 通过
python -m hpc.launch --job_type datagen …或云端启动器运行 datagen 脚本。脚本会生成数据集和可选的轨迹日志。 - 微调 – 启动 SFT 作业(
--job_type sft),使用 LLaMA‑Factory 配置在生成的数据上训练小型代理型模型。 - 评估 – 运行
eval/local/run_eval.py进行快速健全性检查,或在集群上提交完整的评估监听器(--job_type eval_listener)。结果会自动上传并显示在公开排行榜上。
基础设施说明
- 专为 HPC 集群(SLURM、基于模块的工具链)设计,但也适用于容器(Singularity)和云端 VM。
- 重度 GPU 导向的依赖项(flash‑attn、vLLM、deepspeed、bitsandbytes)为可选扩展;README 提供详细的编译器/CUDA 版本指南。
- 机密(HF token、W&B、Supabase、Daytona)预期位于由
DC_AGENT_SECRET_ENV引用的私有环境文件中。
适用对象 – 需要端到端管线来构建代理型 LLM 的研究人员或工程师,尤其是熟悉 HPC 或云端 GPU 集群的人。
进一步了解 – 项目网站、排行榜和轨迹查看器链接列于 README 顶部;docs/EVAL_GUIDE.md 和 hpc/README.md 提供更深入的使用细节。
相关
- 项目
- 项目
- 项目
- 项目