调用云端Qwen系列大模型(TURBO、PLUS、MAX和MAX_LATEST)在国际商业咨询智能体场景的实践探索

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
NLP自然语言处理_基础版,每接口每天50万次
简介: 本文介绍了一项基于Qwen系列大模型的多智能体在商业咨询领域的应用案例,旨在为NASA与SpaceX合作的火星移民计划提供专业支持。通过搭建一个多智能体系统,模拟中国航天员、NASA研究员和企业方在虚拟空间中的协作,确保方案满足马斯克的高标准。该方案采用不同类型的Qwen模型(如MAX、PLUS、 TURBO、MAX LASTEST等),以优化性能和成本效益。最终,通过CAMEL-AI框架确定了火星移民计划和详细的飞行路线图方案。并展示了Qwen系列大模型在实际商业应用中的潜力和优势。项目视频和代码示例进一步验证了方案的可行性和实用性。

引言

因涉及商业敏感信息,不便公开,借用故事形式讲述。本故事纯属虚构,如有雷同,纯属巧合。

12月11日,NASA最新公布一项未来20年火星探索计划,埃隆·马斯克(Elon Musk)准备与NASA合作共同设计火星移民计划。SpaceX的高级项目经理,约翰·史密斯(John Smith)是具体负责该项计划的。他找到我们,希望我们能为他们完善这一宏伟计划。考虑到马斯克的挑剔性格,约翰·史密斯希望我们设计的计划要尽可能专业、周全,并且符合马斯克的个性化要求。

image

一、多智能体咨询方案

我公司采用Qwen的系列大模型来搭建一个多智能体的策划小组,采用中国航天员、美国NASA研究员和企业的数字分身,在虚拟的数字空间里进行一场计划的策划。

由企业方提出计划设想和需求,由美国NASA研究员给出多个可行性计划,最终让中国航天员运用丰富的实践经验来评估由美国NASA研究员提出的提案,并选择最佳的下一步行动。确保约翰·史密斯的方案能够满足马斯克对于火星移民计划的高标准和期望。

同时,我们还要特别留意模型调用成本,因此,选择适合业务场景的模型就成为非常重要的一个现实考量。

二、Qwen系列大模型

9月19日,阿里云发布了通义千问Qwen2.5,它在AI领域展现了强大的Agent方向探索能力,包括灵活的Tool调用、单/多Agent场景实践等开源系列。它能够无缝集成各类工具,拓展自身能力范畴,还支持在流式调用时,使用functioncall。以下是我们采用的四个千问模型。

1、QWEN MAX

QWEN MAX是通义千问2.5系列千亿级别超大规模语言模型,支持中文、英文等不同语言输入。它拥有最大的模型规模和最复杂的算法,能够处理极其复杂的数据分析和决策任务。QWEN MAX在自然语言处理、图像识别和语音识别等多个领域都展现出卓越的性能,能够理解和生成接近人类水平的内容。 在做策划咨询方案时首选该模型。

  • 模型规模:QWEN MAX提供了丰富的配置,包括0.5B、1.5B、3B、7B、14B、32B和72B参数的基础模型和指令调整模型。
  • 预训练数据:预训练数据从7万亿个token扩展到18万亿个token,增强了常识、专家知识和推理能力。
  • 性能表现:QWEN-72B在所有任务上均超越了LLaMA2-70B的性能,在10项任务中的7项任务中超越GPT-3.5。
  • 经济性:模型调用-输入¥0.02/text_token(千个)、模型调用-输出¥0.06/text_token(千个)

2、QWEN PLUS

QWEN PLUS在保持较高处理能力的同时,更加注重能效比,适合长时间运行的应用。它在保证性能的同时,优化了资源消耗,使其在大规模数据处理和持续服务中表现出色,性价比较高,尤其适合需要长时间稳定运行的商业场景。

  • 模型规模:QWEN PLUS提供了包括14B和32B参数的模型。
  • 性能表现:QWEN-Plus在广泛的任务中实现了顶级性能,适用于需要高级推理和深刻理解的复杂任务。
  • 经济性:模型调用-输入¥0.0008/text_token(千个)、模型调用-输出¥0.002/text_token(千个),提供了成本效益高的服务。

3、 QWEN TURBO

QWEN TURBO特别优化了响应速度,适合需要快速反馈的场景。无论是在对话系统还是实时数据处理中,QWEN TURBO都能提供几乎即时的反馈,极大地提升了用户体验和系统的响应效率。这适合给商业客户做快速的响应。

  • 模型规模:QWEN TURBO提供了快速且准确度高的响应,适合实时应用。
  • 性能表现:QWEN-Turbo在短文本任务上的性能接近GPT-4o-mini,同时能支持其8倍长度的上下文。
  • 经济性:模型调用-输入¥0.0003/text_token(千个)、模型调用-输出¥0.0006/text_token(千个),提供了极具竞争力的性能和成本效益。

4、QWEN MAX Latest

WEN MAX Latest是最新款,集成了最新的技术进展,它不仅在性能上有所提升,而且在算法的创新和应用的广泛性上都有显著的突破,能够应对真实商业场景中更加复杂和多变的需求。 QWEN-Max-Latest采用了最新的神经网络架构,包括Transformer和BERT的变体,以提高模型的理解和生成能力。

  • 模型规模:100B
  • 性能表现::支持高达128K的上下文长度,最多可生成8K的内容。在多个权威基准测试中表现接近GPT-4o,特别是在数学能力和代码能力上,甚至超越了GPT-4o。
  • 价格:模型调用-输入¥0.02/text_token(千个)、模型调用-输出¥0.06/text_token(千个)。


三、多智能体咨询工作组的搭建

多智能体系统(Multi-Agent System, MAS)是一种由多个相互作用的智能体组成的系统,它们可以协同工作以解决复杂的问题。这种系统在人工智能领域中越来越受到重视,因为它们能够模拟真实世界中的多主体交互,提供更加灵活和强大的问题解决能力。

(一)框架选型

我们采用Camel-ai的多智能体框架里的Society来实现。Camel-ai的Society通过模拟智能体之间的社会行为,提供了一个强大的框架,使智能体能够协作完成复杂的任务,同时保持与人类意图的一致性,并最小化人工干预。通过RolePlaying和BabyAGI框架,Camel-ai能够模拟智能体之间的信息交换和协作,为多智能体系统、合作人工智能、博弈论模拟、社会分析和人工智能伦理等领域的研究和开发提供了一个灵活的平台。

在这个框架中,智能体可以形成一个“社会”,每个智能体都有自己的角色和职责,共同为整个系统的运行做出贡献。这种模拟人类社会的组织方式,使得智能体能够更加自然地协作和交流,提高了整体的智能水平。

在本次项目中,我们使用了Camel-ai的RolePlaying来做整个咨询工作组的框架。

1、RolePlaying

这是一个独特的合作智能体框架,它允许智能体通过模拟角色扮演的方式来克服在对话过程中出现的错误现象,有效引导智能体完成各种复杂的任务。它的实现涉及到任务细化器(Task Specifier),它会根据输入的想法来制定一个较为详细的实现步骤。随后,AI助理智能体(AI Assistant)和AI用户智能体(AI User)通过聊天的方式来进行协作通信,各自一步步完成指定的任务。

2、Critic Agents机制

此外,我们还引入Critic Agents和Tree Search机制,增强了智能体在复杂任务解决中的表现。Critic Agents在RolePlaying框架中扮演着关键的辅助角色,它们负责从智能体提出的建议中选择最佳方案,并提供有信息量的口头反馈给参与角色扮演的智能体。:Critic Agents通过系统消息(System Message)来明确其角色和任务,这些消息定义了Critic Agents的选择标准和行为准则。

3、Tree Search机制

Tree Search机制是借鉴了蒙特卡洛树搜索(MCTS)方法,在RolePlaying框架中启发式树搜索,来解决实际商业中的复杂任务。

(二)设立咨询小组讨论方案(火星移民地建设方案)

1、创建依赖和Qwen大模型

调用百炼平台的大模型通义千问API,传回流式回答文字。

import os
from camel.agents import CriticAgent
from camel.generators import SystemMessageGenerator as sys_msg_gen
from camel.messages import BaseMessage as bm
from camel.types import RoleType
from camel.societies import RolePlaying
from camel.models import ModelFactory
from camel.configs import QwenConfig
from camel.types import TaskType,ModelPlatformType, ModelType
from colorama import Fore
from camel.utils import print_text_animated

model_max = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_MAX,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

model_plus = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_PLUS,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

model_turbo = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_TURBO,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

model_max_latest = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_MAX_LATEST,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

2、设置任务提示的角色

选择QWEN TURBO,对项目整体来说,响应速度更快,项目执行效率更高。

task_kwargs = {
    'task_prompt': '制定一项太空旅行和火星移民计划的方案',
    'with_task_specify': True,
    'task_specify_agent_kwargs': {'model': model_turbo}
}

3、设置SpaceX企业用户的角色

选择QWEN PLUS模型,对企业来说性价比更高

user_role_kwargs = {
    'user_role_name': '一家从事太空旅行和火星移民计划的公司',
    'user_agent_kwargs': {'model': model_plus}
}

4、设置NASA研究员的角色

选择QWEN MAX模型,通义千问2.5系列千亿级别超大规模语言模型,能够处理复杂的数据分析工作。

assistant_role_kwargs = {
    'assistant_role_name': '一位经验丰富的NASA研究员',
    'assistant_agent_kwargs': {'model': model_max}
}

5、设置中国航天员的角色

选择QWEN MAX LATEST模型,比 MAX有更强的推理能力,适合从事极其复杂的决策任务

critic_role_kwargs = {
    'with_critic_in_the_loop': True,
    'critic_criteria': '评判决策并提高任务的表现',
    'critic_kwargs': dict(verbose=True)
}

6、设置咨询小组。

society = RolePlaying(
    model=model_max_latest,    
    **task_kwargs,            
    **user_role_kwargs,        
    **assistant_role_kwargs,   
    **critic_role_kwargs,     
    output_language="Chinese",
)

7、启动小组讨论

def run(society, round_limit: int=10):

    input_msg = society.init_chat()

    for _ in range(round_limit):

        assistant_response, user_response = society.step(input_msg)

        if is_terminated(assistant_response) or is_terminated(user_response):
            break

        # Get the results
        print(f'[AI User] {user_response.msg.content}.\n')
        print(f'[AI Assistant] {assistant_response.msg.content}.\n')

        if 'CAMEL_TASK_DONE' in user_response.msg.content:
            break

        input_msg = assistant_response.msg

    return None

run(society)

8、咨询小组讨论过程

程序运行可见视频链接:https://www.bilibili.com/video/BV15X68YnEjT/

web展示见下方截图

截屏2024-12-29 08.12.32.png

截屏2024-12-29 08.14.41.png

截屏2024-12-29 08.38.05.png

(三)制定具体任务方案——火星飞行路线图

经过咨询小组选定方案后,接下里就是制定具体的执行方案了。我们也为SpaceX公司设计了执行具体任务的多智能体咨询方案。

我们这次采用BabyAGI框架,它是一种将多个智能体集成在一起,模拟人类智能的方式。通过这种方式,智能体可以学习如何更好地协作和解决问题。BabyAGI通过集成多个专有智能体,形成了一个更加全面和强大的智能系统,能够处理更加复杂和多变的任务。 

我们向系统提出一个目标之后,它将不断优先考虑需要实现或完成的任务,以实现该目标。具体来说,系统将形成任务列表,从任务列表中拉出优先级最高的第一个任务,然后使用Qwen API根据上下文将任务发送到执行代理并完成任务,一旦这些任务完成,它们就会被存储在内存中,然后,根据目标和上一个任务的结果创建新任务并确定优先级。


1、导入依赖和建立模型

import os

from colorama import Fore
from camel.societies import BabyAGI
from camel.utils import print_text_animated
from camel.configs import QwenConfig
from camel.models import ModelFactory
from camel.types import TaskType,ModelPlatformType, ModelType

model_max = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_MAX,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

model_plus = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_PLUS,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

model_turbo = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_TURBO,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

model_max_latest = ModelFactory.create(
    model_platform=ModelPlatformType.QWEN,
    model_type=ModelType.QWEN_MAX_LATEST,
    api_key=os.environ.get("OPENAI_COMPATIBILIY_API_KEY"),
    url=os.environ.get("OPENAI_COMPATIBILIY_API_BASE_URL"),
    model_config_dict=QwenConfig(temperature=0.2).as_dict(),
)

2、 确定任务

task_prompt = "制定航天器飞向火星的飞行路线图"

3、初始化主函数

共有四个角色,根据需要分别配置不同模型。

(1) TASK SPECIFY AGENT任务总管智能体

它是整项工作的核心,它利用Qwen的API来处理任务。它向Qwen的API发送目标提示,并以字符串形式返回任务结果。因此给它配备的是QWEN_MAX模型。

(2)TASK CREATION AGENT任务创建智能体

它通过Qwen的API根据当前对象和先前任务的结果创建新任务。这个代理的将目标、上一个任务的结果、任务描述和当前任务列表向Qwen的API发送一条提示,该API将以字符串形式返回新任务列表。然后,该函数将以字典列表的形式返回这些新任务,其中每个字典都包含任务的名称。给它配备的是QWEN_PLUS模型。

(3)TASK PRIORITIZATION AGENT优先级设置智能体

负责任务列表的排序和优先级,仍然是通过调用Qwen的API来重新确定任务列表的优先级。这个代理将当前任务的列表发送给Qwen的API,并返回已重新优先排序为编号列表的新任务列表。给它配备的也是QWEN_PLUS模型。

(4)USER 公司客户

他们提出初始任务,考虑到成本,给它配备的是QWEN_TURBO模型。

(5)ACTION AGENT 执行智能体

具体执行任务的智能体,给它配备的是最强大的QWEN_MAX_LATEST模型。

def main(chat_turn_limit=15) -> None:
    babyagi_session = BabyAGI(
        task_prompt=task_prompt,
        task_specify_agent_kwargs=dict(model=model_max),
        task_creation_agent_kwargs=dict(model=model_plus),
        task_prioritization_agent_kwargs=dict(model=model_plus),
        action_role_name="NASA研究员",
        action_agent_kwargs=dict(model=model_max_latest),
        user_role_name="SpaceX",
        user_agent_kwargs=dict(model=model_turbo),
        task_prompt=task_prompt,
        message_window_size=5,
        output_language="Chinese",
    )    

4、输出执行情况

print(
        Fore.GREEN
        + f"NASA研究员提议:\n{babyagi_session.assistant_sys_msg}\n"
    )

    print(Fore.YELLOW + f"初始任务:\n{task_prompt}\n")
    print(
        Fore.CYAN
        + f"初始任务:\n{babyagi_session.specified_task_prompt}\n"
    )
    print(
        Fore.RED
        + f"最终任务:\n{babyagi_session.specified_task_prompt}\n"
    )

    n = 0
    while n < chat_turn_limit:
        n += 1
        action_response = babyagi_session.step()
        if action_response.terminated:
            print(
                Fore.GREEN
                + (
                    "NASA研究员终止该任务. 原因: "
                    f"{action_response.info['termination_reasons']}."
                )
            )
            break
        print_text_animated(
            Fore.RED + "任务名称:\n\n"
            f"{action_response.info['任务名称']}\n"
        )
        print_text_animated(
            Fore.GREEN + "NASA研究员:\n\n"
            f"{action_response.msg.content}\n"
        )
        print_text_animated(
            Fore.BLUE + "执行中的子任务:\n\n"
            f"{action_response.info['子任务'][:5]}\n"
        )


if __name__ == "__main__":
    main()

5、运行咨询项目

项目运行视频参见下方链接:

https://www.bilibili.com/video/BV15X68YnEjT/


四、总结

通过以上实践案例,说明Qwen系列在多Agent环境中的应用实践中,已经证明了其巨大的实用价值,且具有一定的成本优势。通过具体的代码示例,我们能够更直观地理解它在多样化场景中的应用方法和潜在能力。随着技术的持续进步,预计Qwen系列在这些领域的应用将变得更加成熟和普及,为众多行业带来突破性的变革。

目录
相关文章
|
23天前
|
人工智能 Linux 测试技术
NexaAI, 一行命令运行魔搭社区模型,首次在设备上运行 Qwen2-Audio
Qwen2-Audio是一个 70亿参数量 SOTA 多模态模型,可处理音频和文本输入。
|
7月前
|
前端开发 物联网 API
ToolBench指标提升8.25%!魔搭社区让Qwen2 成为你的智能体好帮手
随着千问2.0的发布,魔搭社区在第一时间上线了千问2全系列模型。我们注意到,千问2模型在通用能力上已经非常强悍,然而有时候用户需要使用模型在自己的私有场景上搭建起智能体调用流程,这时就有可能遇到对于特定场景调用不良的情况,在这种情况下,用户对于千问2模型进行二次训练并提升智能体精度是非常有必要的。
|
1天前
|
人工智能 开发框架 算法
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。
22 10
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
|
6天前
|
人工智能 自然语言处理 机器人
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
|
23天前
|
自然语言处理 搜索推荐 API
如何构建一套qwen-max智能体拥有媲美通义千问在线接口的能力
基于Qwen-Max构建的智能系统,融合了自然语言处理、决策引擎、任务识别与工具选择等技术,具备强大的多模态理解和生成能力。该系统能自动分析用户输入,识别任务类型,选择最优工具执行任务,并整合结果反馈给用户,广泛应用于查询、生成、翻译和图像处理等多个领域,显著提升了任务处理效率和智能化水平。
116 9
|
20天前
|
人工智能 自然语言处理 搜索推荐
如何构建媲美通义千问在线接口的qwen-max智能体
qwen-max智能体是一个高效、多功能的系统,擅长处理查询、文本生成、翻译、图像处理等任务。通过自然语言理解、任务识别、决策引擎和工具选择,它能自动选择最佳方案,满足用户多样化需求,提供智能化服务。系统旨在快速响应、精准执行,并持续优化,支持多任务类型,适应不断变化的需求。
|
7月前
|
机器学习/深度学习 消息中间件 人工智能
人工智能平台PAI产品使用合集之vLLM是否支持模型长度扩展
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
7月前
|
机器学习/深度学习 数据采集 存储
人工智能平台PAI产品使用合集之FeatureStore是否支持推荐场景下的session特征
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
7月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能平台PAI产品使用合集之如何设置DCluster参数
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
7月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之int类型是否可以为raw feature
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。

热门文章

最新文章