Adala

用真值数据训练可迭代学习的数据标注与处理技能。

Star 数
★ 1.6k
最近更新
5 天前
License
Apache-2.0
主语言
Python

30 秒速览

可在哪里用
兼容但需适配OpenAI API
开始前需要
Python 3.8, 3.9, 3.10, or 3.11OPENAI_API_KEY or OPENROUTER_API_KEYShell / 命令行网络访问
典型场景
数据科学家在 Notebook 中有一份已人工标注的文本表,需要训练并运行情感分类。
主要局限
文档示例要求 OpenAI 或 OpenRouter API 密钥,实际运行依赖外部模型服务与网络访问。

这个 Agent 能做什么,适合哪些场景?

Adala 是面向数据处理、尤其是数据标注任务的 Python 智能体框架。它以 ground truth 数据集定义环境,由 Agent 在 StaticEnvironment 中学习并执行技能;README 将 runtime 定义为 LLM。示例使用 ClassificationSkill、OpenAIChatRuntime 和 pandas DataFrame:先调用 agent.learn(),再用 agent.run() 对新数据生成预测。已列出的技能示例涵盖分类、摘要、问答、翻译、文本生成、技能序列、ontology 推断和 GSM8K 数学推理。当前材料展示的是 Python 库和 Notebook 工作流;命令行、REST API、视觉与多模态技能仍在路线图中。

用户把带标签的 pandas DataFrame 传给 StaticEnvironment(df=train_df),并用 ClassificationSkill 定义 name、instructions、labels、input_template 与 output_template。Agent 将该技能与 runtimes、teacher_runtimes 中的 OpenAIChatRuntime 关联;示例以 gpt-4o 为模型,调用 agent.learn(learning_iterations=3, accuracy_threshold=0.95) 进行学习。随后 agent.run(test_df) 读取新的 DataFrame 并返回 predictions。也可将 OpenAIChatRuntime 的 base_url 设为 https://openrouter.ai/api/v1、provider 设为 Custom,以 OpenRouter 调用 anthropic/claude-3.5-haiku。

  1. 数据科学家在 Notebook 中有一份已人工标注的文本表,需要训练并运行情感分类。
  2. AI 工程师需要把 ClassificationSkill 等模块化技能接入一个以 pandas DataFrame 为输入的处理流程。
  3. 研究人员希望在同一框架中试验分类、摘要、问答、翻译或技能序列等任务。
  4. 团队已有 ground truth 样本,想以学习迭代次数和准确率阈值控制技能学习过程。
  5. 使用 OpenRouter 的开发者需要通过 OpenAI 兼容接口改用 Claude 3.5 Haiku。

如何安装或部署这个 Agent?

安装:pip install adala。如需从仓库安装最新版:pip install git+https://github.com/HumanSignal/Adala.git。开发安装:git clone https://github.com/HumanSignal/Adala.git,进入 Adala/ 后执行 poetry install。使用 OpenAI 示例前设置凭据:export OPENAI_API_KEY='your-openai-api-key';使用 OpenRouter 时设置:export OPENROUTER_API_KEY='your-openrouter-api-key'

如何使用这个 Agent?

最小流程是导入 AgentStaticEnvironmentClassificationSkillOpenAIChatRuntime,用带 textsentiment 列的训练 DataFrame 创建 StaticEnvironment,再创建 Agent(environment=..., skills=ClassificationSkill(name='sentiment', instructions='Label text as positive, negative or neutral.', labels=['Positive','Negative','Neutral'], input_template='Text: {text}', output_template='Sentiment: {sentiment}'), runtimes={'openai': OpenAIChatRuntime(model='gpt-4o')}, teacher_runtimes={'default': OpenAIChatRuntime(model='gpt-4o')}, default_runtime='openai')。随后执行 agent.learn(learning_iterations=3, accuracy_threshold=0.95),并以 predictions = agent.run(test_df) 对只含 text 列的新 DataFrame 生成结果。若使用 OpenRouter,将 runtime 的 base_url 设为 https://openrouter.ai/api/v1,模型设为 anthropic/claude-3.5-haiku,并传入 OPENROUTER_API_KEY

这个 Agent 有哪些优点和局限?

优点
  • 以 ground truth 数据集作为环境,学习与运行流程围绕可验证的训练样本展开。
  • 技能、执行 runtime 与 teacher runtime 可分别配置;README 明确展示一个技能配合多个 runtime 的结构。
  • 提供可直接复用的 pandas/Notebook 工作流,并列出分类、摘要、问答、翻译和文本生成等示例。
  • 除 OpenAI 配置外,还记录了经 OpenRouter 使用 OpenAI 兼容接口调用 Claude 3.5 Haiku 的方式。
局限
  • 文档示例要求 OpenAI 或 OpenRouter API 密钥,实际运行依赖外部模型服务与网络访问。
  • README 仅给出 OpenAIChatRuntime 和 OpenRouter 配置;其他 provider 的兼容性、行为差异与支持范围没有证据。
  • 命令行工具、REST API、视觉/多模态技能仍列在路线图中,不能作为现有能力采用。
  • 学习质量取决于用户提供的 ground truth 数据;材料未给出数据规模、评测基准或失败恢复机制。

这个 Agent 与同类方案有什么区别?

README 将直接使用 OpenAIChatRuntime 与通过 OpenRouter 的 OpenAI 兼容接口调用 Claude 3.5 Haiku 并列展示。前者使用 OPENAI_API_KEYmodel='gpt-4o';后者需设置自定义 base_urlprovider='Custom'OPENROUTER_API_KEY

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
Adala 当前 42 · 缺口较多 ★ 1.6k 5 天前 Python OpenAI API
EDSL(Expected Parrot 领域特定语言) 63 · 存在缺口 ★ 497 5 天前 Python OpenAI API · Claude API
K-Dense BYOK 49 · 缺口较多 ★ 1.2k 12 天前 TypeScript ChatGPT · Codex · Claude.ai
MiroFlow 研究智能体 53 · 缺口较多 ★ 3.1k 7 个月前 Python

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
42/ 100 五分制 2.1 / 5
信任安全 7/29
可靠稳定 6/14
适用触发 10/18
规范维护 9/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据显示:框架要求用户提供API密钥(如OPENAI_API_KEY),但未提供权限最小化或沙箱机制;没有用户确认步骤;数据流透明度有限,仅通过文档描述;敏感数据处理未明确说明;依赖项众多且部分来自GitHub直接链接,存在供应链风险;外部效应未明确;无回滚机制;来源归属仅通过作者信息。扣分原因:缺乏安全机制和透明度。

可靠稳定6 / 14 · 2.1/5

证据显示:README和pyproject.toml一致,但版本号不一致(README未提及版本,pyproject为0.0.4dev);依赖项固定版本,但部分依赖来自GitHub直接链接,可用性风险;失败消息未在文档中说明。扣分原因:依赖可用性风险,失败处理不透明。

适用触发10 / 18 · 2.8/5

证据显示:README明确了目标用户(AI工程师、ML研究者等)和使用场景;能力边界通过技能类型说明;触发精度未明确;环境适配支持Python 3.10+和多种LLM提供商。扣分原因:触发精度不明确。

规范维护9 / 18 · 2.5/5

证据显示:README结构清晰,包含安装、快速开始、示例等;安装说明详细;命名稳定(adala);示例丰富;已知限制未明确;许可证为Apache-2.0;版本号存在但无changelog;维护责任未明确。扣分原因:缺少已知限制和changelog。

有效结果7 / 13 · 2.7/5

证据显示:输出为DataFrame,可直接使用;边际价值高,提供自主学习和多技能支持;成本效益未量化。扣分原因:成本效益未量化。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明部分有示例支持,但未提供独立验证;测试cassettes存在,但未独立运行;事实与推断未明确区分。扣分原因:缺乏独立验证和事实/推断分离。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 依赖项包含来自GitHub直接链接的包,存在供应链风险,建议审查依赖来源。
  • 框架需要用户提供API密钥,但未提供权限最小化或沙箱机制,使用时需谨慎。
  • 版本号与README不一致,且无changelog,升级时需注意兼容性。
证据充分度: 评估于 2026年8月9日 审查版本 62e375527cff 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

需要什么凭据?
OpenAI 示例需要 OPENAI_API_KEY。通过 OpenRouter 使用 Claude 3.5 Haiku 的示例需要 OPENROUTER_API_KEY
它能否直接处理未标注数据?
可以在学习后将新 DataFrame 传给 agent.run(test_df) 生成预测;学习环境本身由 ground truth 数据集提供。
是否已提供服务器、REST API 或 CLI?
这些内容在 README 的路线图中,未作为当前可用工作流展示。当前明确的使用方式是 Python 库和 Notebook。
支持哪些任务?
README 列出分类、带 Chain-of-Thought 的分类、摘要、问答、翻译、文本生成、技能序列、ontology 推断和数学推理示例。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents