Agently框架中,链式输出和Agent=()等语法的使用

在Agently框架中,链式输出和Agent=()等语法的使用,是Agently框架设计的一部分,旨在简化代码编写,提高开发效率。以下是对这些语法的详细解释:

链式输出语法

链式输出是Agently框架的一个重要特性,它允许开发者通过链式调用的方式,逐步构建和配置Agent的行为。这种方式不仅代码简洁,而且逻辑清晰,便于理解和维护。

链式输出的语法通常表现为一系列的方法调用,每个方法都对Agent进行某种配置或操作,然后返回Agent对象本身,以便进行下一个方法的调用。例如:

agent = (
    Agently.create_agent()
    .set_settings("current_model", "ZhipuAI")
    .set_settings("model.ZhipuAI.auth", { "api_key": "your_api_key" })
)

在这个例子中,create_agent() 方法创建了一个新的Agent实例,然后通过 set_settings() 方法设置了模型为ZhipuAI,并提供了相应的认证信息。每个方法调用都返回Agent对象本身,从而可以继续调用下一个方法。

Agent=() 语法

在Python中,Agent=() 这样的语法并不常见,但在Agently框架中,它被用来创建和初始化Agent实例。这种语法实际上是利用了Python的赋值表达式和括号的组合,来实现一种更简洁的实例创建方式。

例如:

agent = (
    Agently.create_agent()
    .set_settings("current_model", "ZhipuAI")
    .set_settings("model.ZhipuAI.auth", { "api_key": "your_api_key" })
)

这里的 agent = () 并不是传统意义上的赋值语句,而是通过括号将一系列方法调用组合在一起,最终将创建和配置好的Agent实例赋值给变量 agent

示例解释

假设我们要创建一个Agent,让它输出5个单词和3个句子,可以这样写:

import Agently

agent = (
    Agently.create_agent()
    .set_settings("current_model", "ZhipuAI")
    .set_settings("model.ZhipuAI.auth", { "api_key": "your_api_key" })
)

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

print(result)

在这个示例中:

  1. Agently.create_agent() 创建了一个新的Agent实例。

  2. set_settings() 方法设置了当前模型为ZhipuAI,并提供了API认证信息。

  3. input() 方法向Agent输入了一个请求,要求输出5个单词和3个句子。

  4. instruct() 方法指定了输出语言为中文。

  5. output() 方法定义了期望的输出结构,包括单词列表和句子列表。

  6. start() 方法启动了Agent,执行上述配置的任务

  7. 最后,result 变量存储了Agent的执行结果,并通过 print() 输出。

通过这种方式,开发者可以清晰地看到Agent的创建、配置和执行过程,每个步骤都通过链式调用紧密相连,逻辑流畅且易于理解。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值