本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Mistral AI 聊天完成
这些区域有:Mistral AI 聊天完成API功能允许创建对话应用程序。
提示
您可以使用 Mistral AI API使用基本推理操作(InvokeModel或 InvokeModelWithResponseStream)完成聊天。但是,我们建议您使用 Converse API在您的应用程序中实现消息。这些区域有:Converse API提供了一组统一的参数,适用于所有支持消息的模型。有关更多信息,请参阅 与... 进行对话 Converse API 操作。
Mistral AI 模型在 Apache 2.0 许可
支持的模型
你可以使用以下 Mistral AI 模型。
Mistral Large
您需要获取想要使用的模型的模型 ID。要获取模型 ID,请参阅 Amazon Bedrock 中支持的根基模型。
请求和响应
- Request
-
这些区域有:Mistral AI 模型具有以下推理参数。
{ "messages": [ { "role": "system"|"user"|"assistant", "content": str }, { "role": "assistant", "content": "", "tool_calls": [ { "id": str, "function": { "name": str, "arguments": str } } ] }, { "role": "tool", "tool_call_id": str, "content": str } ], "tools": [ { "type": "function", "function": { "name": str, "description": str, "parameters": dict } } ], "tool_choice": "auto"|"any"|"none", "max_tokens": int, "top_p": float, "temperature": float }
以下是必要参数。
-
messages – (必需)要传递给模型的信息。
-
role – 消息的角色。有效值为:
system – 设置模型在对话中的行为和上下文。
user – 要发送给模型的用户消息。
assistant – 模型的响应。
-
content – 消息的内容。
[ { "role": "user", "content": "What is the most popular song on WZPZ?" } ]
要传递工具结果,请JSON使用以下字段。
-
role – 消息的角色。值必须为
tool
。 -
tool_call_id – 工具请求的 ID。您可以从上一个请求的响应中的
tool_calls
字段获取 ID。 -
content – 来自工具的结果。
以下示例展示了一种用于获取电台热门歌曲的工具的结果。
{ "role": "tool", "tool_call_id": "v6RMMiRlT7ygYkT4uULjtg", "content": "{\"song\": \"Elemental Hotel\", \"artist\": \"8 Storey Hike\"}" }
-
以下是可选参数。
-
tools – 模型可能使用的工具的定义。
如果您在请求中包含了
tools
,模型可能会在消息中返回一个tool_calls
字段,表示该模型使用这些工具。然后,您可以使用模型生成的工具输入来运行这些工具,接着使用tool_result
内容块选择性地将结果返回到模型。以下示例展示了一种用于获取电台热门歌曲的工具。
[ { "type": "function", "function": { "name": "top_song", "description": "Get the most popular song played on a radio station.", "parameters": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } } ]
-
tool_choice – 指定函数的调用方式。如果设置为
none
,模型将不会调用函数,而是生成一条消息。如果设置为auto
,则模型可以选择生成信息或调用函数。如果设置为any
,则系统会强制模型调用函数。
-
max_tokens – 指定要在生成的响应中使用的最大词元数。一旦生成的文本超过
max_tokens
,模型就会截断响应。默认 最小值 最大值 Mistral Large — 8,192
1
Mistral Large — 8,192
-
temperature – 控制模型所做预测的随机性。有关更多信息,请参阅 利用推理参数影响响应生成。
默认 最小值 最大值 Mistral Large — 0.7
0
1
-
top_p – 通过设置模型为下一个词元考虑的最有可能的候选项所占百分比,控制模型生成的文本的多样性。有关更多信息,请参阅 利用推理参数影响响应生成。
默认 最小值 最大值 Mistral Large — 1
0
1
-
- Response
-
以下是来自对
InvokeModel
的调用的body
响应。{ "choices": [ { "index": 0, "message": { "role": "assistant", "content": str, "tool_calls": [...] }, "stop_reason": "stop"|"length"|"tool_calls" } ] }
body
响应含有以下值:-
choices – 模型的输出字段。
-
index – 消息的索引。
-
message – 来自模型的消息。
-
role – 消息的角色。
-
content – 消息的内容。
-
tool_calls – 如果
stop_reason
的值为tool_calls
,则此字段包含模型想让您运行的工具请求的列表。-
id – 工具请求的 ID。
-
function – 模型请求的函数。
-
name – 函数的名称。
-
arguments – 要传递到工具的参数
-
下面是一个用于获取电台热门歌曲的工具的请求示例。
[ { "id": "v6RMMiRlT7ygYkT4uULjtg", "function": { "name": "top_song", "arguments": "{\"sign\": \"WZPZ\"}" } } ]
-
-
-
stop_reason – 响应停止生成文本的原因。可能的值有:
-
stop – 模型已结束为输入提示生成文本。模型停止的原因是没有更多内容要生成,或者模型生成了您在
stop
请求参数中定义的停止序列之一。 -
length – 生成的文本的词元长度超过
max_tokens
的值。响应被截断为max_tokens
个令牌。 -
tool_calls – 模型请求您运行一个工具。
-
-
-