AI21 LabsJurassic-2模型 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AI21 LabsJurassic-2模型

本節提供推論參數和使用AI21 LabsAI21 LabsJurassic-2模型的程式碼範例。

推論參數

這些AI21 LabsJurassic-2模型支援下列推論參數。

隨機性和多樣性

這些AI21 LabsJurassic-2模型支持以下參數來控制響應中的隨機性和多樣性。

  • 溫度 (temperature) — 使用較低的值來降低回應中的隨機性。

  • Top P (topP) — 使用較低的值來忽略較少可能的選項。

長度

這些AI21 LabsJurassic-2模型支持以下參數來控制生成的響應的長度。

  • 最大完成長度 (maxTokens) — 指定產生的回應中使用的記號數上限。

  • 停止序列 (stopSequences) — 設定模型辨識的停止序列,之後停止產生更多記號。按 Enter 鍵在停止序列中插入換行字元。使用 Tab 鍵完成插入停止序列。

重複

這些AI21 LabsJurassic-2模型支持以下參數來控制生成的響應中的重複。

  • 存在懲罰 (presencePenalty) — 使用較高值可以降低產生已在提示或完成中至少出現一次的新記號的機率。

  • 計數懲罰 (countPenalty) — 使用較高值可以降低產生已在提示或完成中至少出現一次的新記號的機率。與外觀數成正比。

  • 頻率懲罰 (frequencyPenalty) — 使用較高值可以降低產生已在提示或完成中至少出現一次的新記號的機率。該值與記號出現的頻率成正比(標準化為文字長度)。

  • 懲罰特殊記號 — 降低重複特殊字元的可能性。預設值為 true

    • 空格(applyToWhitespaces) - true 值會將懲罰套用於空格和新行。

    • 標點符號 (applyToPunctuation) — true 值會將懲罰套用於標點符號。

    • 數字 (applyToNumbers) — 將懲罰套用於數字的 true 值。

    • 停用詞 (applyToStopwords) — true 值會套用懲罰來停用字詞。

    • 表情符號 (applyToEmojis) — 從懲罰中排除表情符號的 true 值。

模型調用請求主體欄位

當您使用AI21 Labs模型進行InvokeModelInvokeModelWithResponseStream呼叫時,請使用符合以下內容的 JSON 物件填入body欄位。在 prompt 欄位中輸入提示詞。

{ "prompt": string, "temperature": float, "topP": float, "maxTokens": int, "stopSequences": [string], "countPenalty": { "scale": float }, "presencePenalty": { "scale": float }, "frequencyPenalty": { "scale": float } }

若要懲罰特殊記號,請將這些欄位新增到任何懲罰物件。例如,您可以依下列方式修改 countPenalty 欄位。

"countPenalty": { "scale": float, "applyToWhitespaces": boolean, "applyToPunctuations": boolean, "applyToNumbers": boolean, "applyToStopwords": boolean, "applyToEmojis": boolean }

下表展示數字參數的最小值、最大值和預設值。

類別 參數 JSON 物件格式 下限 最大 預設
隨機性和多樣性 溫度 溫度 0 1 0.5
Top P topP 0 1 0.5
長度 記號數上限(中、超大和大型模型) maxTokens 0 8,191 200
記號數上限(其他模型) 0 2,048 200
重複 存在懲罰 presencePenalty 0 5 0
計數懲罰 countPenalty 0 1 0
頻率懲罰 frequencyPenalty 0 500 0

模型調用回應主體欄位

如需有關回應中 body 欄位格式的資訊,請參閱 https://docs.ai21.com/reference/j2-complete-ref

注意

Amazon 基岩返回響應標識符(id)作為一個整數值。

程式碼範例

此範例顯示如何呼叫 A2I AI21 Labs Jurassic-2 Mid 模型。

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "Translate to spanish: 'Amazon Bedrock is the easiest way to build and scale generative AI applications with base models (FMs)'.", "maxTokens": 200, "temperature": 0.5, "topP": 0.5 }) modelId = 'ai21.j2-mid-v1' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model( body=body, modelId=modelId, accept=accept, contentType=contentType ) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completions')[0].get('data').get('text'))