首页 > 其他分享 >大模型-AIAgent 智能体现状总结

大模型-AIAgent 智能体现状总结

时间:2024-10-15 14:53:21浏览次数:1  
标签:-- 模型 Agent 智能 任务 agent llm AIAgent

目录

    AutoGen面向多个agent的开源框架,agent可定制 可对话 能够无缝的允许人类参与
    有一个master agent 制定计划 分发给不同的agent-->智能体去中心 任意两个可直接对话 (或者分层的结构 上下两层之间才能交互)
    构建复杂的多智能体对话系统,基于llm工作流,agent可以是基于llm,工具或者人类,
    定义一组具有专门功能和角色的agent集合
    定义agent之间的交互行为,例如:一个agent接收到另一个agent的消息时,需要回复什么内容。
    以会话为中心的设计好处:用户可以无缝的加入或者退出
    项目:编写python代码实现从1开始报数,如果能被3整除 则输出Fizz 如果能被5整除报Buzz 如果同时能被3或者5整除报FizzBuzz

    内置的不同功能的Agent:
    	UserProxyAgent 检索用户的输入并执行代码
    	AssistantAgent 默认的系统消息代理 允许agent 充当任务完成的助理
    	ConversableAgent 上面2种Agent之间的构建会话的Agent
    主要支持openai的llm 如GPT-3.5 GPT-4,但是用户也可以与本地或其他托管的LLM使用
    群聊:每个agent都可以看到组内其他的agent发送的所有消息。一旦启动,群聊将继续,直到满足最终的终止条件,每个群聊都有一个管理agent,负责消息的管理,监督消息的广播,发言人的选择,以及聊天的终止,
    选择下一位发言人的方法:
    	--manual 用户手动选择
    	--random 随机选择
    	--round robin 轮询选择
    	--auto让llm选择
    基于AutoGen的旅游智能体系统:2个AssistantAgent + UserProxyAgent
    TourAgent 相应用户的查询,以及在生成最终的相应前收集信息
    LocationResearcher 位置研究以及目的地景点 餐厅 住宿的查询
    UserProxy 用户代理
    

    CrewAI 建立在LangChain之上的 构建多个智能体组成的协作系统(斯坦福小镇 模拟软件开发ChatDev),多Agent框架,促进Agent之间的合作 共同解决复杂问题
    Agent1 Agent2 ...AgentN task1 task2 ...taskN
    Process将agent task串在一起
    项目:自动写信并发邮件
    写信
    检查内容
    发邮件
    只能按照定义的顺序 一个agent处理一个task 而且agent之间没有交流 没有共同决策的能力 因此对于资源或者时效有要求的场景 适合使用

    帮助用户任务分解,任务规划, 任务执行,是AutoGen的顶级替代
    AutoGen ChatDev CrewAI 架构的区别
    
    特点:
    	基于角色的Agent设计
    	Agent可以自主委派任务并相互协商
        用户可以使用自定义的工具定义任务,并动态的分配给agent
    	ollama本地模型的集成
    	目前仅支持顺序的工作流
    	
    项目:使用CrewAi + Ollama + Langchain 构建超级Agent
    

    AutoGen VS ChatDev VS CrewAI
    AutoGen:虽然擅长创建会话agent 缺乏固有的流程概念,协调agent之间的交互需要额外的编程,任务规模的扩大,这个编程会变得越来越复杂,
    ChatDev:将过程的概念引入到Agent领域,但是实现很僵硬,阻碍实际的应用的可扩展性
    CrewAI:构建的时候就考虑到实际的生产环境,既有AutoGen的的对话灵活性,也具有ChatDev的体系化过程方法,CrewAI是应获得 流程的设计是动态的且强大,
    能够无缝的适应开发与生产的流程。

    AutoGPT:
    多智能体框架
    zero to hero,reshaping llm
    microsoft开发的 用于简化llm工作流的编排 优化以及自动化 提供了可定制的 可交谈的agent 可以集成人类智慧以及外部工具 在多个agent之间可以实现自动化聊天。

    ChatGPT GPT4 虽然可以调用一些插件来完成更多的功能,但是整体功能有限,
    开源的实验性项目,定义特定的角色和一系列的目标,让GPT-4自动的创建和执行实现目标需要的必要任务,
    AutoGPT的向量数据库 pinecore weaviate
    

    BabayAGI
    AI支持的任务管理系统,使用OPENAI+Pinecore创建,根据优先级排序并执行任务,
    基于前一个任务的结果和预定义的目标创建新的任务,并使用通Pinecore存储和检索任务结果获取上下文,是一个原始任务驱动的的自驱动智能体--autonomous agents
    Autonomous agent(自主智能体)在人工智能领域中指的是能够在环境中感知、学习和执行动作的智能实体。
    这种实体具有自主性,即它能够独立地做出决策和行动,而无需人为干预。
    一个循环:拉取最前的未完成任务 并执行 存储结果到vector db(pinecore)-->基于前一个任务的结果创建新任务-->根据优先级对任务的进行重新的排序
    execution_agent task_creation_agent prioritization_agent
    HuggingGPT
    HuggingFace+ChatGPT
    根据用户的自然语言描述的需求自动分析需要哪些AI模型,然后去Huggingface上直接调用对应的模型,最终输出结果。
    四阶段:ChatGPT根据用户的需求解析为任务列表-->ChatGPT根据Huggingface上托管的各个专家模型的描述,为任务分配合适的模型
    -->任务的执行:混合端点 包括本地推理和Huggingface推理并将结果返回给ChatGPT-->生成相应

    AgentGPT:
    https://github.com/reworkd/AgentGPT.git
    自主的AI Agent平台 用户只需要为Agent指定名称以及目标 就可以在页面中使用

    AgentTuning:
    清华大学以及智普AI提出的AgentTuning提高大语言模型的Agent能力
    背景:开源的模型与商业模型(ChatGPT)在生产场景任然有较大差距,
    Agent把LLM当做核心的控制器来完成任务的规划,记忆和工具的使用,这些都需要依赖于细粒度的Prompt,又需要强大的llm来获得满意的性能。
    现有的llm agent的能力主要关注与 prompt的设计或者构建框架来完成某一个特定的任务,而没有从根本上提升llm自身的通用Agent的能力,
    AgentTuning 即可增强llm的agent能力,又能保持其通用的llm的能力,
    方法:搜集 包含告质量的交互轨迹的 指令微调(prompt turning) 数据集AgentInstruction
    使用混合指令微调策略 将 数据集AgentInstruction 与 通用领域的开源指令相结合

    AutoGen Studio
    微软发布的 建立在AutoGen之上的 提供用户界面应用程序
    促进多智能体 工作流的快速设计 并提供展示界面 但是还不能用于生产

    Swarm 蜂群
    openai 最近发布 ,多智能体肯定是未来重要的研究方向,
    实验性质的多智能体编排框架,主打的特征是 ergonomic(高效) lightweight(轻量)
    重点:让智能体的协作和执行变得轻量 可控 和 易于测试
    2个元语抽象 Agent handoff(交接),'智能体'包含指令以及工具 并且在任何时间都可以选择将对话'交接'给另外一个智能体,
    适合处理存在大量独立功能和指令的情况--很难编码成单个提示实现。
    如果开发者想要完全的透明,并且能够细粒度的控制上下文,步骤以及工具的调用,swarm就是最佳的选择

    核心组件:
    	Client:client=Swarm()实例化一个客户端,本质上是OpenAi的客户端, client.run() 类似于Chat Completions API 的chat.completion.create()
    			但是重点在于,run() 还处理Agent函数的执行,交接,上下文变量引用 并且可以在返回response之前进行多轮执行。
    			本质是运行了一个如下的循环:
    			1. 先让当前的Agent完成一个结果,
    			2. 执行工具调用并附加结果
    			3. 如果有必要 切换智能体
    			4. 如有必要 更新上下文的变量
    			5. 如没有新的函数需要调用, 返回
    	Agent:	将一组指令 与 一组函数 封装在一起 有能力将执行过程交接给另一个Agent	
    

    Chat Completions API
    链接:https://medium.com/the-ai-archives/getting-started-with-openais-chat-completions-api-in-2024-462aae00bf0a
    之前有 assistant api 用于开发智能助手 (页面GPTS 实现0代码 生成 智能助手)
    this API connects users to the most basic and fundamental features of ChatGPT. It acts as the bridge that connects applications to people, enabling the generation of human-like text responses based on user input。

    from openai import OpenAI
    client = OpenAI()
    response = client.chat.completions.create(
      model="gpt-3.5-turbo",
      messages=[
    	{"role": "system", "content": "You are a helpful assistant."},
    	{"role": "user", "content": "Who won the world series in 2020?"},
    	{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
    	{"role": "user", "content": "Where was it played?"}
      ]
    )
    response:
    {
      "choices": [
    	{
    	  "finish_reason": "stop",
    	  "index": 0,
    	  "message": {
    		"content": "The 2020 World Series was played in Texas at Globe Life Field in Arlington.",
    		"role": "assistant"
    	  },
    	  "logprobs": null
    	}
      ],
      "created": 1677664795,
      "id": "chatcmpl-7QyqpwdfhqwajicIEznoc6Q47XAyW",
      "model": "gpt-3.5-turbo-0613",
      "object": "chat.completion",
      "usage": {
    	"completion_tokens": 17,
    	"prompt_tokens": 57,
    	"total_tokens": 74
      }
    }
    	
    the official OpenAI quickstart guide that is available on GitHub: https://github.com/openai/openai-quickstart-python/tree/master/examples/chat-basic
    an additional GitHub repo	:https://github.com/logankilpatrick/ChatGPT-Simple
    

    标签:--,模型,Agent,智能,任务,agent,llm,AIAgent
    From: https://www.cnblogs.com/cavalier-chen/p/18467462

    相关文章

    • 2024/10/15第三次人工智能
      一:从教育者角度理解AI规则基础系统(教学大纲和课程设置)2.机器学习(学生通过练习提高技能)3.深度学习(高阶思维能力的培养)4.预训练(扩充语料库/学生在正式教育前的知识积累)5.微调(针对特定任务的专业训练/学科专业化)6.推理(模型根据输入生成输出文本/学生解答问题的过程......
    • 2024/10/15人工智能教育技术学-
      目标:以教育者的角度了解AI(技术/机器-教育)-(了解专业术语)规则基础系统-教学大纲和课程设置机器学习-学生通过练习提高能力深度学习-高阶思维能力的培养预训练:扩充语料库-学生在正式教育前的知识积累(包括通识课)微调:针对特定任务的专门训练-学科专业化推理:模型根据输入形成输出......
    • 10.15 人工智能学习内容
      从教育者角度来理解AI1.规则基础系统(教学大纲和课程设置)2.机器学习(学生通过练习提高技能)3.深度学习(高阶思维能力的培养)【预训练】·扩充语料库·学生在正式教育前的知识积累【微调】·针对特定任务的专门训练·学科专业化【推理】·模型根据输入生成输出文本·学生解......
    • 智能AI对话绘画二合一源码系统 内置所有大模型的接口 带完整的安装代码包以及搭建部署
      系统概述人工智能技术的飞速发展,越来越多的创新应用正在改变着我们的生活。本文将向大家介绍一款集成了智能对话与创意绘画功能的开源项目——“智能AI对话绘画二合一源码系统”。它不仅融合了最新的自然语言处理(NLP)和计算机视觉技术,还为开发者提供了从零开始构建自己专属AI服......
    • SpringBoot实现桂林旅游的智能推荐
      3系统分析3.1可行性分析通过对本桂林旅游景点导游平台实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本桂林旅游景点导游平台采用SSM框架,JAVA作为开发语言,是基于WEB平......
    • 在K8S中,CSI模型有哪些?
      在Kubernetes(K8s)中,ContainerStorageInterface(CSI)模型是用来集成外部存储系统的标准化方法。CSI模型的主要组成部分包括:CSIDriver(驱动程序):CSIDriver是由存储提供商编写的,它实现了CSI规范中定义的API接口。每个存储提供商都需要为其产品提供一个或多个CSIDrivers,以......
    • 基于LSTM-Transformer混合模型实现股票价格多变量时序预测(PyTorch版)
      前言系列专栏:【深度学习:算法项目实战】✨︎涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对抗网络、门控循环单元、长短期记忆......
    • 智能EDA小白从0开始 —— DAY22 PyAether深度解析与技术展望
      引言:技术革新与行业需求的碰撞在半导体行业快速发展的今天,芯片设计的复杂性和对效率的要求日益提升。传统的芯片设计工具和方法已经难以满足当前行业的需求,特别是在面对大规模、高性能芯片的设计时,设计师们面临着前所未有的挑战。正是在这样的背景下,华大九天推出了基于Python......
    • 上百种【基于YOLOv8/v10/v11的目标检测系统】目录(python+pyside6界面+系统源码+可训练
      待更新(持续更新),早关注,不迷路...............................................................................目标检测系统操作说明【用户使用指南】(python+pyside6界面+系统源码+可训练的数据集+也完成的训练模型)基于YOLOv8的车辆行人实时检测系统基于YOLOv10的车辆行人......
    • 本地部署ComfyUI并添加强大的Flux.1开源文生图模型远程制作AI图片
      文章目录前言1.本地部署ComfyUI2.下载Flux.1模型3.下载CLIP模型4.下载VAE模型5.演示文生图6.公网使用Flux.1大模型6.1创建远程连接公网地址7.固定远程访问公网地址前言本文将详细介绍如何在本地部署ComfyUI并搭建Flux.1文生图神器,......