J2 完整 API
要生成给定提示的文本完成和响应,您可以将 HTTP 请求发送到所需Jurassic-2 语言模型的端点。该请求应包括输入文本提示以及用于控制文本生成的任何相关参数。此外,您必须在请求标头中包含API 密钥以进行身份验证。
发送请求后,您将收到包含标记化提示以及生成的文本响应的响应。生成的文本称为补全,并且可以包含多个输出,具体取决于您设置的参数。该响应还可以包含与生成过程相关的附加元数据。
侏罗纪 2 模型
我们最先进的 Jurassic-2 语言模型系列包含三种变体 - Ultra、Mid 和 Light。这些模型的特点是始终如一地提供卓越的性能和广泛的灵活性,在各种任务中表现出色。
轻型: 该模型专为快速响应而设计,可以进行微调以优化相对简单任务的性能。
中: 该模型提供增强的文本生成功能,使其非常适合复杂程度较高的语言任务。
Ultra: 作为侏罗纪系列中最大、最强大的模型,J2-Ultra 是最复杂的语言处理任务和生成文本应用程序的理想选择。
接口参数
这些参数中的每一个都可用于自定义 Jurassic-2 语言模型的行为,从而允许开发人员微调模型的响应以更好地满足他们的需求:
prompt
:这是生成响应的起点。提示的格式,无论是零样本、少样本还是指导性的,都会影响模型响应的形状。有关即时工程的更多信息,请参阅本指南。
numResults
:针对给定提示生成的响应数。
maxTokens
:为每个响应生成的最大令牌数。
minTokens
:为每个响应生成的最小令牌数。
temperature
:控制模型响应的“创造力”的值。
topP
:控制模型响应多样性的值。
stopSequences
:序列列表,生成后将导致模型停止生成标记。
topKReturn
:每个生成步骤要考虑的最高得分令牌的数量。
frequencyPenalty
:对频繁生成的代币进行惩罚。
presencePenalty
:对提示中已存在的标记施加惩罚。
countPenalty
:根据令牌在生成的响应中的频率对其进行惩罚。
API 请求示例
零射击提示教学提示
fetch("https://api.ai21.com/studio/v1/j2-mid/complete", {
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
"prompt": "These are a few of my favorite",
"numResults": 1,
"maxTokens": 30,
"temperature": 0.7,
"topKReturn": 0,
"topP":1,
"countPenalty": {
"scale": 0,
"applyToNumbers": false,
"applyToPunctuations": false,
"applyToStopwords": false,
"applyToWhitespaces": false,
"applyToEmojis": false
},
"frequencyPenalty": {
"scale": 0,
"applyToNumbers": false,
"applyToPunctuations": false,
"applyToStopwords": false,
"applyToWhitespaces": false,
"applyToEmojis": false
},
"presencePenalty": {
"scale": 0,
"applyToNumbers": false,
"applyToPunctuations": false,
"applyToStopwords": false,
"applyToWhitespaces": false,
"applyToEmojis": false
},
"stopSequences":["##"]
}),
method: "POST"
});
响应示例
零次响应指令跟随响应
{
"id": "75a54d20-dda1-6db7-ff99-59b1af4fdfd3",
"prompt": {
"text": "These are a few of my favorite",
"tokens": [
{
"generatedToken": {
"token": "▁These▁are",
"logprob": -8.139219284057617,
"raw_logprob": -8.139219284057617
},
"topTokens": null,
"textRange": {
"start": 0,
"end": 9
}
},
{
"generatedToken": {
"token": "▁a▁few",
"logprob": -4.903847694396973,
"raw_logprob": -4.903847694396973
},
"topTokens": null,
"textRange": {
"start": 9,
"end": 15
}
},
{
"generatedToken": {
"token": "▁of▁my▁favorite",
"logprob": -1.543039321899414,
"raw_logprob": -1.543039321899414
},
"topTokens": null,
"textRange": {
"start": 15,
"end": 30
}
}
]
},
"completions": [
{
"data": {
"text": " things!\n\nI love entertaining, entertaining and decorating my home, entertaining clients, entertaining friends, entertaining family...you get the point! One of my favorite things to do is plan parties",
"tokens": [
{
"generatedToken": {
"token": "▁things",
"logprob": -0.012797726318240166,
"raw_logprob": -0.24019983410835266
},
"topTokens": null,
"textRange": {
"start": 0,
"end": 7
}
},
{
"generatedToken": {
"token": "!",
"logprob": -2.060641050338745,
"raw_logprob": -2.189206600189209
},
"topTokens": null,
"textRange": {
"start": 7,
"end": 8
}
},
{
"generatedToken": {
"token": "<|newline|>",
"logprob": -0.8403825759887695,
"raw_logprob": -2.1910078525543213
},
"topTokens": null,
"textRange": {
"start": 8,
"end": 9
}
},
{
"generatedToken": {
"token": "<|newline|>",
"logprob": -0.1456860452890396,
"raw_logprob": -0.9437531232833862
},
"topTokens": null,
"textRange": {
"start": 9,
"end": 10
}
},
{
"generatedToken": {
"token": "▁I▁love",
"logprob": -4.374380588531494,
"raw_logprob": -4.643549919128418
},
"topTokens": null,
"textRange": {
"start": 10,
"end": 16
}
},
{
"generatedToken": {
"token": "▁entertaining",
"logprob": -8.783716201782227,
"raw_logprob": -8.083599090576172
},
"topTokens": null,
"textRange": {
"start": 16,
"end": 29
}
},
{
"generatedToken": {
"token": ",",
"logprob": -1.0627485513687134,
"raw_logprob": -1.545505404472351
},
"topTokens": null,
"textRange": {
"start": 29,
"end": 30
}
},
{
"generatedToken": {
"token": "▁entertaining",
"logprob": -4.874294757843018,
"raw_logprob": -4.618663787841797
},
"topTokens": null,
"textRange": {
"start": 30,
"end": 43
}
},
{
"generatedToken": {
"token": "▁and",
"logprob": -3.167405605316162,
"raw_logprob": -3.570988655090332
},
"topTokens": null,
"textRange": {
"start": 43,
"end": 47
}
},
{
"generatedToken": {
"token": "▁decorating",
"logprob": -1.648970127105713,
"raw_logprob": -2.582613706588745
},
"topTokens": null,
"textRange": {
"start": 47,
"end": 58
}
},
{
"generatedToken": {
"token": "▁my▁home",
"logprob": -2.5026865005493164,
"raw_logprob": -2.6586031913757324
},
"topTokens": null,
"textRange": {
"start": 58,
"end": 66
}
},
{
"generatedToken": {
"token": ",",
"logprob": -0.7689361572265625,
"raw_logprob": -1.2174654006958008
},
"topTokens": null,
"textRange": {
"start": 66,
"end": 67
}
},
{
"generatedToken": {
"token": "▁entertaining",
"logprob": -1.2487196922302246,
"raw_logprob": -2.0927321910858154
},
"topTokens": null,
"textRange": {
"start": 67,
"end": 80
}
},
{
"generatedToken": {
"token": "▁clients",
"logprob": -8.5693359375,
"raw_logprob": -7.141331672668457
},
"topTokens": null,
"textRange": {
"start": 80,
"end": 88
}
},
{
"generatedToken": {
"token": ",",
"logprob": -0.1822780817747116,
"raw_logprob": -0.6432795524597168
},
"topTokens": null,
"textRange": {
"start": 88,
"end": 89
}
},
{
"generatedToken": {
"token": "▁entertaining",
"logprob": -0.5468096137046814,
"raw_logprob": -1.3048734664916992
},
"topTokens": null,
"textRange": {
"start": 89,
"end": 102
}
},
{
"generatedToken": {
"token": "▁friends",
"logprob": -0.9710591435432434,
"raw_logprob": -1.7686699628829956
},
"topTokens": null,
"textRange": {
"start": 102,
"end": 110
}
},
{
"generatedToken": {
"token": ",",
"logprob": -0.14025729894638062,
"raw_logprob": -0.4739122986793518
},
"topTokens": null,
"textRange": {
"start": 110,
"end": 111
}
},
{
"generatedToken": {
"token": "▁entertaining",
"logprob": -0.2804214358329773,
"raw_logprob": -0.8527922034263611
},
"topTokens": null,
"textRange": {
"start": 111,
"end": 124
}
},
{
"generatedToken": {
"token": "▁family",
"logprob": -1.0800895690917969,
"raw_logprob": -1.927623987197876
},
"topTokens": null,
"textRange": {
"start": 124,
"end": 131
}
},
{
"generatedToken": {
"token": "...",
"logprob": -2.514098644256592,
"raw_logprob": -2.373312473297119
},
"topTokens": null,
"textRange": {
"start": 131,
"end": 134
}
},
{
"generatedToken": {
"token": "you",
"logprob": -1.0778509378433228,
"raw_logprob": -1.99626624584198
},
"topTokens": null,
"textRange": {
"start": 134,
"end": 137
}
},
{
"generatedToken": {
"token": "▁get",
"logprob": -0.03242425248026848,
"raw_logprob": -0.1461254507303238
},
"topTokens": null,
"textRange": {
"start": 137,
"end": 141
}
},
{
"generatedToken": {
"token": "▁the▁point",
"logprob": -2.4119038581848145,
"raw_logprob": -2.0218327045440674
},
"topTokens": null,
"textRange": {
"start": 141,
"end": 151
}
},
{
"generatedToken": {
"token": "!",
"logprob": -1.4457058906555176,
"raw_logprob": -1.3022156953811646
},
"topTokens": null,
"textRange": {
"start": 151,
"end": 152
}
},
{
"generatedToken": {
"token": "▁One▁of▁my▁favorite",
"logprob": -5.320619583129883,
"raw_logprob": -5.056370258331299
},
"topTokens": null,
"textRange": {
"start": 152,
"end": 171
}
},
{
"generatedToken": {
"token": "▁things▁to▁do",
"logprob": -0.678179919719696,
"raw_logprob": -1.1683768033981323
},
"topTokens": null,
"textRange": {
"start": 171,
"end": 184
}
},
{
"generatedToken": {
"token": "▁is",
"logprob": -0.08321860432624817,
"raw_logprob": -0.5311100482940674
},
"topTokens": null,
"textRange": {
"start": 184,
"end": 187
}
},
{
"generatedToken": {
"token": "▁plan",
"logprob": -2.2561252117156982,
"raw_logprob": -3.04398512840271
},
"topTokens": null,
"textRange": {
"start": 187,
"end": 192
}
},
{
"generatedToken": {
"token": "▁parties",
"logprob": -2.2673985958099365,
"raw_logprob": -2.537139892578125
},
"topTokens": null,
"textRange": {
"start": 192,
"end": 200
}
}
]
},
"finishReason": {
"reason": "length",
"length": 30
}
}
]
}
回复
响应是一个嵌套数据结构,包含有关已处理请求、提示和完成的信息。在顶层,响应具有以下字段:
ID
已处理请求的唯一字符串。重复的相同请求会收到不同的 ID。id
迅速的
其中包括原始文本、标记及其对数概率,以及每个位置的前 K 个替代标记(如果需要)。它有两个嵌套字段:prompt
text
(细绳)tokens
(TokenData列表)
完成情况
完成列表,包括原始文本、标记和对数概率。完成的数量与请求的数量相对应。每个完成都有两个嵌套字段:numResults
data
,其中包含用于完成的(字符串)和令牌(TokenData 列表)。text
finishReason
,此嵌套数据结构解释了为什么生成过程因特定完成而停止。各种终止原因是:- 达到长度限制:
- 格式:
{"reason": "length", "length": <max_length>}
- 描述:模型在达到预设的代币限制后停止生成。这里,代表设定值,表示最大令牌数。
<max_length>``maxTokens
- 格式:
- 生成文本结束标记:
- 格式:
{"reason": "endoftext"}
- 描述:当模型生成令牌时,生成终止。
<endoftext>
- 格式:
- 生成的停止序列:
- 格式:
{"reason": "stop", "sequence": <stop_sequence>}
- 说明: 一旦指定的停止序列生成,生成就结束。是指 中提供的值。
<stop_sequence>``stopSequences
- 格式:
- 达到长度限制:
代币数据
TokenData 对象提供有关提示和补全中每个标记的详细信息。它包括以下字段:
生成的令牌:
该字段由两个嵌套字段组成:generatedToken
token
:令牌的字符串表示形式。logprob
:应用采样参数作为浮点值后令牌的预测对数概率。raw_logprob
:令牌的原始预测对数概率作为浮点值。对于无关紧要的值(即 , ),我们得到。temperature=1``topP=1``raw_logprob=logprob
顶级代币
该字段是该位置的前 K 个替代令牌的列表,根据请求参数按概率排序。如果设置为 0,则该字段将为空。topTokens``topKReturn``topKReturn
列表中的每个令牌包括:
token
:替代标记的字符串表示形式。logprob
:替代令牌的预测对数概率作为浮点值。
文本范围
该字段指示解码后的文本字符串中标记的开始和结束偏移量:textRange
start
:解码后的文本字符串中标记的起始索引。end
:解码后的文本字符串中标记的结束索引。