autogen-agentchat 0.4.0.dev8版本的安装

1. 安装命令

pip install autogen-agentchat==0.4.0.dev8 autogen-ext[openai]==0.4.0.dev8

2. 版本检查

import autogen_agentchat
print(autogen_agentchat.__version__)
0.4.0.dev8
import autogen_ext
print(autogen_ext.__version__)
0.4.0.dev8

3. 第一个案例

使用 autogen-agentchat 创建一个智能代理系统,其中代理通过 智谱chatglm 模型处理用户查询(在本例中是查询天气),并使用定义的工具(如 get_weather)来返回结果。代理团队的任务是轮流响应查询,直到满足终止条件。

import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.task import Console, TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models import OpenAIChatCompletionClient# Define a tool
async def get_weather(city: str) -> str:return f"The weather in {city} is 73 degrees and Sunny."async def main() -> None:# Define an agentweather_agent = AssistantAgent(name="weather_agent",model_client=OpenAIChatCompletionClient(model="GLM-4-Plus",api_key="your api key",base_url="https://open.bigmodel.cn/api/paas/v4/",model_capabilities={"vision": True,"function_calling": True,"json_output": True,},),tools=[get_weather],)# Define termination conditiontermination = TextMentionTermination("TERMINATE")# Define a teamagent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination)# Run the team and stream messages to the consolestream = agent_team.run_stream(task="What is the weather in New York?")await Console(stream)await main()
---------- user ----------
What is the weather in New York?
---------- weather_agent ----------
[FunctionCall(id='call_-9186124499374425060', arguments='{"city": "New York"}', name='get_weather')]
[Prompt tokens: 141, Completion tokens: 11]
---------- weather_agent ----------
[FunctionExecutionResult(content='The weather in New York is 73 degrees and Sunny.', call_id='call_-9186124499374425060')]
---------- weather_agent ----------
The weather in New York is 73 degrees and Sunny. TERMINATE
[Prompt tokens: 166, Completion tokens: 16]
---------- Summary ----------
Number of messages: 4
Finish reason: Text 'TERMINATE' mentioned
Total prompt tokens: 307
Total completion tokens: 27
Duration: 1.82 seconds

4. 出现的错误:

4.1 安装出错

C:\Users\32564>pip install 'autogen-agentchat==0.4.0.dev8' 'autogen-ext[openai]==0.4.0.dev8'
ERROR: Invalid requirement: "'autogen-agentchat==0.4.0.dev8'": Expected package name at the start of dependency specifier'autogen-agentchat==0.4.0.dev8'

这个问题是由于在 pip install 命令中使用了单引号 ’ 导致的。Windows 命令行(cmd)不正确地解析了这些单引号,将其作为字符串的一部分,而不是用作命令的分隔符。

解决方法
在 Windows 上,请使用双引号 " 或直接省略引号:

替换单引号为双引号:

pip install "autogen-agentchat==0.4.0.dev8" "autogen-ext[openai]==0.4.0.dev8"

或者直接省略引号:

pip install autogen-agentchat==0.4.0.dev8 autogen-ext[openai]==0.4.0.dev8

为什么会报错?
在 Linux 和 macOS 上,单引号(')可以用来包裹参数,而在 Windows 的 cmd 中,单引号不会被解释为参数的边界,而是被当作字符的一部分。
因此,‘autogen-agentchat==0.4.0.dev8’ 被视为整个参数,而不是包名和版本号的组合。

4.2 asyncio.run() 在jupyter notebook中运行出错

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[3], line 3431     stream = agent_team.run_stream(task="What is the weather in New York?")32     await Console(stream)
---> 34 asyncio.run(main())File d:\soft\anaconda\envs\auto_four\Lib\asyncio\runners.py:190, in run(main, debug, loop_factory)161 """Execute the coroutine and return the result.162 163 This function runs the passed coroutine, taking care of(...)186     asyncio.run(main())187 """188 if events._get_running_loop() is not None:189     # fail fast with short traceback
--> 190     raise RuntimeError(191         "asyncio.run() cannot be called from a running event loop")193 with Runner(debug=debug, loop_factory=loop_factory) as runner:194     return runner.run(main)

这个错误 RuntimeError: asyncio.run() cannot be called from a running event loop 表示你在已经运行的事件循环中尝试调用 asyncio.run(),而 asyncio.run() 只能在没有其他事件循环正在运行的情况下调用。

为什么会报这个错?
asyncio.run() 是用于启动一个新的事件循环并运行一个异步任务的函数。它不能在已经有事件循环运行的环境中调用。常见的情况是在 Jupyter Notebook 或某些框架(如 Gradio、FastAPI 等)中,这些环境本身就已经有一个事件循环在运行,导致你不能再使用 asyncio.run()。

解决方法
方法 1: 使用 await 代替 asyncio.run()
在 Jupyter Notebook 中或者在已经有事件循环的环境中,你应该直接 await 异步函数,而不是使用 asyncio.run()。比如:

# 原来你可能这样做:
# asyncio.run(main())

应该改为:

await main()

参考链接:https://github.com/microsoft/autogen/tree/main
如果有任何问题,欢迎在评论区提问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/483325.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Milvus×OPPO:如何构建更懂你的大模型助手

01. 背景 AI业务快速增长下传统关系型数据库无法满足需求。 2024年恰逢OPPO品牌20周年,OPPO也宣布正式进入AI手机的时代。超千万用户开始通过例如通话摘要、新小布助手、小布照相馆等搭载在OPPO手机上的应用体验AI能力。 与传统的应用不同的是,在AI驱动的…

002-日志增强版

日志增强版 一、需求二、引入依赖三、配置日志处理切面四、配置RequestWrapper五、效果展示 一、需求 需要打印请求参数和返回参数 二、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop<…

Spire.PDF for .NET【页面设置】演示:旋放大 PDF 边距而不改变页面大小

PDF 页边距是正文内容和页面边缘之间的空白。与 Word 不同&#xff0c;PDF 文档中的页边距不易修改&#xff0c;因为 Adobe 不提供任何功能供用户自由操作页边距。但是&#xff0c;您可以更改页面缩放比例&#xff08;放大/压缩内容&#xff09;或裁剪页面以获得合适的页边距。…

服务器数据恢复—EVA存储硬盘磁头和盘片损坏离线的数据恢复案例

服务器存储数据恢复环境&故障&#xff1a; 一台HP EVA存储中有23块硬盘&#xff0c;挂接到一台windows server操作系统的服务器。 EVA存储上有三个硬盘指示灯亮黄灯&#xff0c;此刻存储还能正常使用。管理员在更换硬盘的过程中&#xff0c;又出现一块硬盘对应的指示灯亮黄…

探索仓颉编程语言:官网上线,在线体验与版本下载全面启航

文章目录 每日一句正能量前言什么是仓颉编程语言仓颉编程语言的来历如何使用仓颉编程语言在线版本版本下载后记 每日一句正能量 当你被孤独感驱使着去寻找远离孤独的方法时&#xff0c;会处于一种非常可怕的状态。因为无法和自己相处的人也很难和别人相处&#xff0c;无法和别人…

idea 自动导包,并且禁止自动导 *(java.io.*)

自动导包配置 进入 idea 设置&#xff0c;可以按下图所示寻找位置&#xff0c;也可以直接输入 auto import 快速定位到配置。 Add unambiguous imports on the fly&#xff1a;自动帮我们优化导入的包Optimize imports on the fly&#xff1a;自动去掉一些没有用到的包 禁止导…

【时时三省】(C语言基础)结构体的自引用

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 结构体的自引用 在结构中包含一个类型为该结构体本身的成员是否可以呢&#xff1f; 在struct B里面包含了一个结构体struct A叫sa 结构体类型里面是可以包含另一个结构体类型变量作为它的成…

GoReplay开源工具使用教程

目录 一、GoReplay环境搭建 1、Mac、Linux安装GoReplay环境 二、GoReplay录制与重播 1、搭建练习接口 2、录制命令 3、重播命令 三、GoReplay单个命令 1、常用命令 2、其他命令 3、命令示例 4、性能测试 5、正则表达式 四、gorepaly组合命令 1、组合命令实例 2、…

宏海科技募资额有所缩减,最大销售和采购都重度依赖美的集团

《港湾商业观察》施子夫 11月29日&#xff0c;北交所上市审核委员会将召开2024年第24次上市委审议会议&#xff0c;届时将审议武汉宏海科技股份有限公司&#xff08;以下简称&#xff0c;宏海科技&#xff09;的首发上会事项。 在上会之前&#xff0c;宏海科技共收到北交所下…

驱动篇的开端

准备 在做之后的动作前&#xff0c;因为win7及其以上的版本默认是不支持DbgPrint&#xff08;大家暂时理解为内核版的printf&#xff09;的打印&#xff0c;所以&#xff0c;为了方便我们的调试&#xff0c;我们先要修改一下注册表 创建一个reg文件然后运行 Windows Registr…

渗透测试--Windows凭证收集

在渗透测试过程中&#xff0c;我们终究会遇到攻陷了某台加域Windows主机的情况。而这种情况下&#xff0c;我们很需要搜集当前主机的凭证信息。为进一步利用这些相互信任的凭证来进行横向打下基础。 在凭证收集中&#xff0c;我们主要有以下场景&#xff1a; 1.lsass.exe的DMP文…

PH热榜 | 2024-12-03

1. Vela OS 标语&#xff1a;利用人工智能&#xff0c;创业投资精准度提升十倍。 介绍&#xff1a;Vela操作系统是一个原生AI操作系统&#xff0c;它能让创业投资者的预测准确率比传统风投公司高出十倍。借助一群AI智能体&#xff0c;投资者可以发现蓬勃发展的市场、公司和人…

微信小程序 运行出错 弹出提示框(获取token失败,请重试 或者 请求失败)

原因是&#xff1a;需要登陆微信公众平台在开发管理 中设置 相应的 服务器域名 中的 request合法域名 // index.jsPage({data: {products:[],cardLayout: grid, // 默认卡片布局为网格模式isGrid: true, // 默认为网格布局page: 0, // 当前页码size: 10, // 每页大小hasMore…

Google Cloud 混合云部署连接方式最佳实践案例讲解

混合云部署连接方式 GCP 的混合云部署连接方式提供了多种选择&#xff0c;企业可以根据自身需求选择合适的解决方案。实施最佳实践&#xff0c;将有助于提高混合云架构的性能、安全性和可用性。通过合理的规划和管理&#xff0c;企业可以充分利用混合云的优势&#xff0c;实现…

nfs服务器搭建

目录 1&#xff0c;nfs服务端 1&#xff09;安装 2&#xff09;修改nfs配置文件 3&#xff09;创建共享目录 4&#xff09;启动服务nfs配置文件 2&#xff0c;客户端 3&#xff0c;测试 1&#xff09;客户端 2&#xff09;服务端查看 4&#xff0c;systemd实现客户…

从0开始学PHP面向对象内容之常用设计模式(策略,观察者)

PHP设计模式——行为型模式 PHP 设计模式中的行为模式&#xff08;Behavioral Patterns&#xff09;主要关注对象之间的通信和交互。行为模式的目的是在不暴露对象之间的具体通信细节的情况下&#xff0c;定义对象的行为和职责。它们常用于解决对象如何协调工作的问题&#xff…

Python办公——openpyxl处理Excel每个sheet每行 修改为软雅黑9号剧中+边框线

目录 专栏导读背景1、库的介绍①&#xff1a;openpyxl 2、库的安装3、核心代码4、完整代码5、最快的方法(50万行44秒)——表头其余单元格都修改样式总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍…

【AI系统】TVM 实践案例

TVM 实践案例 在本文我们探讨一下&#xff0c;如何利用 AI 编译器在新的硬件上部署一个神经网络&#xff0c;从算法设计到实际运行&#xff0c;有哪些需要考虑的地方&#xff1f;本节将以 TVM 为例&#xff0c;首先介绍一下 TVM 的工作流&#xff1a; 导入模型。TVM 可以从 Te…

【AI系统】昇腾异构计算架构 CANN

昇腾异构计算架构 CANN 本文将介绍昇腾 AI 异构计算架构 CANN&#xff08;Compute Architecture for Neural Networks&#xff09;&#xff0c;这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达芬奇架构和软件层面的全栈支持&#xff0c;旨在提供…

C++:map容器——自定义数据类型进行自定义排序规则

map容器和set容器自带排序操作&#xff0c;但是&#xff0c;对于自定义数据类型&#xff0c;二者必须指定排序规则。本文以map容器为例&#xff0c;针对自定义数据类型作为key值的指定排序进行程序实现。 首先&#xff0c;自定义数据类型&#xff1a;Person类&#xff0c;该类将…