当前位置: 首页 > news >正文

如何配置autogen二次开发环境

前言        

        越来越多的企业或者开发者需要搭建自己的ai应用和ai智能体,微软的autogen是近期热门的开源agent平台之一,相较于其他框架,autogen的源代码更简洁,分层的设计也方便扩展,官方也在不断迭代该框架,同时使用的是宽松的MIT协议,非常适合基于该框架开发自己的ai产品。

        但是无论是官方文档,还是百度、谷歌,都没有很好的文章介绍如何配置autogen二次开发环境,如何debug前后端代码,因此有了本文。本文尽量让对python和autogen不熟悉的开发者,也可以用很短的时候配置好本地开发环境。

项目基本信息

      

autogen主要由这几个包组成:

  1. autogen-core最底层,包含了框架运行的底层代码,以及模型、工具、记忆等模块
  2. autogen-agent包含了agent、team、condition等模块
  3. autogen-studio是基于上面两个模块构建的可视化界面项目,前端使用的是react+typescript+ant design。autogen-studio只是有了最简单的界面,功能还不算很成熟,用户注册登录等功能都要开发者自己实现。
  4. autogen-ext是扩展模块,比如用户自己开发的工具、模型客户端,都可以放到ext包。

一般情况下,我们不需要对core和agent包做任何修改,只要修改studio或者ext包就可以,或者创建自己的包。

1、使用uv安装依赖

        如果进入项目的某个“python”包(比如/python/packages/autogen-agentchat),然后运行pip install -e .,会(将pyproject.toml里)依赖的autogen-core安装到python环境中,用的不是源码。所以,一定一定要按下面的方式安装依赖:

在项目的python文件夹下的readme文件里有提到三个命令:

uv sync --all-extras
source .venv/bin/activate
poe check

linux/mac系统运行上面的三个命令即可(下载nvidia和torch等包比较慢),如果没有uv、poe,自行安装即可。

如果在windows上安装环境:

source .venv/bin/activate换成 .\.venv\Scripts\activate

2、设置pycharm的python interpreter

打开settings > project:autogen > python interpreter,

然后add python interpreter,选择select existing,python path选择:

/你的项目目录/autogen/python/.venv/bin/python

3、core包的debug

(core包这个源码更复杂一些,可以忽略,直接看下一章节)

进入core_async_human_in_the_loop文件夹。

需要先创建model_config.yml文件,填入以下内容:

provider: autogen_ext.models.openai.OpenAIChatCompletionClient
config:
  model: gpt-4o-mini
  api_key: "你的apikey"
  base_url: "你的接口地址,比如https://xxxxx/v1"

然后debug main.py.

4、agentchat的debug

Quickstart — AutoGen

在python/packages/autogen-agentchat/tests文件夹下创建test.py,把上面这个quickstart里的代码粘贴进去,修改OpenAIChatCompletionClient的api_key,增加base_url,即可debug运行。

比如输入提示词:whats the weather in hangzhou(就会使用工具进行回答)

创作不易,请动动小手,点赞或者收藏一下吧!!

5、studio的debug

官方的命令是在python/packages/autogen-studio目录下执行autogenstudio ui --port 8081 --reload

但是这样只能运行,不能debug。

5.1后端debug

右键cli.py,debug,会提示missing command,编辑运行配置,在Script parameters里填写:ui --port 8081 --reload,保存,重新debug即可。

访问http://127.0.0.1:8081/

5.2前端debug

安装依赖:yarn install
复制.env.default为.env
执行启动命令:npm run start

5.3autogen-studio的缺点

1、功能还不完善,注册登录、接口鉴权等都需要用户自己实现

2、安全问题:配置的工作流,是一个json文件,是前端要用的,也就意味着这个文件内容都是不安全的。比如里面可能包含了model client的api key等敏感信息,前端完全可以明文看到api key。

其他

如果需要了解team配置格式,可以看这里:python/packages/autogen-studio/notebooks/team.json

创作不易,请动动小手,点赞或者收藏一下吧!!

欢迎评论或者私信交流,互相学习!

相关文章:

  • 【计算机网络入门】应用层
  • 从浏览器输入网址,到页面展示都发生了什么?
  • 游戏引擎学习第137天
  • 图解MOE大模型的7个核心问题并探讨DeepSeekMoE的专家机制创新
  • C# 应用程序中,输入法操控
  • 探索低空,旅游景区无人机应用技术详解
  • Java+SpringBoot+Vue+数据可视化的百草园化妆服务平台(程序+论文+讲解+安装+调试+售后)
  • 机器学习中的MATLAB探索:从理论到实践
  • EasyTwin UI2,给好锅配一个好盖
  • Docker安装嵌入框架Text Embeddings Inference (TEI)
  • 雷池WAF的为什么选择基于Docker
  • Vue | Vue2.x和Vue3.x的双向绑定原理详解
  • web高可用集群项目(数据库主从同步、文件共享存储、nginx动静分离+负载均衡+高可用)
  • 使用 Docker 和 Nginx 高效部署 Web 服务(适用于慈云数据云服务器)
  • Java多线程与高并发专题——ConcurrentHashMap 在 Java7 和 8 有何不同?
  • Linux下学【MySQL】中如何实现:多表查询(配sql+实操图+案例巩固 通俗易懂版~)
  • 仿mudou库one thread oneloop式并发服务器
  • 基于OpenCV的Java人脸识别系统设计与实现
  • 学习笔记:IC存储总结(ROM,RAM, EEPROM, Flash, SRAM, DRAM, DDL)
  • JAVA 学习路线 学习大纲(java 进阶路线)
  • 未来之城湖州,正在书写怎样的城市未来
  • 印巴战火LIVE丨“快速接近战争状态”?印度袭击巴军事基地,巴启动反制军事行动
  • 广西钦州:坚决拥护自治区党委对钟恒钦进行审查调查的决定
  • 五粮液董事长:茅台1935已脱离千元价位带,五粮液在千元价位已逐步摆脱其他竞品纠缠
  • 中俄弘扬正确二战史观:缅怀历史,重拾初心,阻止悲剧重演
  • 赵作海因病离世,妻子李素兰希望过平静生活