本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AI21 Labs Jamba 模特
本节提供推理参数和用于使用的代码示例 AI21 Labs Jamba 模特。
必填字段
AI21Labs Jamba 模型支持以下必填字段:
-
消息 (
messages
)-此聊天中以前的消息,从最旧(索引 0)到最新。列表中必须至少有一条用户或助手消息。包括用户输入和系统响应。该列表的最大总大小约为25.6万个代币。每封邮件都包含以下成员: -
角色 (
role
)-消息作者的角色。下列值之一:-
用户 (
user
)-用户提供的输入。此处给出的任何与system
提示中给出的说明相冲突的指令优先于system
提示指令。 -
助手 (
assistant
)-模型生成的响应。 -
系统 (
system
)-向系统提供的初始指令,用于为所生成消息的语气和语音提供一般指导。系统初始消息是可选的,但建议为聊天语气提供指导。例如,“你是一个乐于助人的聊天机器人,具有地球科学背景和迷人的法国口音。”
-
-
内容 (
content
)-消息的内容。
推理参数
L AI21 abs Jamba 模型支持以下推理参数。
随机性和多样性
AI21Labs Jamba 模型支持以下参数来控制响应的随机性和多样性。
-
温度 (
temperature
)-每个答案中要提供多少差异。将此值设置为 0 可确保每次对相同问题的回答都相同。设置较高的值会鼓励更多的变化。修改从中采样令牌的分布。默认值:1.0,范围:0.0 — 2.0 -
Top P (
top_p
) — 将每个步骤中的下一个代币池限制在可能代币的前 N 个百分位以内,其中 1.0 表示所有可能的代币池,0.01 表示仅包含最有可能的下一个代币池。
Length
AI21Labs Jamba 模型支持以下参数来控制生成响应的长度。
-
最大完成长度 (
max_tokens
)-每条生成的响应消息允许的最大令牌数。通常,限制输出长度的最佳方法是在系统提示符中提供长度限制(例如,“将答案限制在三句话以内”)。默认值:4096,范围:0 — 4096。 -
Stop sequences (
stop
)-当模型生成其中一个字符串时,结束消息。生成的消息中不包含停止序列。每个序列的长度可达 64K,并且可以包含作为\ n 个字符的换行符。示例:
-
带有单词和句点的单停字符串:“monkeys”。
-
多个停止字符串和一个换行符:["cat”、“dog”、” 。 “, “####”,”\ n “]
-
-
回复数 (
n
)-要生成的聊天回复数量。注 n 必须为 1 才能进行直播响应。如果 n 设置为大于 1,则设置temperature=0
将始终失败,因为保证所有答案都是重复的。默认值:1,范围:1 — 16
重复
AI21Labs Jamba 模型支持以下参数来控制生成的响应中的重复性。
-
Frequ ency Pentaling (
frequency_penalty
)-通过增加此数字,降低单条回复消息中重复单词的频率。在响应生成过程中,单词出现的次数越多,这种惩罚就会逐渐增加。设置为 2.0 将生成一个包含少量重复单词的字符串。 -
在线状态惩罚 (
presence_penalty
)-通过增加该数字来降低单条消息中重复单词的频率。与频率惩罚不同,无论单词出现多少次,存在惩罚都是一样的。
模型调用请求正文字段
当你使用InvokeModelWithResponseStream拨打InvokeModel或打电话时 AI21 Labs 模型,在body
字段中填入符合以下内容的JSON对象。在 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-
代码示例
此示例说明如何调用 AI21Labs Jamba- Instruct 模型。
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))
Jamba 1.5 Large 的代码示例
此示例说明如何调用 AI21Labs Jamba 1.5 大型模型。
invoke_model
POST https://bedrock-runtime.us-east-1.amazonaws.com/model/ai21.jamba-1-5-mini-v1:0/invoke-model HTTP/1.1 { "messages": [ { "role": "system", "content": "You are a helpful chatbot with a background in earth sciences and a charming French accent." }, { "role": "user", "content": "What are the main causes of earthquakes?" } ], "max_tokens": 512, "temperature": 0.7, "top_p": 0.9, "stop": ["###"], "n": 1 }