Agently开发框架的使用教程

官方文档:[Agently中文官网](http://www.agently.cn/),包含最新的模型切换、AgenticRequest、Workflow等教程文档。
GitHub项目:[Agently GitHub](https://github.com/AgentEra/Agently),可以查看项目的源代码和示例。

Agently开发框架的使用教程:

安装

在终端命令行中执行以下命令来安装Agently:

pip install -U Agently

基础使用示例

以下是一个简单的示例,展示如何使用Agently创建一个AI代理并进行交互:

import Agently

# 创建一个Agent实例
agent = Agently.create_agent()

# 设置当前使用的模型为OpenAI
agent.set_settings("current_model", "OpenAI")

# 设置OpenAI模型的认证信息
agent.set_settings("model.OpenAI.auth", { "api_key": "你的OpenAI API密钥" })

# 向代理发送输入请求并获取结果
result = agent.input("Give me 3 words").output([("String", "one word")]).start()
print(result)

高级功能示例

1. 模型切换

Agently支持多种主流模型的无感切换,可以根据需要轻松更改模型而不影响业务逻辑。例如,将模型切换为Claude:

agent.set_settings("current_model", "Claude")
agent.set_settings("model.Claude.auth", { "api_key": "你的Claude API密钥" })
2. 工作流编程

可以使用Agently的工作流功能来处理复杂的任务流程。以下是一个示例:

workflow = Agently.create_workflow()

# 定义工作流步骤
workflow.add_step("step1", agent.input("任务第一步").output(...))
workflow.add_step("step2", agent.input("任务第二步").output(...))

# 执行工作流
workflow.start()
3. 结构化数据交互

Agently允许与代理进行结构化数据的交互,方便处理复杂的数据格式。例如:

result = agent.input("为我输出5个单词和3个句子").output({
    "单词": [("str", )],
    "句子": ("list", ),
}).start()
print(result)

3. 创建工作流实例

        定义了一个简单的工作流,包含两个任务 prepare_dataecho,并指定了它们的执行顺序。通过 Agently 框架,可以方便地管理和可视化工作流,适合用于构建复杂的 AI 应用场景。

workflow = Agently.Workflow()

这里创建了一个工作流对象 workflow,用于定义和管理任务之间的执行流程。

4. 定义任务:prepare_data

@workflow.chunk()
def prepare_data(inputs, storage):
    input_data = inputs["default"]
    return input_data
  • @workflow.chunk() 是一个装饰器,用于将函数标记为工作流中的一个任务。

  • prepare_data 函数接收两个参数:inputs(输入数据)和 storage(存储对象,用于在任务之间传递数据)。

  • 函数从 inputs 中获取默认输入数据,并将其返回。返回的数据可以被传递给下一个任务。

5. 定义任务:echo

@workflow.chunk()
def echo(inputs, storage):
    print(inputs["default"])
    return storage.get("saved_data")
  • 同样使用 @workflow.chunk() 装饰器标记为工作流任务。

  • echo 函数接收 inputsstorage 参数。

  • 它首先打印 inputs 中的默认数据。

  • 然后从 storage 中获取 saved_data 并返回。这可能是之前任务存储的数据,或者是一个默认值。

6. 定义工作流的执行顺序

(
    workflow
    .connect_to("prepare_data")
    .connect_to("echo")
    .connect_to("END")
)
  • 使用链式调用的方式定义任务的执行顺序。

  • connect_to("prepare_data") 表示工作流从 prepare_data 任务开始。

  • connect_to("echo") 表示在 prepare_data 任务完成后,执行 echo 任务。

  • connect_to("END") 表示工作流在 echo 任务完成后结束。

7. 可视化工作流

workflow.draw(type="img")
  • 调用 draw 方法以图像形式可视化工作流的结构。

  • 参数 type="img" 指定输出类型为图像,方便开发者直观地看到工作流的任务连接关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值