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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
视觉智能开放平台,视频资源包5000点
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系列在这些领域的应用将变得更加成熟和普及,为众多行业带来突破性的变革。

目录
相关文章
|
8月前
|
数据采集 自然语言处理 Devops
ToolLearning Eval:CodeFuse发布首个中文Function Call的大语言模型评测基准!🚀
CodeFuse发布了首个面向ToolLearning领域的中文评测基准ToolLearning-Eval,以帮助开发者跟踪ToolLearning领域大模型的进展,并了解各个ToolLearning领域大模型的优势与不足。ToolLearning-Eval按照Function Call流程进行划分,包含工具选择、工具调用、工具执行结果总结这三个过程,方便通用模型可以对各个过程进行评测分析。
744 0
|
8月前
|
人工智能 编解码
国内原汁原味的免费sd训练工具--哩布哩布AI
国内原汁原味的免费sd训练工具--哩布哩布AI
1260 0
|
8月前
|
编解码 自然语言处理
重磅!阿里巴巴开源最大参数规模大模型——高达720亿参数规模的Qwen-72B发布!还有一个的18亿参数的Qwen-1.8B
阿里巴巴开源了720亿参数规模的Qwen-72B大语言模型,是目前国内最大参数规模的开源模型。该模型在3万亿tokens数据上训练,支持多种语言和代码、数学等数据。Qwen-72B模型具有出色的评估效果,在数学逻辑和意图理解等方面超过了其他开源模型,并且支持多语言扩展。此外,阿里巴巴还开源了18亿参数规模的Qwen-1.8B模型,虽然规模较小但效果不错。Qwen-72B模型已对学术和个人完全开放,商用情况下月活低于100万可直接商用。有兴趣的用户可以通过相关链接获取模型地址和资源信息。
|
4天前
|
人工智能 开发框架 算法
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。
62 10
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
|
8天前
|
人工智能 自然语言处理 机器人
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
|
25天前
|
自然语言处理 搜索推荐 API
如何构建一套qwen-max智能体拥有媲美通义千问在线接口的能力
基于Qwen-Max构建的智能系统,融合了自然语言处理、决策引擎、任务识别与工具选择等技术,具备强大的多模态理解和生成能力。该系统能自动分析用户输入,识别任务类型,选择最优工具执行任务,并整合结果反馈给用户,广泛应用于查询、生成、翻译和图像处理等多个领域,显著提升了任务处理效率和智能化水平。
125 9
|
23天前
|
人工智能 自然语言处理 搜索推荐
如何构建媲美通义千问在线接口的qwen-max智能体
qwen-max智能体是一个高效、多功能的系统,擅长处理查询、文本生成、翻译、图像处理等任务。通过自然语言理解、任务识别、决策引擎和工具选择,它能自动选择最佳方案,满足用户多样化需求,提供智能化服务。系统旨在快速响应、精准执行,并持续优化,支持多任务类型,适应不断变化的需求。
|
2月前
|
存储 人工智能 关系型数据库
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
「拥抱Data+AI」系列第2篇:阿里云DMS+AnalyticDB助力游戏日志数据分析与预测
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
|
8月前
|
存储 人工智能 缓存
[译][AI OpenAI-doc] 生产最佳实践
本指南提供了一套全面的最佳实践,以帮助您从原型转向生产。无论您是经验丰富的机器学习工程师还是最近的爱好者,本指南都应为您提供成功将平台投入生产环境所需的工具:从确保访问我们的API到设计能够处理高流量的稳健架构。使用本指南帮助制定尽可能平稳有效地部署应用程序的计划。
|
8月前
|
人工智能 自然语言处理 测试技术
大佬出走后首个发布!Stability官宣代码模型Stable Code Instruct 3B
Stability AI发布Stable Code Instruct 3B,一款高效代码模型,参数量仅30亿却在多编程语言基准测试中表现媲美70亿至150亿参数模型。该模型专为代码补全、逻辑推理等任务设计,其指令优化版提供直观交互,提升开发效率。团队通过Hugging Face公开模型权重,支持复现与应用。在Multi-PL基准和MT-Bench测试中表现出色,即使面对更大数据训练的模型也能保持高效性能。量化版本确保兼容性和低延迟应用。
193 5
大佬出走后首个发布!Stability官宣代码模型Stable Code Instruct 3B