AutoGen:通过多 Agent 对话实现下一代 LLM 应用
12345678英文名称: AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation中文名称: AutoGen:通过多 Agent 对话实现下一代 LLM 应用链接: http://arxiv.org/abs/2308.08155v2代码: https://github.com/microsoft/autogen作者: Qingyun Wu, Gagan Bansal, Jieyu Zhang, Yiran Wu, Beibin Li, Erkang Zhu, Li Jiang, Xiaoyun Zhang, Shaokun Zhang, Jiale Liu, Ahmed Awadallah, Ryen W. White, Doug Burger, Chi Wang机构: 微软研究, 宾夕法尼亚州立大学, 华盛顿大学, 西安电子科技大学日期: 2023-08-16引用次数: 363
1 摘要
目标:介绍 AutoGen 的设计和功能
方法:利用多个代理进行对话,实现任务完成
结论:AutoGen
...
autogen_实战
1 安装
1pip install pyautogen
2 源码分析
1git clone https://github.com/microsoft/autogen
下载了 2.2G,其中 2.1G 在.git 文件夹下,其余约
60M。只需关注主分支即可。
核心代码位于 autogen/agentchat 目录,核心组件是:Agent 和
GroupChat。
agent:用于管理每个角色的行为。
agent ->
ConversableAgent:会话的基础类,一般不直接使用,而作为其他类的父类。它能保持对话状态、历史记录,并调用其他工具。
ConversableAgent -> AssistantAgent:这是一个 AI
角色,用于执行任务处理、调用 API 和逻辑推理等相关代码。
ConversableAgent ->
UserProxyAgent:这是一个用户角色,用于模拟用户输入,通常不涉及复杂的逻辑运算或代码执行。
groupchat:用于管理多个 Agent 的协作。
GroupChat:管理多个代理之间的对话,相当于管理一个群聊房间,可通过 ...
langchain 与 autogen 怎么选
1 引言
可以说,agent
是一种解决问题思路(道),具体的工具(术)并不重要。但在程序中,它还是需要一个具体的形态。一开始想直接用
langchain,毕竟总比自己处理逻辑要简单。然而,我发现很多非常常用的功能没有直接实现的方法,加上
llm
带来的稳定性问题,这让产品化变得很困难。于是我在外围做代码补救,使整个结构变得非常混乱。虽然功能都实现了,但考虑到后面还要添加更多
agent 功能,觉得这个框架可能无法驾驭过于复杂的逻辑。
举个例子,langchain
就像一家初创公司,只有几个员工,扁平化管理。在事务简单人也少的时候还能应付,但一旦人多事杂,就会变得混乱,有问题时不知道该找谁。即使没有一个主管,也至少一套制度规则,接口设计满足常用需求。langchain
的 agent 主要是在结构上较弱,而不是功能性差。
由于时间有限,我只调研了目前 GitHub 上最热门的 agent
工具,也看了一些项目中自行实现的 agent 代码。最终选择了 autogen,在
langchain 中遇到的问题都得以解决,总结如下。
2 使用场景
先看看选型的目的是什么?
支持我需要的功能它 ...
RAG综述
12345678英文名称: Retrieval-Augmented Generation for Large Language Models: A Survey中文名称: 大型语言模型的检索增强生成:一项调查链接: http://arxiv.org/abs/2312.10997v5作者: Yunfan Gaoa, Yun Xiongb, Xinyu Gaob, Kangxiang Jiab, Jinliu Panb, Yuxi Bic, Yi Daia, Jiawei Suna, Meng Wangc, and Haofen Wang a,c机构: 上海智能自主系统研究所, 同济大学, 上海数据科学重点实验室, 复旦大学, 创意设计学院, 同济大学日期: 2023-12-18引用:499
1 摘要
目标:探讨检索增强生成(RAG)作为解决大型语言模型(LLMs)遇到的挑战的有效方法,以提高生成的准确性和可信度,特别是对于知识密集型任务。
方法:综合评述了 RAG 范式的发展,包括单纯 RAG,先进 RAG 和模块化
RAG,并详细审查了 RAG
框架的三方基础:检索、生成和增强技术。 ...
django 测试带用户登录的 api
1 方法一
通过 http server 调用 api,优点是与真实调时环境一致。
1234567891011121314151617from rest_framework.test import APITestCase, APIClientfrom django.contrib.auth.models import User class MyAPIViewTestCase(APITestCase): def setUp(self): self.user = User.objects.create_user(username='testuser', password='testpassword') self.client = APIClient() if True: # 登录具体用户 self.token = AuthToken.objects.create(self.user)[1] self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.toke ...
训练智能体vs养娃
1 引言
这周我做了一些关于智能体的实现,也参加了幼儿园的家长会,有一些碰撞和感想。
2 什么重要什么不重要
2.1 不重要
数学学不好没关系,我们有推理工具。
语文学不好也没关系,工具可以帮助架构、润色和总结。
英语学不好也无所谓,现在英文文档和中文几乎没有区别。
副科只需要大概了解一点就行了。
音体美多数人都没有那个天赋。
记性不好,有第二大脑的加持。
2.2 重要
体力:身体是一切的本钱;具有自我保护的能力。
心力:乐观,可以敏感,但不要太脆弱。
自主力:拥有主体感和好奇心。
平常心:虽然有智力和体力超人存在,但我们是普通人。
3 自发学习
前两天去幼儿园开家长会时,看到了一张图片。以前,这种图片可能被视为反面教材,但现在老师们鼓励这种行为。说:“小朋友自己发现了一个游戏,叫爬树。”
从幼儿园开始,他们就锻炼孩子的自主性。
|200
在训练智能体时,有一个很高级的阶段叫自我进化。这是指智能体自己设计一系列活动,以提升某种技能。
不能说给孩子买了个益智玩具,他玩这个就算学习。而如果他自己接了杯水,在几个容器里倒来倒去,弄得到处都是水,这就是捣乱吗?这可能反而是一种更为 ...
Linux 安装绿能无线网卡
1 问题描述
我笔记本自带的无线网卡最近经常出现问题。一会儿能连通,一会儿又连不通,尤其是在信号弱的情况下,每十分钟就断一次。于是,我在某宝花了
30 元买了一个 USB 无线网卡。
它自带的 U 盘和说明书只有 Windows 安装说明(但盒子上写着也支持
Linux),所以我花了一些时间来安装。
2 环境
USB 无线网卡:绿能 AX300
系统:Ubuntu 22.04
3 安装
3.1 查看设备
12$ lsusb# 插上后看到 aicsemi Aic MSC
3.2 驱动下载
绿联:https://www.lulian.cn/download/list-32-cn.html
查看包装盒上的具体型号(产品参数 -
产品型号),然后搜索并下载对应的驱动程序。
我购买的芯片型号是:AIC8800FC
3.3 安装
下载相应的驱动,解压后找到对应的安装文档(PDF),并按照文档操作(仅运行
install.sh 是不够的)。
我在安装 deb 包时遇到错误,用 make install
自行编译也报错。可能是驱动与我的 Linux
内核版本不兼容。做了一些简单修改后成功编译 ...
VSCode调试
1 基本调试
打开 Python 文件。
在行号左侧设置断点(红色圆点)。
在左侧栏打开调试视图(Ctrl+Shift+D)。
创建配置调试文件 launch.json。
如果需要调试第三方库,在 configurations
中添加:"justMyCode": false,
开始调试:点击视图上方的运行按钮(F5)。
在断点界面可以删除所有断点。
2 调试 vscode 程序
修改 launch.json 如下:
12345678910111213141516171819202122{ "version": "0.2.0", "configurations": [ { "name": "Django", "type": "python", "request": "launch", ...
Agent实战
1 比赛介绍
第三届琶洲算法大赛 -GLM 法律行业大模型挑战赛道
赛题页面:https://tianchi.aliyun.com/competition/entrance/532221/information
解题示例:https://tianchi.aliyun.com/competition/entrance/532221/customize444
说明文档:https://zhipu-ai.feishu.cn/wiki/M6lCwkSEWiBQIKkQLtIcTuV2nqh?spm=a2c22.12281976.0.0.536f7dd2Pg0INK
2 问题概述
在法律服务领域,基于智谱 GLM-4 大模型和相关业务
API,构建一个能回答法律问题的 Agent(问题机器人)。该 Agent
需要在一小时内回答 200 道问题。
这种整体方案可以应用于许多专业领域。我们也可以通过比较优化和未优化的情况下,看看效果如何。(初赛
A 榜的前 100 名得分都在 80-90
分区间内,查看了一些代码后,我觉得稍加改进也能达到 70+)
3 问题类型
简单问题:查单表和几个字段。 ...
图形化的Agent工具
1 图形化 Agent 工具
1.1 核心组件
机器人 Bot:一个 AI 应用,或称为 Agent
知识库:上传个人数据,机器人可根据其内容进行回复
工作流:将大问题拆解成多个小问题,通过路径实现,路径上的每个节点完成特定任务
插件:调用外部功能(Tools)
1.2 使用体验
大模型与其他元素结合,实现完整的目标功能。
功能:调用工具、设置工作流和本地数据(知识库)。
工具:有许多现成工具可供使用。
工作流:前后关系非常直观,像搭积木一样。
2 Coze
扣子是一个 AI 应用开发平台,由字节跳动推出。
相对更 toC,无需编程即可实现 agent 的创建和发布,效果有点类似于 AI
界的微信小程序。
区别
海外版
国内版
网址
www.coze.com
www.coze.cn
登陆方式
需要魔法才能使用
无使用的网络限制
可用模型
OpenAI GPT 系列
字节自研模型/国内常用模型
发布平台
Discord、Instagram、Slack
飞书、微信客服、微信公众号&订阅号
3 Dify
支持本地搭建和使用本地模 ...