Skip to content

v3.2.0.1

Compare
Choose a tag to compare
@Maplemx Maplemx released this 28 Feb 17:42
· 416 commits to main since this release

New Feature:

  1. [Agently Workflow]
    We're glad to introduce a brand new feature of Agently v3.2 to you all: Agently Workflow!

    With this new feature, you can arrange and manage your LLMs based application workflow in just 3 steps, simple and easy:

    1. Define and program your application logic into different workflow chunks;
    2. Connect chunks using chunk.connect_to() in orders; (Loop and condition judugment supported)
    3. Start the workflow using workflow.startup().

    Visit Agently Workflow Showcase Page to Explore More

  2. [Agent Component: Decorator]: @agent.tool(tool_info:dict={})

    Now you can use @agent.tool() to decorate a function to register it as an agent's tool:

    @agent.tool()
    def get_current_date():
        """Get current date"""
        return datetime.now().date().strftime("%Y-%B-%d")

    You can also pass other parameters to @agent.tool() in the same way when using agent.register_tool().

Update:

  1. [Framework] Updated inherit logic of settings and add is_debug parameter to .create_agent();
  2. [Agent Component: Role] Change .set_role_name() to .set_role_id() and the role id will not be passed to agent request now;
  3. [Facility: RoleManager] Change .set_name() to .set_id();
  4. [Agent Component: Tool] Update tool using prompt;

Bug Fix:

  1. [Agent Component: Segment] Clean segments' prompt cache at an earlier time and add try except logic to avoid unclean runtime cause error;

全新功能:

  1. [Agently Workflow]

    我们非常高兴能够向您介绍Agently v3.2版本推出的全新功能:Agently Workflow!

    使用这项全新的功能,只需要一二三步走,您就能够轻松惬意地编排管理您的语言模型应用工作流了:

    1. 在workflow chunks切块中编写您的应用工作流中的单块工作逻辑(如输入、判断、请求执行、数据存取等);
    2. 使用chunk.connect_to()方法将切块按您想要的工作顺序进行连接(支持环状连接、条件分支等复杂连接关系);
    3. 通过workflow.startup()开始运行工作流。

    功能案例:点击查看案例,了解新功能的用法

  2. [Agent Component: Decorator]: @agent.tool(tool_info:dict={})

    现在,您可以使用@agent.tool()装饰器来将一个函数注册给Agent使用了,具体用法如下:

    @agent.tool()
    def get_current_date():
        """Get current date"""
        return datetime.now().date().strftime("%Y-%B-%d")

    您可以向@agent.tool()传递其他参数,参数要求和agent.register_tool()方法保持一致。

重要更新

  1. [框架核心] 改善了一些框架内的settings设置项的继承逻辑,并且支持向.create_agent()传递is_debug参数了;
  2. [Agent能力组件:Role].set_role_name()方法更改为.set_role_id()方法,使其和业务表达解耦,同时,设置的role id将不会在agent请求模型时被传递过去,只作为代码编写时的agent身份标识;
  3. [公共设施插件: RoleManager] 与上条相同,将.set_name()方法更改为.set_id()
  4. [Agent能力组件:Tool] 更新了部分工具调用的提示词,优化Tool插件的工作质量;

问题修复

  1. [Agent能力组件:Segment] 在更早的时机清除Segments的提示词设置缓存,并添加了一段错误监听逻辑,以在运行出错时能够将当前的Segments设置清除,避免干扰下一次运行(尤其是在Colab环境中)。