这个代码库包含了一个用于在Apache Airflow中操作大语言模型(LLMs)的软件开发工具包(SDK),它基于Pydantic AI构建。
这个工具让用户可以直接在Airflow工作流中调用大语言模型,并通过装饰器任务来协调智能代理的调用。
该SDK沿用了Airflow常用的@task语法,并扩展了像@task.llm(大语言模型任务)、@task.llm_branch(大语言模型分支任务)和@task.agent(智能代理任务)这样的新功能。
特征:
- 带@task.llm的任务:这是让AI(比如GPT-3.5)帮你处理文字的任务,就像让学霸帮你写作文。
- 带@task.agent的任务:这是让AI当小队长,指挥其他AI工具一步步完成复杂任务,就像小组长分配工作给组员。
- 自动解析结果:只要提前说清楚要什么格式(包括用Pydantic模型),AI给出的答案就能自动整理得整整齐齐,就像自动批改选择题的阅卷机。
- 带@task.llm_branch的分支任务:根据AI的回答来决定下一步怎么做,就像玩游戏时根据NPC的对话选择不同剧情路线。
- 支持的AI模型:能用市面上所有主流AI(包括OpenAI、Anthropic、谷歌Gemini、Ollama、Groq、Mistral、Cohere、亚马逊Bedrock这些),就像游戏机兼容各种品牌的手柄。
设计原则
我们按照Airflow的任务流程模式,主要用三个"装饰器"(就是给函数加特效的小工具):
- @task.llm:创建一个让AI大模型干活的任务。背后其实是用了一个没有额外工具的Pydantic AI小助手。
- @task.agent:创建一个让智能代理干活的任务。你可以直接把自己的Pydantic AI小助手传给它用。
- @task.llm_branch:创建一个会根据AI回答自动选择下一步路线的任务。强制要求AI必须从后续任务ID中选一个答案。
为什么这么做?
现在越来越多的公司想用AI大模型解决实际问题,这就需要有个灵活又好用的工作流程管家。
Airflow就是目前最受欢迎的"数据流水线管家",它有这些超能力:
- 灵活排班:可以定时、随叫随到、或者根据突发事件启动任务
- 自动分身术:能同时处理大批量任务,出错会自动处理还能全程监控
- 智能岔路口:根据任务结果自动选择不同执行路线
- 防崩溃机制:自带重试、智能等待、超时打断等功能
- 资源分配:用Airflow资源池控制同时运行的任务数量
- 全天候监控:详细记录运行日志,随时查看状态
- 工业级强度:专为真实工作场景设计