Mistral AI聊天完成 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Mistral AI聊天完成

Mistral AI聊天完成 API 允许创建对话应用程序。

提示

您可以将Mistral AI聊天完成 API 与基本推理操作(InvokeModelInvokeModelWithResponseStream)配合使用。但是,我们建议您使用 Converse API 在应用程序中实现消息。Converse API 提供了一组统一的参数,适用于所有支持消息的模型。有关更多信息,请参阅 使用匡威 API

Mistral AI模型在 Apache 2.0 许可下可用。有关使用Mistral AI模型的更多信息,请参阅Mistral AI文档

支持的型号

您可以使用以下Mistral AI模型。

  • Mistral Large

您需要获得希望使用的模型的模型 ID。要获取模型 ID,请参阅亚马逊 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 }

以下是必要参数。

  • 消息-(必填)要传递给模型的消息。

    • 角色-消息的角色。有效值为:

      • 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_reasontool_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 — 模型正在请求您运行工具。