[Feature Request] Add integration to smolagents
维护者通常 1 天内回复
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- python
- 领域
- ai, machine-learning
调研方向
首先阅读 issue 中引用的现有 LangGraph 集成,并将其入口点与提议的 art.smolagents.init_chat_model 和 wrap_rollout API 进行比较。在添加集成模块、文档和示例之前,验证 Smolagents 的异步支持并定义 wrapper 行为;完成的标准是示例工作流能够通过 ART 训练运行。
由索引模型根据 Issue 内容生成。
描述
Proposal
Hello OpenPipe Team! Thanks for creating such a cool project for agent RL.
I recently saw the LangGraph integration announcement and tested it, and it works great :)
I'd like to propose adding Smolagents integration as well.
I believe Smolagents is fit for ART for several reasons:
- Simplicity: Smolagents follows a philosophy of simplicity, making it accessible while maintaining capabilities
- Community: Like LangGraph, it provides diverse community examples and recipes. Particularly, recipes like open_deep_research are ideal use cases where ART's RL techniques can provide significant value
- Integration-friendly: Smolagents' class architecture (ReACT, Memory, Message, Logging, etc.) is well-structured and easily accessible, making it straightforward to integrate with ART
Example
from art.smolagents import init_chat_model
from smolagents import CodeAgent, WebSearchTool
import art
import weave
@weave.op
async def rollout(model: art.Model, scenario: ResearchScenario) -> art.Trajectory:
chat_model = init_chat_model(model.name, temperature=1.0)
# Define available tools
tools = [WebSearchTool()]
# Create the Smolagents ReAct agent
agent = CodeAgent(tools=tools, model=chat_model, stream_outputs=True)
# Execute workflow (need to verify async support in smolagents)
return await agent.run(scenario.messages)
from art.smolagents import wrap_rollout
...
for batch in training_iterator:
groups = []
for scenario in batch.items:
groups.append(
art.TrajectoryGroup([
wrap_rollout(rollout)(model, scenario)
for _ in range(training_config["rollouts_per_group"])
])
)
...
Roadmap
- Add
art.smolagentsintegration module with wrapper functions - Add documentation and examples.
I'd be happy to work on implementing this feature if the team is interested.
Would love to hear your thoughts and any ideas! Thanks 😊
- 主要语言
- Python
- 星标
- 10.8k
- 派生
- 1k
- 平均合并
- 16 小时 14 分钟
- 30 天内合并 PR
- 148
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
OpenPipe/ART 的其他 Issue
-
Distributed group_mean casts group ids to float32, losing precision vs non-distributed path可能已有人在做 @OnePunchMonk 于 15 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
Add from_entity parameter to _experimental_fork_checkpoint可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 15/100
维护者通常 1 天内回复
-
Tracking: numerical issues found in an audit of ART main after #1105可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 15/100
维护者通常 1 天内回复
-
Nonfused column LoRA misses input-gradient SUM when TP>1 and sequence parallelism is disabled可能已有人在做 @bradhilton 于 16 天前认领。 未关闭
难度 5/5 一周以上 新手友好度 25/100
维护者通常 1 天内回复
相似的 Issue
-
Pull-through from gcr.io returns 500 when pulling using podman/buildah可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭Issue Triage-Needed
难度 2/5 1-3 小时 新手友好度 68/100
pulp/pulp_container#2581 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
521xueweihan/HelloGitHub#4040 ·
-
bug
难度 2/5 1-3 小时 新手友好度 64/100
ClanGenOfficial/clangen#6313 ·
维护者通常 2 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
bug(trainer): CustomTrainer func_args with non literal values fail inside the TrainJob可能已有人在做 @avanishkasar 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复