长治电子商务网站建设/微信上如何投放广告

长治电子商务网站建设,微信上如何投放广告,做钢结构网站有哪些,自学网页设计的网站多个不同的角色的Agent,共同完成一份复杂的工作。由一个统筹管理的智能体,自主规划多个智能体分别做什么,以及执行的顺序。 agent 应该包含的属性 执行特定任务 根据其角色和目标做出决策 能够使用工具来实现目标 与其他代理沟通和协作 保留…

多个不同的角色的Agent,共同完成一份复杂的工作。由一个统筹管理的智能体,自主规划多个智能体分别做什么,以及执行的顺序。

agent 应该包含的属性

执行特定任务

根据其角色和目标做出决策

能够使用工具来实现目标

与其他代理沟通和协作

保留互动记忆

在允许的情况下委派任务

如何协作是关键

  1. 条件自主:通过编码,顺序执行。
  2. 高度自主:能够自行决定不同角色Agent的是否要执行,以及执行顺序。

主要关注的点:

1、自主性

2、开发人员能够控制的精度 (可编码改造)

一、汇总

特性

AutoGen

agentScope

Swarm

CrewAI

LangGraph

时间 & star

2023.05

star 36.4k

2024.02

star 5.6k

2024.10

star 17.2k

2024年

star 22.9k

2023.01

star 7.5k

框架类型

对话智能体

角色智能体

角色智能体

角色智能体

基于图的智能体

自主性

高度自主

条件自主

条件自主

高度自主

条件自主

协作

集中式群聊

群聊

任务传递

具有角色和目标的自主智能体

基于条件的循环图

执行

由专用智能体管理

任务传递

动态委托,但可以定义层次化流程

所有智能体都可以执行

适用场景

原型设计

从开发到生产

详细控制场景

二、已有多智能体框架

2.1 AutoGen (微软)

2023.05

star 36.4k

GitHub - microsoft/autogen: A programming framework for agentic AI 🤖 PyPi: autogen-agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour

AutoGen 专注于对话智能体,提供对话作为多智能体协作的能力。它的设计理念围绕着模拟小组讨论,智能体发送和接收消息以启动或继续对话。

AutoGen 是一个用于构建 AI 代理系统的开源框架。它简化了事件驱动、分布式、可扩展且具有弹性的代理应用程序的创建。它允许您快速构建 AI 代理协作并自主或在人工监督下执行任务的系统。

autoGen 中定义的多智能体的模式

并发:通过传递消息给多种智能体。来执行

Concurrent Agents — AutoGen

顺序工作流,按顺序执行

Sequential Workflow — AutoGen

群聊:多个智能体,还有一个群聊管理器,群聊管理器,决定谁来发言。

群聊是一种设计模式,其中一组代理共享一个共同的消息线程:他们都订阅并发布同一主题。每个参与代理都专门负责一项特定任务,例如在协作写作任务中担任作家、插画师和编辑。您还可以添加一个代理来代表人类用户,以便在需要时帮助指导代理。在群聊中,参与者轮流发布消息,并且该过程是连续的——每次只有一个代理在工作。在后台,轮流顺序由群聊管理器代理维护,该代理在收到消息后选择下一个发言的代理。选择下一个代理的具体算法可能因您的应用程序要求而异。通常,使用循环算法或具有 LLM 模型的选择器。群聊可用于将复杂任务动态分解为较小的任务,这些任务可以由具有明确角色的专门代理来处理。还可以将群聊嵌套成层次结构,每个参与者都是一个递归群聊。

Group Chat — AutoGen

多智能体辩论

Multi-Agent Debate — AutoGen

2.2 AgentScope

2024.02

star 5.6k

文档:

AgentScope 文档 — AgentScope 文档

实现狼人杀的示例代码

样例:狼人杀游戏 — AgentScope 文档

https://img.alicdn.com/imgextra/i3/O1CN01n2Q2tR1aCFD2gpTdu_!!6000000003293-1-tps-960-482.gif

2.3 Swarm (openAI)

2024.10

star 17.2k

Swarm框架本身并不具备自我感知任务变化的能力。它依赖于开发者定义的智能体(Agent)和交接(Handoff)机制来管理和协调任务。智能体可以封装指令和工具,并能够独立执行任务或与其他智能体协作。当一个智能体遇到无法独立处理的任务时,它可以通过交接机制将任务传递给另一个智能体。这种设计允许智能体之间根据任务需求和能力匹配进行动态调整,确保任务能够以最高效的方式完成,但这需要开发者预先定义智能体的行为和交接逻辑。因此,Swarm框架的灵活性和适应性取决于开发者如何设计和实现智能体及其交互,而不是框架自身具备感知任务变化的能力。

swarm 集成了langchain的工具

示例:

from swarm import Agent# 定义一个函数用于处理指定商品的退款
def process_refund(item_id, reason="NOT SPECIFIED"):"""
    处理商品退款。    参数:
        item_id (str): 要退款的商品唯一标识。
        reason (str): 退款原因,默认值为 "NOT SPECIFIED"。    返回:
        str: 表示退款成功的消息。
    """print(f"[mock] Refunding item {item_id} because {reason}...")return "Success!"# 定义一个函数用于对用户的购物车应用折扣
def apply_discount():"""
    对用户的购物车应用折扣。    返回:
        str: 表示折扣成功应用的消息。
    """print("[mock] Applying discount...")return "Applied discount of 11%"# 创建一个分诊代理,用于将用户请求分配给合适的代理
triage_agent = Agent(
    name="Triage Agent",
    instructions="判断哪个代理最适合处理用户的请求,并将对话转移到该代理。",
)# 创建一个销售代理,用于处理与销售相关的用户请求
sales_agent = Agent(
    name="Sales Agent",
    instructions="对销售蜜蜂表现出极大的热情。",
)# 创建一个退款代理,用于处理与退款相关的用户请求
refunds_agent = Agent(
    name="Refunds Agent",
    instructions=("帮助用户处理退款。如果退款原因是价格太贵,提供用户一个退款代码。""如果用户坚持,则处理退款。"),
    functions=[process_refund, apply_discount],
)# 定义一个函数,如果用户提到的主题不在当前代理的职责范围内,则调用该函数将请求转回分诊代理
def transfer_back_to_triage():"""
    当用户的请求超出当前代理的处理范围时调用此函数,将请求转回分诊代理。    返回:
        Agent: 分诊代理实例。
    """return triage_agent# 定义一个函数,用于将请求转移到销售代理
def transfer_to_sales():"""
    将请求转移到销售代理。    返回:
        Agent: 销售代理实例。
    """return sales_agent# 定义一个函数,用于将请求转移到退款代理
def transfer_to_refunds():"""
    将请求转移到退款代理。    返回:
        Agent: 退款代理实例。
    """return refunds_agent# 为分诊代理添加转移到销售和退款代理的功能
triage_agent.functions = [transfer_to_sales, transfer_to_refunds]# 为销售代理添加转移回分诊代理的功能
sales_agent.functions.append(transfer_back_to_triage)# 为退款代理添加转移回分诊代理的功能
refunds_agent.functions.append(transfer_back_to_triage)

2.4 CrewAI

2024年

star 22.9k

文档:Introduction - CrewAI

CrewAI 是一个用于协调角色扮演、自主 AI 代理的框架。它使代理能够无缝协作,通过协作智能处理复杂任务。

crewAI中支持的任务执行顺序,顺序执行,分层执行

串行执行示例

from crewai import Crew, Process, Agent, Task, TaskOutput, CrewOutput# Define your agents
researcher = Agent(
  role='Researcher',
  goal='Conduct foundational research',
  backstory='An experienced researcher with a passion for uncovering insights'
)
analyst = Agent(
  role='Data Analyst',
  goal='Analyze research findings',
  backstory='A meticulous analyst with a knack for uncovering patterns'
)
writer = Agent(
  role='Writer',
  goal='Draft the final report',
  backstory='A skilled writer with a talent for crafting compelling narratives'
)# Define your tasks
research_task = Task(
  description='Gather relevant data...', 
  agent=researcher, 
  expected_output='Raw Data'
)
analysis_task = Task(
  description='Analyze the data...', 
  agent=analyst, 
  expected_output='Data Insights'
)
writing_task = Task(
  description='Compose the report...', 
  agent=writer, 
  expected_output='Final Report'
)# Form the crew with a sequential process
report_crew = Crew(
  agents=[researcher, analyst, writer],# 任务的顺序
  tasks=[research_task, analysis_task, writing_task],# 任务的执行顺序 顺序执行
  process=Process.sequential
)# Execute the crew
result = report_crew.kickoff()# Accessing the type-safe output
task_output: TaskOutput = result.tasks[0].output
crew_output: CrewOutput = result.output

分层执行示例

from langchain_openai import ChatOpenAI
from crewai import Crew, Process, Agent# Agents are defined with attributes for backstory, cache, and verbose mode
researcher = Agent(
    role='Researcher',
    goal='Conduct in-depth analysis',
    backstory='Experienced data analyst with a knack for uncovering hidden trends.',
    cache=True,
    verbose=False,
    # tools=[]  # This can be optionally specified; defaults to an empty list
    use_system_prompt=True,  # Enable or disable system prompts for this agent
    max_rpm=30,  # Limit on the number of requests per minute
    max_iter=5  # Maximum number of iterations for a final answer
)
writer = Agent(
    role='Writer',
    goal='Create engaging content',
    backstory='Creative writer passionate about storytelling in technical domains.',
    cache=True,
    verbose=False,
    # tools=[]  # Optionally specify tools; defaults to an empty list
    use_system_prompt=True,  # Enable or disable system prompts for this agent
    max_rpm=30,  # Limit on the number of requests per minute
    max_iter=5  # Maximum number of iterations for a final answer
)# Establishing the crew with a hierarchical process and additional configurations
project_crew = Crew(
    tasks=[...],  # Tasks to be delegated and executed under the manager's supervision
    agents=[researcher, writer],
    manager_llm=ChatOpenAI(temperature=0, model="gpt-4"),  # Mandatory if manager_agent is not set
    process=Process.hierarchical,  # Specifies the hierarchical management approach
    respect_context_window=True,  # Enable respect of the context window for tasks
    memory=True,  # Enable memory usage for enhanced task execution
    manager_agent=None,  # Optional: explicitly set a specific agent as manager instead of the manager_llm
    planning=True,  # Enable planning feature for pre-execution strategy
)

三、超级经典的案例-最近火热的deep-research

二月份初,从openai公布了deep-research开始,deep-research就开始变得非常火热。其实这个就是一个非常典型的多智能体协作的案例。定义了web查询智能体、代码执行智能体、文件检索智能体、写作智能体,还有规划问题的智能体。

auto-deep-research

特点

Auto-Deep-Research 是基于 AutoAgent多智能体框架构建的deep research产品。

评测效果

在通用AI助手评测GAIA中位列全球第三,是开源方案中的最优解。

多智能体框架

https://github.com/HKUDS/AutoAgent

系统采用模块化多Agent架构,通过Orchestrator Agent动态调度任务

模块功能技术特性
Web Agent深度网络搜索与文献抓取支持浏览器Cookies导入,突破学术资源访问限制
Coding Agent代码生成与优化(Python/R脚本调试、可视化优化、容器化部署)实现自动化编程与调试,支持Docker一键部署
Local File Agent多格式文件解析(PDF/CSV/XLSX等12种格式)自动转换为Markdown统一处理,支持200+页PDF深度解析

agent示例

def get_filesurfer_agent(model: str = "gpt-4o", **kwargs):def handle_mm_func(tool_name, tool_args):return f"After using tool {tool_name}({tool_args}), I have opened the image I want to see and prepared a question according to the image. Please answer the question based on the image."def instructions(context_variables):file_env: RequestsMarkdownBrowser = context_variables.get("file_env", None)assert file_env is not None, "file_env is required"return \
f"""
You are a file surfer agent that can handle local files.You can only access the files in the folder `{file_env.docker_workplace}` and when you want to open a file, you should use absolute path from root like `{file_env.docker_workplace}/...`.Note that `open_local_file` can read a file as markdown text and ask questions about it. And `open_local_file` can handle the following file extensions: [".html", ".htm", ".xlsx", ".pptx", ".wav", ".mp3", ".flac", ".pdf", ".docx"], and all other types of text files. But IT DOES NOT HANDLE IMAGES, you should use `visual_question_answering` to see the image. If the converted markdown text has more than 1 page, you can use `page_up`, `page_down`, `find_on_page_ctrl_f`, `find_next` to navigate through the pages.When you think you have completed the task the `System Triage Agent` asked you to do, you should use `transfer_back_to_triage_agent` to transfer the conversation back to the `System Triage Agent`. And you should not stop to try to solve the user's request by transferring to `System Triage Agent` only until the task is completed.If you are unable to open the file, you can transfer the conversation back to the `System Triage Agent`, and let the `Coding Agent` try to solve the problem by coding.
"""tool_list = [open_local_file, page_up_markdown, page_down_markdown, find_on_page_ctrl_f, find_next, visual_question_answering]return Agent(name="File Surfer Agent",model=model, instructions=instructions,functions=tool_list,handle_mm_func=handle_mm_func,tool_choice = "required", parallel_tool_calls = False)

优势

在多智能体框架下,有非常好的扩展性,只需要定义和实现一些具有特色功能的agent,就能扩展功能。

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

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

相关文章

Metal 学习笔记四:顶点函数

到目前为止,您已经完成了 3D 模型和图形管道。现在,是时候看看 Metal 中两个可编程阶段中的第一个阶段,即顶点阶段,更具体地说,是顶点函数。 着色器函数 定义着色器函数时,可以为其指定一个属性。您将在本…

pycharm技巧--鼠标滚轮放大或缩小 Pycharm 字体大小

1、鼠标滚轮调整字体 设置 Ctrl 鼠标滚轮调整字体大小 备注: 第一个是活动窗口,即缩放当前窗口 第二个是所有编辑器窗口,即缩放所有窗口的字体 2、插件 汉化包: Chinese Simplified 包

硬件工程师入门教程

1.欧姆定律 测电压并联使用万用表测电流串联使用万用表,红入黑出 2.电阻的阻值识别 直插电阻 贴片电阻 3.电阻的功率 4.电阻的限流作用 限流电阻阻值的计算 单位换算关系 5.电阻的分流功能 6.电阻的分压功能 7.电容 电容简单来说是两块不连通的导体加上中间的绝…

edge浏览器将书签栏顶部显示

追求效果,感觉有点丑,但总归方便多了 操作路径:设置-外观-显示收藏夹栏-始终

【SPIE出版,见刊快速,EI检索稳定,浙江水利水电学院主办】2025年物理学与量子计算国际学术会议(ICPQC 2025)

2025年物理学与量子计算国际学术会议(ICPQC 2025)将于2025年4月18-20日在中国杭州举行。本次会议旨在汇聚全球的研究人员、学者和业界专家,共同探讨物理学与量子计算领域的最新进展与前沿挑战。随着量子技术的快速发展,其在信息处…

谷歌浏览器更新后导致的刷新数据无法显示

这几天突然出现的问题,就是我做了一个网站,一直用Google展示,前两天突然就是刷新会丢失数据,然后再刷新几次吧又有了,之前一直好好的,后端也做了一些配置添加了CrossOrigin注解,然而换了edge浏览…

软件需求管理办法,软件开发管理指南(Word原件)

1. 目的 2. 适用范围 3. 参考文件 4. 术语和缩写 5. 需求获取的方式 5.1. 与用户交谈向用户提问题 5.1.1. 访谈重点注意事项 5.1.2. 访谈指南 5.2. 参观用户的工作流程 5.3. 向用户群体发调查问卷 5.4. 已有软件系统调研 5.5. 资料收集 5.6. 原型系统调研 5.6.1. …

利用python和gpt写一个conda环境可视化管理工具

最近在学习python,由于不同的版本之间的差距较大,如果是用环境变量来配置python的话,会需要来回改,于是请教得知可以用conda来管理,但是conda在管理的时候老是要输入命令,感觉也很烦,于是让gpt帮…

【复习】计算机网络

网络模型 OSI 应用层:给应用程序提供统一的接口表示层:把数据转换成兼容另一个系统能识别的格式会话层:负责建立、管理、终止表示层实体之间的通信会话传输层:负责端到端的数据传输网络层:负责数据的路由、转发、分片…

Redis——用户签到BitMap,UV统计

目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器(Bloom Filter) BitMap介绍 Redis中的使用 Redis功能示例 添加: 获取: 批量获取: java中实现 统计本月连续签到次数 UV统计 UV 统计…

【SpringBoot AI 集成DeepSeek 大模型API调用】

当DeepSeek开始盛行,提供强大的大语言模型,界面调用不能满足我们的需要,同时提供API接口供我们在服务中调用,来实现各种AI场景。 我们通过将DeepSeek的AI能力与SpringBoot AI相结合,实现智能聊天、问答机器人&#xf…

汽车智能制造企业数字化转型SAP解决方案总结

一、项目实施概述 项目阶段划分: 蓝图设计阶段主数据管理方案各模块蓝图设计方案下一阶段工作计划 关键里程碑: 2022年6月6日:项目启动会2022年12月1日:系统上线 二、总体目标 通过SAP实施,构建研产供销协同、业财一…

<网络> UDP协议

目录 传输层 再谈端口号 端口号范围划分 认识知名端口号 两个问题 netstat与iostat pidof UDP协议 UDP协议格式 UDP数据封装: UDP数据分用: UDP协议的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协 传输层 在学习HTTP等应用层协议时&…

大模型面试基础问题

1.1.1 最主流的开源模型? ChatGLM-6B[1] prefix LM LLaMA-7B[2] causal LM 1.1.2 prefix LM和causal LM的区别? 1.1.2.1 Prefix LM Prefix LM,即前缀语言模型,该结构是Google的T5模型论文起的名字,望文知义来说&…

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是国内视频行业最重要的国家标准,目前有三个版本: 2011 年:推出 GB/T 28181-2011 版本,为安防行业的前端设备、平…

go基本语法

跟Java比较学习。 hello word 示例代码 test1.go文件: // 包路径 package main// 导入模块,下面两种都行 import ("fmt" ) import "log"// main方法 func main() {log.Print("hello word !!!")fmt.Print("hello …

【Docker】如何在Linux、Windows、MacOS中安装Docker

Linux安装Docker 在终端中执行一键安装脚本命令安装docker sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun1.1 配置docker镜像源 在终端执行 一行命令,编辑配置文件 sudo …

2.24力扣-回溯电话号码的字母组合

17. 电话号码的字母组合 - 力扣&#xff08;LeetCode&#xff09; class Solution {List<String> ans new LinkedList<>();StringBuilder temp new StringBuilder();public List<String> letterCombinations(String digits) {if(digitsnull || digits.leng…

Cocos Creator Shader入门实战(一):材质和Effect的了解

引擎版本&#xff1a;3.8.5 环境&#xff1a; Windows 简介 在Cocos Creator中&#xff0c;游戏炫彩缤纷的效果是借助着色器(Shader)来实现的。 Cocos主要基于OpenGL ES&#xff0c;而Shader的编写则是在可编程渲染管线中基于修改&#xff1a;顶点着色器(Vertex) 和 片段着色…

《数据库索引设计与优化》译本错误纠正(1)

今天在学习《数据库索引设计与优化》第十一章第198页的时候遇到一个问题&#xff0c;即参数的文字描述与实际不符。我看的是从网络上找到的译本&#xff0c;许多喜欢白嫖的朋友可能也会像我一样遇到这种问题。 可以看到&#xff0c;上面对参数Z的描述是&#xff1a;Z上一次索引…