首页 >科技周边 >人工智能 >亚马逊诺瓦模型:指南示例

亚马逊诺瓦模型:指南示例

Lisa Kudrow
Lisa Kudrow原创
2025-03-02 09:08:09299浏览

Amazon 推出了新一代尖端基础模型套件,旨在实现经济高效的大规模使用。Nova 现已加入 Amazon 的 LLM 生态系统,集成到其 Amazon Bedrock 服务中,并支持文本、图像和视频生成等多种模式。

本文将概述新的 Amazon Nova 模型,解释如何通过 Bedrock 服务访问它们,重点介绍每个模型的功能和优势,并演示其实际应用,包括集成到多代理应用程序中。

什么是 Amazon Nova 模型?

Amazon 的 Nova 模型是备受期待的基础模型,可通过 Amazon Bedrock 服务访问。它们专为各种应用程序而设计,包括低成本快速推理、多媒体理解和创意内容生成。让我们探索每个模型。

Amazon Nova Micro

该系列中速度最快的模型,具有最高速度和低计算成本。对于需要快速、仅文本生成的应用程序,Micro 最佳,推理速度为每秒 200 个 token。

Micro 的一些最佳应用包括实时分析、交互式聊天机器人和高流量文本生成服务。

Amazon Nova Models: A Guide With Examples

Nova Micro 基准测试。(来源:Amazon)

Amazon Nova Lite

Nova 家族中经济高效的多模态成员,Lite 在速度和跨多个任务的高精度之间取得了良好的平衡,尤其是在与 GPT-4o 或 Llama 等同类产品相比的推理和翻译任务方面。

它可以高效地处理大量请求,同时保持较高的准确性。对于速度非常重要且需要能够处理多种模态的模型的应用程序,Lite 可能是最佳选择。

Amazon Nova Models: A Guide With Examples

Nova Lite 基准测试。(来源:Amazon)

Amazon Nova Pro

Nova 家族中用于文本处理的最先进模型,Nova Pro 提供令人印象深刻的准确性,同时与具有类似功能的模型相比,计算成本相对较低。

据 Amazon 称,Nova Pro 非常适合用于视频摘要、问答、数学推理、软件开发以及能够执行多步骤工作流程的 AI 代理等应用程序。与 Micro 和 Lite 模型一样,Nova Pro 目前支持微调。

Amazon Nova Models: A Guide With Examples

Nova Pro 基准测试。(来源:Amazon)

Amazon Nova Premier

该系列功能最强大的多模态模型,预计将于 2025 年初推出,有望成为 Pro 模型的升级版。

Amazon Nova Canvas

Canvas 是 Nova 的图像生成解决方案。它可以生成高质量的图像,控制配色方案和样式,并提供诸如修复、扩展图像、样式转换和背景去除等功能。该模型似乎对于创建营销图像、产品样机等非常有效。

Amazon Nova Reel

Nova Reel 是一款视频生成模型,旨在提供高质量且易于定制的视频输出。Nova Reel 使用户能够创建和控制视频中的视觉风格、节奏和摄像机运动。与其他 Nova 模型一样,Reel 配备内置的安全控制功能,可实现一致的内容生成。

Amazon Nova Reel如何通过 Amazon Bedrock Playground 访问 Amazon Nova 模型

您可以使用 Amazon Bedrock Playground 通过即用型用户界面测试和比较多个模型。

我假设您已配置好 Amazon CLI 和 Bedrock 并可以使用。如果不是,您可以参考我在 AWS 多代理协调器上的教程,其中我详细介绍了设置使用 Bedrock 服务提供的模型的环境的步骤。此外,Nils Durner 的博文提供了逐步截图,指导您完成设置 Bedrock 服务的过程。

Amazon Nova Models: A Guide With Examples

Amazon Bedrock Playground

在比较 Nova Micro 和 Pro 时,我注意到这两个模型之间的准确性差距并不明显。虽然 Micro 的文本生成速度是 Pro 的两倍多,但它为大多数常规用例提供了足够的答案。另一方面,Pro 往往会产生略微更详细和更长的响应。

如何通过 Amazon Bedrock API 访问 Amazon Nova 模型

要通过 API 使用 Nova 模型并将其集成到您的代码中,首先确保您的 AWS 帐户、AWS CLI 和对模型的访问已正确设置(文档为此提供了指导)。

接下来,安装 boto3 库,即 AWS 的 Python SDK,它使您可以使用它们的模型。

<code>pip install boto3</code>

您可以使用如下所示的脚本以编程方式与模型交互:

<code>import boto3
import json 

client = boto3.client(service_name="bedrock-runtime")

messages = [
    {"role": "user", "content": [{"text": "Write a short poem"}]},
]

model_response = client.converse(
    modelId="us.amazon.nova-lite-v1:0", 
    messages=messages
)

print("\n[Full Response]")
print(json.dumps(model_response, indent=2))

print("\n[Response Content Text]")
print(model_response["output"]["message"]["content"][0]["text"])</code>

使用 Nova Micro 和 AWS 多代理协调器的演示项目

我们现在实现一个演示项目来测试 Nova Micro 的代理能力。我们将使用 AWS 多代理协调器框架来设置一个简化的 Python 应用程序,该应用程序包含两个代理:Python 开发人员代理和 ML 专家代理。如果您想设置协调器,可以使用此 AWS 多代理协调器指南。

我们还将使用 Chainlit(一个开源 Python 包)来为应用程序实现简单的 UI。首先,安装必要的库:

<code>chainlit==1.2.0
multi_agent_orchestrator==0.0.18</code>

我们首先导入必要的库:

<code>import uuid
import chainlit as cl
from multi_agent_orchestrator.orchestrator import MultiAgentOrchestrator, OrchestratorConfig
from multi_agent_orchestrator.classifiers import BedrockClassifier, BedrockClassifierOptions
from multi_agent_orchestrator.agents import AgentResponse
from multi_agent_orchestrator.agents import BedrockLLMAgent, BedrockLLMAgentOptions, AgentCallbacks
from multi_agent_orchestrator.orchestrator import MultiAgentOrchestrator
from multi_agent_orchestrator.types import ConversationMessage
import asyncio
import chainlit as cl</code>

该框架使用分类器来为传入的用户请求选择最佳代理。我们将“anthropic.claude-3-haiku-20240307-v1:0”用作分类器的模型。

<code>class ChainlitAgentCallbacks(AgentCallbacks):
    def on_llm_new_token(self, token: str) -> None:
        asyncio.run(cl.user_session.get("current_msg").stream_token(token))

# Initialize the orchestrator
custom_bedrock_classifier = BedrockClassifier(BedrockClassifierOptions(
    model_id='anthropic.claude-3-haiku-20240307-v1:0',
    inference_config={
        'maxTokens': 500,
        'temperature': 0.7,
        'topP': 0.9
    }
))

orchestrator = MultiAgentOrchestrator(options=OrchestratorConfig(
        LOG_AGENT_CHAT=True,
        LOG_CLASSIFIER_CHAT=True,
        LOG_CLASSIFIER_RAW_OUTPUT=True,
        LOG_CLASSIFIER_OUTPUT=True,
        LOG_EXECUTION_TIMES=True,
        MAX_RETRIES=3,
        USE_DEFAULT_AGENT_IF_NONE_IDENTIFIED=False,
        MAX_MESSAGE_PAIRS_PER_AGENT=10,
    ),
    classifier=custom_bedrock_classifier
)</code>

接下来,我们定义两个由 Nova Micro 提供支持的代理,一个充当 Python 开发人员专家,另一个充当机器学习专家。

<code>pip install boto3</code>

最后,我们设置脚本的主体,以便 Chainlit UI 处理用户请求和代理响应。

<code>import boto3
import json 

client = boto3.client(service_name="bedrock-runtime")

messages = [
    {"role": "user", "content": [{"text": "Write a short poem"}]},
]

model_response = client.converse(
    modelId="us.amazon.nova-lite-v1:0", 
    messages=messages
)

print("\n[Full Response]")
print(json.dumps(model_response, indent=2))

print("\n[Response Content Text]")
print(model_response["output"]["message"]["content"][0]["text"])</code>

结果是 Chainlit UI,它允许您根据需要与 Nova 模型进行实际聊天。

Amazon Nova Models: A Guide With Examples

在 Chainlit 上运行我们的应用程序

图像和视频生成模型也可通过 API 获得。您可以参考文档以获取演示如何使用它们的脚本。

结论

Amazon Nova 模型代表了基础模型生态系统的一大进步,它结合了最先进的准确性、速度、成本效益和多模态能力。随着 Amazon LLM 套件随着新产品的推出而发展壮大,它正在成为在 AWS 背后构建经济高效且可扩展应用程序的强大选择。

无论您是开发代理 AI 应用程序、创建用于客户服务的聊天机器人,还是作为开发人员进行探索,尝试使用 Nova 模型都是一项值得的体验。加深您对 AWS、Bedrock 和 Amazon 的 LLM 工具的了解也很有益。

在本文中,我们介绍了这些模型的关键方面、如何试验它们以及如何使用 Nova 模型构建基本的代理 AI 应用程序。

AWS 云从业者

学习如何优化 AWS 服务以提高成本效率和性能。学习 AWS

This revised output maintains the original meaning and structure while using different wording and sentence structures. The image URLs remain unchanged. The <iframe></iframe> tag for the YouTube video is also preserved.

以上是亚马逊诺瓦模型:指南示例的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn