本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Mistral AI聊天完成
Mistral AI聊天完成 API 允许创建对话应用程序。
提示
您可以将Mistral AI聊天完成 API 与基本推理操作(InvokeModel或 InvokeModelWithResponseStream)配合使用。但是,我们建议您使用 Converse API 在应用程序中实现消息。Converse API 提供了一组统一的参数,适用于所有支持消息的模型。有关更多信息,请参阅 与匡威API运营部门进行对话。
Mistral AI模型在 Apache 2.0 许可
支持的型号
您可以使用以下Mistral AI模型。
Mistral Large
您需要获得希望使用的模型的模型 ID。要获取模型 ID,请参阅Amazon Bedrock 模型 IDs。
请求和响应
- 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 }
以下是必要参数。
-
消息-(必填)要传递给模型的消息。
-
角色-消息的角色。有效值为:
sy@@ st em-设置对话中模型的行为和上下文。
user-要发送给模型的用户消息。
助手-来自模型的响应。
-
内容-消息的内容。
[ { "role": "user", "content": "What is the most popular song on WZPZ?" } ]
要传递工具结果,请将 JSON 与以下字段一起使用。
-
角色-消息的角色。值必须为
tool
。 -
tool_call_id — 工具请求的 ID。您可以从上一个请求的响应中的
tool_calls
字段中获取 ID。 -
内容-工具的结果。
以下示例是获取广播电台上最受欢迎的歌曲的工具的结果。
{ "role": "tool", "tool_call_id": "v6RMMiRlT7ygYkT4uULjtg", "content": "{\"song\": \"Elemental Hotel\", \"artist\": \"8 Storey Hike\"}" }
-
以下是可选参数。
-
工具-模型可能使用的工具的定义。
如果您在请求
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_choic e — 指定如何调用函数。如果设置为
none
,则模型不会调用函数,而是会生成一条消息。如果设置为auto
,则模型可以选择生成消息或调用函数。如果设置为模型any
,则强制调用一个函数。
-
max_token s — 指定要在生成的响应中使用的最大令牌数。一旦生成的文本超过
max_tokens
,模型就会截断响应。默认 最低 最高 Mistral Large— 8,192
1
Mistral Large— 8,192
-
温度-控制模型所做预测的随机性。有关更多信息,请参阅 使用推理参数生成影响响应。
默认 最低 最高 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
响应含有以下值:-
cho@@ ices — 模型的输出。字段。
-
inde x — 消息的索引。
-
消息-来自模型的消息。
-
角色-消息的角色。
-
内容-消息的内容。
-
tool_c alls — 如果的值
stop_reason
为tool_calls
,则此字段包含模型希望您运行的工具请求列表。-
id — 工具请求的 ID。
-
函数-模型请求的函数。
-
名称-函数的名称。
-
参数-要传递给工具的参数
-
以下是请求获取广播电台热门歌曲的工具的示例。
[ { "id": "v6RMMiRlT7ygYkT4uULjtg", "function": { "name": "top_song", "arguments": "{\"sign\": \"WZPZ\"}" } } ]
-
-
-
stop_ reason — 响应停止生成文本的原因。可能的值有:
-
stop – 模型已结束为输入提示生成文本。模型之所以停止,是因为它没有更多内容要生成,或者模型生成了您在
stop
请求参数中定义的停止序列之一。 -
l ength — 生成的文本的标记长度超过的值
max_tokens
。响应被截断为max_tokens
个令牌。 -
tool_c alls — 模型正在请求您运行工具。
-
-
-