Amazon 推出了新一代尖端基礎模型套件,旨在實現經濟高效的大規模使用。 Nova 現已加入 Amazon 的 LLM 生態系統,集成到其 Amazon Bedrock 服務中,並支持文本、圖像和視頻生成等多種模式。
本文將概述新的 Amazon Nova 模型,解釋如何通過 Bedrock 服務訪問它們,重點介紹每個模型的功能和優勢,並演示其實際應用,包括集成到多代理應用程序中。
Amazon 的 Nova 模型是備受期待的基礎模型,可通過 Amazon Bedrock 服務訪問。它們專為各種應用程序而設計,包括低成本快速推理、多媒體理解和創意內容生成。讓我們探索每個模型。
該系列中速度最快的模型,具有最高速度和低計算成本。對於需要快速、僅文本生成的應用程序,Micro 最佳,推理速度為每秒 200 個 token。
Micro 的一些最佳應用包括實時分析、交互式聊天機器人和高流量文本生成服務。
Nova Micro 基準測試。 (來源:Amazon)
Nova 家族中經濟高效的多模態成員,Lite 在速度和跨多個任務的高精度之間取得了良好的平衡,尤其是在與 GPT-4o 或 Llama 等同類產品相比的推理和翻譯任務方面。
它可以高效地處理大量請求,同時保持較高的準確性。對於速度非常重要且需要能夠處理多種模態的模型的應用程序,Lite 可能是最佳選擇。
Nova Lite 基準測試。 (來源:Amazon)
Nova 家族中用於文本處理的最先進模型,Nova Pro 提供令人印象深刻的準確性,同時與具有類似功能的模型相比,計算成本相對較低。
據 Amazon 稱,Nova Pro 非常適合用於視頻摘要、問答、數學推理、軟件開發以及能夠執行多步驟工作流程的 AI 代理等應用程序。與 Micro 和 Lite 模型一樣,Nova Pro 目前支持微調。
Nova Pro 基準測試。 (來源:Amazon)
該系列功能最強大的多模態模型,預計將於 2025 年初推出,有望成為 Pro 模型的升級版。
Canvas 是 Nova 的圖像生成解決方案。它可以生成高質量的圖像,控製配色方案和样式,並提供諸如修復、擴展圖像、樣式轉換和背景去除等功能。該模型似乎對於創建營銷圖像、產品樣機等非常有效。
Nova Reel 是一款視頻生成模型,旨在提供高質量且易於定制的視頻輸出。 Nova Reel 使用戶能夠創建和控制視頻中的視覺風格、節奏和攝像機運動。與其他 Nova 模型一樣,Reel 配備內置的安全控制功能,可實現一致的內容生成。
您可以使用 Amazon Bedrock Playground 通過即用型用戶界面測試和比較多個模型。
我假設您已配置好 Amazon CLI 和 Bedrock 並可以使用。如果不是,您可以參考我在 AWS 多代理協調器上的教程,其中我詳細介紹了設置使用 Bedrock 服務提供的模型的環境的步驟。此外,Nils Durner 的博文提供了逐步截圖,指導您完成設置 Bedrock 服務的過程。
Amazon Bedrock Playground
在比較 Nova Micro 和 Pro 時,我注意到這兩個模型之間的準確性差距並不明顯。雖然 Micro 的文本生成速度是 Pro 的兩倍多,但它為大多數常規用例提供了足夠的答案。另一方面,Pro 往往會產生略微更詳細和更長的響應。
要通過 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 多代理協調器框架來設置一個簡化的 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 模型進行實際聊天。
在 Chainlit 上運行我們的應用程序
圖像和視頻生成模型也可通過 API 獲得。您可以參考文檔以獲取演示如何使用它們的腳本。
Amazon Nova 模型代表了基礎模型生態系統的一大進步,它結合了最先進的準確性、速度、成本效益和多模態能力。隨著 Amazon LLM 套件隨著新產品的推出而發展壯大,它正在成為在 AWS 背後構建經濟高效且可擴展應用程序的強大選擇。
無論您是開發代理 AI 應用程序、創建用於客戶服務的聊天機器人,還是作為開發人員進行探索,嘗試使用 Nova 模型都是一項值得的體驗。加深您對 AWS、Bedrock 和 Amazon 的 LLM 工具的了解也很有益。
在本文中,我們介紹了這些模型的關鍵方面、如何試驗它們以及如何使用 Nova 模型構建基本的代理 AI 應用程序。
學習如何優化 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中文網其他相關文章!