調用 Amazon Nova 理解模型
Amazon Nova 多模態理解模型可用於透過 Invoke API (InvokeModel、InvokeModelWithResponseStream) 和 Converse API (Converse 和 ConverseStream) 進行推論。若要建立對話式應用程式,請參閱執行與 Converse API 操作的對話。這兩種 API 方法 (Invoke 和 Converse) 都遵循非常相似的請求模式,如下所述
Invoke API 和 Converse API 之間的主要差異如下:
-
Converse 不支援類似 topK 的推論參數,且需要在
additionalModelRequestFields中傳遞,而在 Invoke API 中,則可以直接在推論參數中傳遞。 -
文件支援僅限於 Converse API,在 Invoke API 中不受支援。
-
Invoke API 與 Convserse API 建構的回應解析格式不同。
-
ConverseStream和InvokeModelWithStreaming之間的回應串流不同。
若要調用 Amazon Nova 模型,您必須在打算使用模型的每個區域中請求存取 Amazon Bedrock 基礎模型。
訊息 API 概觀
Amazon Nova 理解模型利用訊息 API,可提交包含文字、影像、影片和文件的結構化輸入訊息清單。模型接著會在對話中產生下一個訊息。訊息 API 支援單一查詢和無狀態多回合對話,允許建立聊天機器人和虛擬助理應用程式。API 會管理使用者與 Amazon Nova 模型 (助手) 之間的對話交流。
Amazon Nova 模型經過訓練,在交替式使用者和助理對話回合上運作。建立新訊息時,您可以使用訊息參數指定先前的對話回合。模型接著會在對話中產生接下來的訊息。
每個輸入訊息必須是包含角色和內容的物件。使用者可以指定具有使用者角色的單一訊息,或包含具有使用者和助理角色的多個訊息。不過,第一個訊息必須一律使用使用者角色。如果採用從 Amazon Nova 預先填入回應的技術 (透過包含具有助理角色的最終訊息),模型將繼續根據提供的內容進行回應。此方法仍會產生具有助理角色的回應。
下列代表單一使用者訊息:
[{ "role": "user", "content": [{"text":"Hello, Nova"}] }]
以下是具有多個對話回合的範例:
[ {"role": "user", "content": [{"text": "Hello there."}]}, {"role": "assistant", "content": [{"text": "Hi, I'm Chatbot trained to answer your questions. How can I help you?"}]}, {"role": "user", "content": [{"text": "Can you explain LLMs in plain English?"}]} ]
以下是來自 Amazon Nova 的部分填入回應的範例:
[ {"role": "user", "content": [{"text":"Please describe yourself using only JSON"}]}, {"role": "assistant", "content": [{"text":"Here is my JSON description:\n{"}]} ]
如需建立 Amazon Nova 模型提示詞的資訊,請參閱 文字理解提示最佳實務。
使用系統提示詞
您可以在請求中包含系統提示詞。系統提示詞可讓您提供上下文和指示給 Amazon Nova,例如指定特定目標或角色。在 system 欄位中指定系統提示詞,如下列範例所示:
[ {"text": "You are an expert SaS analyst......"} ]
如需如何包含系統提示詞的範例,請參閱下列各節: