Adala
用真值数据训练可迭代学习的数据标注与处理技能。
- Star 数
- ★ 1.6k
- 最近更新
- 2 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 46/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 数据科学家在 Notebook 中有一份已人工标注的文本表,需要训练并运行情感分类。
- 不适合
- 需要现成命令行工具或 REST 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。
- 数据科学家在 Notebook 中有一份已人工标注的文本表,需要训练并运行情感分类。
- AI 工程师需要把 ClassificationSkill 等模块化技能接入一个以 pandas DataFrame 为输入的处理流程。
- 研究人员希望在同一框架中试验分类、摘要、问答、翻译或技能序列等任务。
- 团队已有 ground truth 样本,想以学习迭代次数和准确率阈值控制技能学习过程。
- 使用 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?
最小流程是导入 Agent、StaticEnvironment、ClassificationSkill 和 OpenAIChatRuntime,用带 text、sentiment 列的训练 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_KEY 和 model='gpt-4o';后者需设置自定义 base_url、provider='Custom' 与 OPENROUTER_API_KEY。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Adala 当前 | 46 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.6k | 2 天前 | Python | OpenAI API |
| EDSL(Expected Parrot 领域特定语言) | 60 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 515 | 今天 | Python | OpenAI API · Claude API |
| K-Dense BYOK | 73 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 1.4k | 23 天前 | TypeScript | ChatGPT · Codex · Claude.ai |
| Potato 标注平台 | 67 · 存在缺口 | 命令行工具免费 | ★ 443 | 3 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 展示了 API key 的环境变量配置,并在示例中明确调用 learn 和 run;server/app.py 还显示开放来源、方法和请求头的 CORS 配置。数据发送到外部 LLM 服务可从 README 和请求录制中看出,但没有足够材料说明数据保留、敏感数据策略或逐项外部副作用控制。用户确认和回滚机制证据很少;依赖清单列出大量宽松版本范围及远程 SDK 包,缺少此处可见的安全审查证据。归属信息在 pyproject 中有作者字段,但发布者身份按题设仍未知,因此仅给有限归属分。
README 的自学习和可靠性宣传缺少本材料中的实现或指标支撑,且测试录制显示的模型和 SDK 版本与当前依赖声明不同,故自洽性偏低。依赖有若干版本范围、固定版本和远程归档,但没有锁文件或可用性保障材料。server/app.py 对验证连接错误返回 HTTP 错误及说明,支持普通故障诊断;未见更全面的恢复路径。未将需要实际运行验证的事项计入评分。
README 明确面向 AI 工程师、研究者、数据科学家和教育者,并给出分类、摘要、问答、翻译等场景。技能、环境和运行时可配置,但边界说明较少;自主学习与输出可靠性等能力宣称较宽,支持范围和失效条件没有充分界定。Python、pandas、OpenAI 及 OpenAI 兼容服务的示例显示一定环境适配性;Python 版本信息在 README 与 pyproject 之间不完全一致。
README 有概览、安装、前置条件、快速开始、示例、路线图和支持入口,结构清晰;安装步骤简洁,但服务器等较多依赖在主依赖中,部署配置说明有限。命名和接口示例可辨识,但 README 展示的 gpt-4o 与录制测试中的 gpt-3.5-turbo/gpt-4o-mini 不同。示例和支持入口较丰富;路线图提供部分限制信息,但没有系统化局限说明或 FAQ。LICENSE 完整呈现 Apache 2.0 条款,给满分。版本字段为 0.0.4dev,但本材料未见变更记录;作者字段提供有限维护责任线索,维护与更新责任仍不清楚。
框架提供技能、环境、运行时组合和结构化分类输出示例,具备可复用的数据标注价值;README 也展示表格结果和多类任务。学习迭代需调用外部 LLM,可能带来费用和运行时间成本,但材料未提供成本控制、预算或价值量化,因此成本效益评分较低。
部分主张可在 README 示例、pyproject 依赖、server/app.py 和测试录制之间对照;测试录制显示请求包含输入文本并发送至 OpenAI,能支持外部数据流判断。许多关于可靠、可信和自主学习的宣传没有配套测量证据;录制文件也不能证明当前版本执行结果。描述和证据之间的区分不够明确,且文件样本有限,因此仅给部分分数。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 示例会把输入文本发送到所配置的外部 LLM 服务;提交敏感数据前,应确认服务商、数据处理条件和组织政策。
- server/app.py 将 CORS 来源、方法和请求头设为通配符并允许凭据;部署服务前应结合实际环境收紧配置。
- 依赖清单包含较多宽松版本范围及远程 SDK 归档;本静态材料未能确认依赖安全状态或执行结果。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
0.0.4 Adala v0.0.4 - Introducing a New Code Environment and Enhanced Automated Prompt Engineering
发布说明摘录
Major updates * New Prompt Engineering Algorithm: The upgraded prompt engineering algorithm implements the [PE2 method](https://arxiv.org/abs/2311.05661), which significantly enhances the quality of created prompts. * [Benchmark Update](https://github.com/HumanSignal/Adala/blob/master/examples/gsm8k_test.ipynb): Demonstrates a considerable advancement over the zero-shot setup, with a 20% improvement demonstrated in the GSM-8k benchmark. …在 GitHub 查看 ↗ -
0.0.3 Adala v0.0.3 – Extending agent’s feedback and control; core skills update; parallel execution, and more.
发布说明摘录
Adala 0.0.3 introduces key updates enhancing AI agent feedback and control. Notable features include the extension of feedback collection to prediction methods and new console and web environments for improved feedback integration. We've decoupled Runtimes from Skills, allowing for more flexible skill definitions and controlled outputs. This update also refines basic skill classes into three core classes: TransformSkill, AnalysisSkill, and SynthesisSkill, enabling better composition and class inheritance. Additionally, ParallelSkillSet allows for concurrent skill execution, increasing effi …在 GitHub 查看 ↗ -
0.0.2 Adala v0.0.2 – Introducing Skill Sets!
发布说明摘录
Focusing on Complex Tasks We're introducing skill sets, a concept focused on nuanced and sophisticated data processing that reflects the complex nature of real-world problem-solving. In practical scenarios, skills are rarely isolated and often require a multifaceted approach where the output of one skill feeds into the input of another. …在 GitHub 查看 ↗
常见问题
需要什么凭据?
OPENAI_API_KEY。通过 OpenRouter 使用 Claude 3.5 Haiku 的示例需要 OPENROUTER_API_KEY。它能否直接处理未标注数据?
agent.run(test_df) 生成预测;学习环境本身由 ground truth 数据集提供。是否已提供服务器、REST API 或 CLI?
支持哪些任务?
谢谢反馈,我们会据此改进页面。