首页 > 其他分享 >极客时间:在AutoGen Builder中创建具有定制技能的代理

极客时间:在AutoGen Builder中创建具有定制技能的代理

时间:2024-07-21 10:26:13浏览次数:13  
标签:极客 AutoGen URL 创建 Builder url HTML 技能

尝试使用Autogen Builder中的本地LLM/SLM后,下一步是探索如何在AutoGen Builder中创建自定义技能并将其分配给代理。选择了一个从给定URL获取HTML页面的技能。以下是具体步骤:

第一步:设置环境

请访问“https://medium.com/the-constellar-digital-technology-blog/geek-out-time-creating-a-local-ai-agent-on-my-mac-using-autogen-builder-with-the-local-llm-08862e908443”来了解如何运行Autogen Builder。

第二步:创建新技能

  1. 登录AutoGen Builder:在浏览器中打开AutoGen Builder并使用凭证登录。
  2. 导航到技能部分:进入可以创建新技能的部分。
  3. 创建新技能:

  • 点击“创建新技能”按钮
  • 将技能命名为GetHTMLPage
  • 提供描述,例如“获取HTML页面”

  1. 添加Python代码:

在AutoGen Builder提供的代码编辑器或输入字段中,粘贴以下Python代码:

import requests

def fetch_html_page(url: str) -> str:
    """
    获取给定URL的HTML内容。

    :param url: 要获取的网页URL。
    :return: 网页的HTML内容。
    """
    try:
        response = requests.get(url)
        response.raise_for_status()  # 为错误响应(4xx和5xx)引发HTTPError
        return response.text
    except requests.RequestException as e:
        print(f"获取URL {url} 时出错:{e}")
        return ""

# 主技能函数
def main(url: str) -> str:
    return fetch_html_page(url)

# 本地测试示例用法
if __name__ == "__main__":
    url = "https://www.example.com"
    html_content = main(url)
    print(html_content)

  1. 保存技能:

点击“保存”按钮保存新技能。

第三步:配置系统消息

系统消息为代理提供如何处理任务的指示。以下是包含内容的示例:

指示:

  1. 接收用户输入的URL。
  2. 执行预配置的Python代码以获取给定URL的HTML内容。
  3. 返回获取的HTML内容作为输出。
    逐步处理任务:

  • 如果提供了URL,继续使用代码获取其HTML内容。
  • 如果发生任何错误,捕获并返回错误消息。
    主要目标是提供所提供URL的HTML内容或在获取失败时提供错误消息。
    任务完成后回复“TERMINATE”。

创建或编辑代理:

进入AutoGen Builder中创建或编辑代理的部分。

在“模型”下,使用GPT,需要前往OpenAI网站生成API密钥并输入。(https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key)

最终,将创建的自定义技能链接到代理。

系统消息:

将上述“系统消息”粘贴到代理配置的“系统消息”字段中。

保存配置:

保存带有新系统消息的代理配置。

第四步:创建测试工作流

  1. 导航到工作流部分:进入可以创建或管理工作流的部分。
  2. 创建新工作流:

  • 点击“创建新工作流”按钮。
  • 适当地命名工作流,例如GetHtmlPage。

  1. 将技能添加到工作流中:

将“GetHtmlPage”代理添加到工作流中作为“接收者”。

第五步:测试代理

  1. 运行工作流:

  • 点击“运行”按钮以提供的输入执行工作流。

  1. 监控执行:

  • 观察执行日志,查看技能是否成功运行。

  1. 审查输出:

  • 验证输出是否包含所提供URL的HTML内容。

结论

按照这些步骤,成功创建了一个在AutoGen Builder中从URL获取HTML内容的自定义代理。该指南提供了从设置环境到测试代理的完整过程。如果遇到任何问题或需要进一步帮助,请随时联系。尝试一些复杂的自定义技能与群聊会很有趣,敬请期待。

玩得开心!

标签:极客,AutoGen,URL,创建,Builder,url,HTML,技能
From: https://blog.csdn.net/2301_79342058/article/details/140580133

相关文章

  • 【VMware VCF】VMware Cloud Foundation Part 02:部署 Cloud Builder。
    VMwareCloudBuilder是用于构建VMwareCloudFoundation第一个管理域的自动化部署工具,通过将一个预定义信息的Excel参数表导入到CloudBuilder以启动VCF的初始构建过程(Bring-up)。VMwareCloudBuilder通常是以OVA文件的形式与VMwareCloudFoundation一同发行并在......
  • Java学习日历(String,StringBuilder,Stringjoiner)
     金额转换packageme.JavaStudy;importjava.util.Scanner;//币值转换publicclassCaptial{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.println("请输入一个数字");intnumber=sc.ne......
  • [极客大挑战 2020]Greatphp 1
    原生类反序列化<?phperror_reporting(0);classSYCLOVER{public$syc;public$lover;publicfunction__wakeup(){if(($this->syc!=$this->lover)&&(md5($this->syc)===md5($this->lover))&&(sha1($this->s......
  • [极客大挑战 2020]Roamphp1-Welcome 1
    前端代码审计,信息收集,sha1绕过进来之后发现什么都没有,什么东西都找不到,扫后台也没东西,可以看到在请求头中有异常尝试切换get传参为post传参爆出了源码<?phperror_reporting(0);if($_SERVER['REQUEST_METHOD']!=='POST'){header("HTTP/1.1405MethodNotAllowed")......
  • C#面:Application builder的use和run方法有什么区别?
    这两个⽅法都在startupclass的configure⽅法⾥⾯调⽤。都是⽤来向应⽤请求管道⾥⾯添加中间件的。Use⽅法可以调⽤下⼀个中间件的添加,⽽run不会。在C#中,Applicationbuilder是用于构建和配置应用程序的类。它提供了一些方法来设置应用程序的各种属性和行为。其中,use和run方......
  • StringBuffer和StringBuilder
    publicfinalclassStringBufferextendsAbstractStringBuilderimplementsSerializable,CharSequence{publicStringBuffer(){super(16);}publicsynchronizedStringBufferappend(Stringstr){super.append(str);r......
  • 解决HBuilder X运行微信小程序模拟器Error: pages.json解析失败
    前言如果已经排查很久了,那这就不是你的问题了,大概率是由于你曾经创建了一个路径,在指定PagePath的时候又指向了这个路径,这个操作本身没有问题。但是,如果你曾经对这个路径修改过了,那编译器就会有问题,来品鉴一下这个错误。16:15:36.772请注意运行模式下,因日志输出、sourcem......
  • JAVA 中的 StringBuilder 和 StringBuffer 适用的场景是什么?
    转自菜鸟教程的一位大哥-------未之奋豆未之奋豆429***[email protected]参考地址6年前(2018-05-07)JAVA中的StringBuilder和StringBuffer适用的场景是什么?最简单的回答是,stringbuffer基本没有适用场景,你应该在所有的情况下选择使用stringbuiler,除非你真的遇到了一个需要线......
  • 怎么配置electron-builder
    electron-builder是一个用于Electron应用程序打包和发布的工具,它支持macOS、Windows和Linux平台。以下是一个清晰且详细的electron-builder配置指南,包括分点表示和归纳,并参考了相关文章中的信息。一、安装electron-builder首先,你需要在你的Electron项目中安装......
  • 探案:其它配置|参数无错,罪魁祸首是它----使用lombok包Builder注解引起MyBatisSystemExce
    案件回顾:场景:实现某查询功能。详情具体如下:注意⚠️⚠️org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.executor.result.ResultMapException:Errorattemptingtogetcolumn'xxx'fromresultset.Cause:java.lang.NumberFormatExcept......