Portia AI 是一个开源的 Python 软件开发工具包(SDK),专注于帮助开发者构建智能、自动化的工作流。它通过多智能体系统,让用户可以轻松设计和运行复杂的任务流程。Portia AI 支持开发者自定义工作流,提供可靠的生产环境支持。用户可以利用它连接多种工具,比如日历、邮件和支付系统,快速实现任务自动化。官方文档和社区支持完善,适合需要高效开发自动化的开发者使用。项目托管在 GitHub 上,遵循开源协议,鼓励社区贡献和反馈。
功能列表
- 多智能体工作流:支持创建和管理多个智能体,协同完成复杂任务。
- 任务计划与执行:通过自然语言输入任务,自动生成执行计划。
- 工具集成:支持连接 Google Calendar、Stripe 等外部工具,扩展功能。
- 状态跟踪:提供 PlanRunState 功能,实时监控任务执行进度。
- 执行钩子:允许开发者在任务执行中插入自定义逻辑,确保灵活性。
- 开源与社区支持:提供详细文档和 Discord 社区,方便学习和交流。
- 生产环境优化:强调可靠性和低延迟,适合大规模部署。
使用帮助
安装流程
要使用 Portia AI Python SDK,需要先安装 Python 3.11 或更高版本。可以通过以下步骤完成安装和配置:
- 检查 Python 版本:
在终端运行以下命令,确认 Python 版本:python --version
如果版本低于 3.11,请访问 Python 官网(python.org)下载并安装最新版本。
- 安装 Portia SDK:
使用 pip 安装 Portia SDK。运行以下命令:pip install portia
- 获取 Portia API 密钥:
- 访问 Portia 官网(
app.portialabs.ai
),注册并获取免费的 Portia API 密钥。 - 将密钥设置为环境变量。在终端运行:
export PORTIA_API_KEY='你的API密钥'
或者使用 Python 的
dotenv
模块加载密钥:from dotenv import load_dotenv load_dotenv(override=True)
- 访问 Portia 官网(
- 安装依赖工具:
根据需要安装额外的工具包,例如 Google Calendar 或 Stripe 的 Python 库。参考官方文档(docs.portialabs.ai
)获取具体依赖。
基本使用
Portia AI 的核心功能是通过自然语言描述任务,自动生成并执行工作流。以下是一个简单的示例,展示如何使用 Portia AI 安排日历事件:
- 初始化 Portia:
创建一个基本的 Portia 实例,配置默认工具和执行钩子:from portia import Config, Portia, DefaultToolRegistry from portia.cli import CLIExecutionHooks config = Config.from_default() portia = Portia( config=config, tools=DefaultToolRegistry(config=config), execution_hooks=CLIExecutionHooks(), )
- 定义任务:
使用自然语言描述任务。例如,安排一个会议:recipient_email = input("请输入要安排会议的邮箱地址:\n") task = f""" 请帮助我完成以下任务: - 检查明天 8:00 到 8:30 的 Google 日历空闲时间 - 如果有空,安排一个 30 分钟的会议,标题为“Portia AI 演示”,描述为“测试演示”,与 {recipient_email} 共享 """
- 运行任务:
调用 Portia 的run
方法执行任务:plan = portia.run(task)
- 查看执行结果:
Portia 会自动检查日历、安排会议并发送邮件邀请。执行进度可以通过 PlanRunState 实时查看。
特色功能操作
- 多智能体协同:Portia 支持多个智能体协同工作。开发者可以通过 PlanBuilder 工具以对话方式设计复杂的工作流。例如,创建一个客户退款工作流:
task = """ 检查用户订单状态,如果订单有效,使用 Stripe 执行退款,完成后发送确认邮件 """ plan = portia.run(task)
在执行过程中,开发者可以通过执行钩子(ExecutionHook)插入人工确认步骤,确保敏感操作(如退款)安全可控。
- 状态跟踪:使用 PlanRunState 跟踪任务执行。例如:
state = plan.get_state() print(state.progress)
这可以实时查看任务的完成进度,适合需要监控长任务的场景。
- 工具集成:Portia 支持多种外部工具。开发者可以在
DefaultToolRegistry
中添加自定义工具。例如,连接 Stripe:from portia.tools import StripeTool tools = DefaultToolRegistry(config=config).add(StripeTool(api_key='你的Stripe密钥')) portia = Portia(config=config, tools=tools)
进阶使用
- 自定义执行钩子:开发者可以定义钩子函数,在任务执行的关键节点插入逻辑。例如,在退款前要求人工确认:
class CustomHook(CLIExecutionHooks): def before_execution(self, task): print(f"即将执行任务:{task}") return input("是否继续?(y/n) ") == "y" portia = Portia(config=config, execution_hooks=CustomHook())
- 生产环境优化:Portia 提供
StorageClass.CLOUD
选项,用于存储任务状态,降低延迟并提高可靠性。配置方法:config = Config(storage_class=StorageClass.CLOUD)
社区支持
Portia AI 提供详细的官方文档(docs.portialabs.ai
)和 Discord 社区,开发者可以在社区中提问、分享经验或报告问题。官方还提供付费的贡献计划,开发者可以通过修复 GitHub 上的问题获得奖励。
应用场景
- 自动化日程管理
开发者可以使用 Portia AI 自动检查日历空闲时间,安排会议并发送邀请。适合忙碌的专业人士或团队管理者,减少手动协调的时间。 - 客户服务自动化
Portia AI 可以构建智能客服系统,例如自动处理退款请求。开发者可以设置工作流,检查订单状态、执行退款并通知客户,提升效率。 - 数据处理工作流
Portia AI 适合处理大规模数据任务。开发者可以设计多智能体系统,自动清洗、分析和存储数据,适合数据科学家或企业分析师。
QA
- Portia AI 需要付费吗?
Portia AI 提供免费的 API 密钥,用户无需支付即可开始使用。部分高级功能可能需要额外的云服务费用,详情请查看官网。 - 支持哪些外部工具?
Portia AI 支持 Google Calendar、Stripe 等工具,开发者也可以通过自定义工具扩展功能,具体参考官方文档。 - 如何参与社区贡献?
访问 GitHub 上的portiaAI/portia-sdk-python
仓库,查看贡献指南。开发者可以通过修复问题或提交新功能参与,并有机会获得奖励。