本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AI21 Labs蠶豆指示模型
本節提供推論參數和使用AI21 Jamba-Instruct模型的程式碼範例。
必要欄位
AI21 實驗室 Jamba 指導模型支持以下必填字段:
-
消息(
messages
)— 此聊天中的先前消息,從最舊的(索引 0)到最新消息。清單中必須至少有一個使用者或助理訊息。包括使用者輸入和系統回應。列表的最大總大小約為 256K 令牌。每則訊息都包含下列成員: -
Role (
role
) — 訊息作者的角色。下列其中一值:-
使用者 (
user
) — 使用者提供的輸入。此處提供的任何與提示中提供的指示衝突的指system
示都會優先於system
提示指示。 -
助理 (
assistant
) — 由模型產生的回應。 -
System (
system
) — 提供給系統的初始指示,以針對所產生訊息的音調和語音提供一般指引。初始系統消息是可選的,但建議提供有關聊天鈴聲的指導。例如,「您是一個有用的聊天機器人,具有地球科學背景和迷人的法語口音。」
-
-
內容 (
content
) — 訊息的內容。
推論參數
AI21 實驗室 Jamba 指導模型支持以下推論參數。
隨機性和多樣性
AI21 實驗室 Jamba 指導模型支持以下參數來控制響應中的隨機性和多樣性。
-
溫度(
temperature
)-每個答案中提供多少變化。將此值設定為 0 可確保每次對相同問題的回應都相同。設置更高的值鼓勵更多的變化。修改從中取樣記號的分佈。預設值:1.0,範圍:0 -
前 P(
top_p
)— 將每個步驟中的下一個令牌池限制為可能令牌的前 N 個百分位數,其中 1.0 表示所有可能令牌的池,而 0.01 表示只有最可能的下一個令牌的池。
長度
AI21 實驗室 Jamba 指示模型支持以下參數來控制生成的響應的長度。
-
最大完成長度 (
max_tokens
) — 允許每個產生的回應訊息的權杖數目上限。通常,限制輸出長度的最佳方法是在系統提示中提供長度限制(例如,「將答案限制為三個句子」)。預設值:範圍:0 -
停止序列 (
stop
)-當模型產生這些字串之一時結束訊息。停止序列不包含在產生的訊息中。每個序列最長可達 64K,並且可以包含換行符作為\ n 字符。範例:
-
帶有單詞和句點的單停字符串:「猴子」。
-
多個停止字符串和一個換行符:[「貓」,「dog」,」 。 「,「###」, "\ n「]
-
-
響應數(
n
)-生成多少聊天響應。串流回應的附註 n 必須為 1。如果 n 設置為大於 1,則設置temperature=0
將始終失敗,因為所有答案都保證是重複的。預設值:1,範圍:1 — 16
重複
AI21 實驗室 Jamba 指導模型支持以下參數,以控制生成的響應中的重複。
-
頻率懲罰 (
frequency_penalty
) — 透過增加此數字來減少單一回應訊息中重複字詞的頻率。這個懲罰會逐漸增加一個字詞在產生回應期間出現的次數。設置為 2.0 將產生一個包含少量單詞的字符串(如果有任何重複的話)。 -
存在懲罰 (
presence_penalty
) — 透過增加此數字來減少單一訊息中重複字詞的頻率。與頻率懲罰不同,無論單詞出現多少次,存在懲罰都是相同的。
模型調用請求主體欄位
當您使用AI21 Labs模型進行InvokeModel或InvokeModelWithResponseStream呼叫時,請使用符合以下內容的 JSON 物件填入body
欄位。在 prompt
欄位中輸入提示詞。
{ "messages": [ { "role":"system", // Non-printing contextual information for the model "content":"You are a helpful history teacher. You are kind and you respond with helpful content in a professional manner. Limit your answers to three sentences. Your listener is a high school student." }, { "role":"user", // The question we want answered. "content":"Who was the first emperor of rome?" } ], "n":1 // Limit response to one answer }
模型調用回應主體欄位
如需有關回應中body
欄位格式的資訊,請參閱 https://docs.ai21.com/reference/ jamba-instruct-api #response-詳細
程式碼範例
這個範例說明如何呼叫 AI21 實驗室 Jamba 指導模型。
invoke_model
import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.invoke_model( modelId='ai21.jamba-instruct-v1:0', body=json.dumps({ 'messages': [ { 'role': 'user', 'content': 'which llm are you?' } ], }) ) print(json.dumps(json.loads(response['body']), indent=4))
匡威
import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.converse( modelId='ai21.jamba-instruct-v1:0', messages=[ { 'role': 'user', 'content': [ { 'text': 'which llm are you?' } ] } ] ) print(json.dumps(json.loads(response['body']), indent=4))