前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Agently:一款灵活易用的 AI 应用开发框架

Agently:一款灵活易用的 AI 应用开发框架

作者头像
行者Sun
发布2024-09-19 20:36:54
810
发布2024-09-19 20:36:54

基本介绍

Agently 是一款应用开发框架,开发者可以通过在代码中直接使用和构建 AI 代理的方式,快速构建 AI 代理原生应用程序。对于开发者来说,创建一个 AI 代理实例并与之交互的过程,就好像在极少量代码中调用函数一样简单。

Agently 的主要特性如下:

  • 易用、灵活、高效
  • 符合工程开发直觉的开发语法,让开发者专注在业务表达,屏蔽无关思考
  • 用 GPT-3.5+ 级别的低价模型平替原本只能用 GPT-4 完成的工作,成本立减 99%
  • 支持各类主流模型随意切换,不冲击业务逻辑,帮助开发者提升模型输出控制能力
  • 代码级编排复杂工作流,构建复杂 AI 应用场景

Agently 的目标是成为友好的开发框架,主要有以下几个方面的内涵:

  • 让开发者专注在业务开发上,单次请求由 Agent 对象代理,多轮请求编排由 Workflow 完成,并提供了简单顺畅的语法,业务开发的时候,思路极其顺滑
  • 模型调用新增模型适配、Agent 对象新增指令、存储方法新增数据存储类型,都通过插件完成
  • 通过框架内部的架构设计,将模型适配、插件增强和业务表达三个层次完全解耦,任何一层的变动都不会严重冲击其他层,确保业务逻辑层表达的稳定性
  • 文档丰富,社区热情,开发团队 On Call 及时,并乐于分享方法论
  • 为 AI 应用开发者降低开发门槛,提供高效、顺滑的开发体验

Agently 构建的代理结构如下图所示:

开源地址:https://github.com/Maplemx/Agently

官网地址:https://agently.cn/index.html

模型支持:https://agently.cn/guides/model_settings/index.html

工作流:https://agently.cn/guides/workflow/index.html

创始人:莫欣(先生)


安装方法

Agently 的安装极其简单,只需要在终端命令行中执行以下命令,等待 Python 包安装完成即可。

代码语言:javascript
复制
pip install -U Agently
 
🔔 pip 版本需要满足一定要求,若遇到安装问题请先升级 pip 版本
🔔 升级命令:python3 -m pip install --upgrade pip
   输出信息:Successfully installed pip-24.2

使用方法(示例)

1、生成内容

代码语言:javascript
复制
import Agently
 
'''
创建 Agent 实例
'''
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)
 
# 输出如下:
{'单词': ['书籍', '音乐', '快乐', '创新', '和平'], '句子': ['我喜欢阅读各种各样的书籍。', '音乐是我生活中不可或缺的部分。', '快乐是一种心态,也是一种选择。']}

可以看到,在创建 Agent 实例时笔者指定语言模型为 ZhipuAI(智谱清言),并提供可用的 API KEY,然后通过 Agent 实例发出基础请求以调用智谱清言 API 的能力,最终自动生成所需内容(即以中文输出 5 个单词、3 个句子)。

智谱清言 API KEY 获取地址:

https://open.bigmodel.cn/usercenter/apikeys

2、聊天互动

代码语言:javascript
复制
import Agently
agent_factory = Agently.AgentFactory()
 
agent_factory\
    .set_settings("current_model", "ZhipuAI")\
    .set_settings("model.ZhipuAI.auth", { "api_key": "your_api_key" })
 
agent = agent_factory.create_agent()
agent.active_session()
while True:
    user_input = input("[用户]: ")
    if user_input == "#exit":
        print("Bye")
        break
    print("[AGENT]: ", end="")
    agent\
        .input(user_input)\
        .on_delta(lambda data: print(data, end=""))\
        .start()
    print("")

3、分析日志

代码语言:javascript
复制
import Agently, os
agent_factory = Agently.AgentFactory()
 
agent_factory\
    .set_settings("current_model", "ZhipuAI")\
    .set_settings("model.ZhipuAI.auth", { "api_key": "xxx" })
 
agent = agent_factory.create_agent()
agent.active_session()
 
os.system("kubectl describe no > /data/gitlab/node.log")
 
with open('/data/gitlab/node.log', 'r') as f:
    user_input = f.read() + '\n分析以上信息中是否存在异常,若存在异常请给出解决方案'
 
print("[AGENT]: ", end="")
 
agent\
    .input(user_input)\
     .on_delta(lambda data: print(data, end=""))\
    .start()
print("\n")

以上脚本可以结合 Crontab 计划任务,定期获取 Kubernetes 集群的节点详情写入日志文件,然后由 Agent 代理调用智谱清言 API 分析日志信息是否存在异常,并给出解决方案。后续还可以通过发送邮件等方式进行告警,有效缩短运维人员分析日志、解决问题的时间。

更多使用方法及实战案例详见:

https://github.com/Maplemx/Agently/tree/main/playground

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 实施运维知识交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档