MiniMax
  1. ChatCompletion Pro API 文档
MiniMax
  • 公告通知
  • 产品定价
  • 概述
  • FAQ
  • 大模型介绍
    • 文本大模型
    • 语音大模型
  • 接入说明
    • 新手指南
    • 速率说明
  • 开发指南
    • 快速开始
  • 文本大模型接口
    • ChatCompletion Pro(对话)
      • 概述
      • ChatCompletion Pro API 文档
        • ChatCompletion Pro API
          POST
        • 示例对话功能
          POST
        • 限制返回格式功能(glyph)
          POST
        • 函数调用功能(function calling)
          POST
        • 插件功能(plugins)
          POST
        • 知识库检索功能(retrieval)
          POST
    • ChatCompletion(对话)
      • 概述
      • ChatCompletion 快速接入
      • ChatCompletion 调优指南
      • ChatCompletion API 文档
        • ChatCompletion API
        • 知识库检索功能(retrieval)
  • Assistants 接口
    • Assistants 操作指南
    • Assistans API 文档
      • Assistant
        • 创建 Assistant
        • 检索 Assistants
        • 删除 assistant
        • 查看 assistant 列表
      • Assistant File
        • 创建 assistant 文件
        • 检索 assistant 关联的文件
        • 列出 assistant 文件
      • Thread
        • 创建 thread
        • 检索 thread
      • Message
        • 创建 message
        • 检索 message
        • message 列表
      • Run
        • 创建 run
        • 检索 run
        • 列表 run
        • Submit tool outputs to run
      • Run Step
        • 检索 run step
        • 列表 run step
  • File(文档)
    • File(文档)
      GET
    • Upload 接口
      GET
    • Retrieve 接口
      GET
    • Delete 接口
      POST
    • RetrieveContent 接口
      GET
  • Retrieval(知识库检索)
    • 新建知识库
    • 删除知识库
    • 查看知识库详情
    • 查看知识库列表
    • 增加知识库文档
    • 删除知识库文档
    • 修改知识库文档
    • 查看知识库文档
    • 检索 Chatcompletion
    • 检索 Chatcompletion pro
  • 微调
    • Finetune 操作指南
    • Finetune API文档
      • 创建微调任务
      • 列出微调任务
      • 检索微调任务
      • 删除微调任务
      • 列出微调事件
      • 列举微调模型
      • 查询微调模型
      • 删除微调模型
  • 向量化
    • Embeddings(向量化)
  • 语音大模型接口
    • T2A (语音生成)
      • T2A 快速接入
      • T2A API 接口
        • T2A API接口
        • 字典功能(Dictionary)
    • T2A pro(长文本语音生成)
      • T2A Pro 快速接入
      • T2A Pro API 接口
      • 字典功能(Dictionary)
    • T2A large(异步超长文本语音生成)
      • T2A Large 快速接入
      • T2A Large API 接口
        • T2A Large API 接口
        • 字典功能(Dictionary)
    • T2A Stream(流式语音生成)
      • T2A Stream(流式语音生成)
      • 字典功能(Dictionary)
    • 快速复刻(Voice Cloning)
      • 上传文件
      • 音频复刻
  • 有声内容创作
    • Role Classification (文本角色分类)
      • 创建并异步运行角色识别任务
      • 查询角色识别任务
    • Role Audio Generation (角色音频生成)
      • 角色音频生成
  1. ChatCompletion Pro API 文档

限制返回格式功能(glyph)

开发环境
http://dev-cn.your-api-server.com
开发环境
http://dev-cn.your-api-server.com
POST
https://api.minimax.chat/v1/text/chatcompletion_pro
该功能可以帮助用户强制要求模型按照配置的固定格式返回内容,当前支持配置的格式详见下表。

4.3.2 请求体(request)参数#

如需使用该功能,则需要在使用基础功能参数的同时,额外添加以下参数。
参数位置参数语义取值备注
bodyreply_constraints.glyph限制的返回格式配置dict
reply_constraints.glyph.type使用什么模板功能当前仅支持1、raw2、json_valuestring
reply_constraints.glyph.raw_glyph需要限制的格式要求,使用 glpyh 语法string详见下文 glyph 语法说明章节
reply_constraints.glyph.json_properties需要限制的格式要求,使用 dict描述json语法dict包括properties,properties包括参数及每个参数的类型type.包含三种基础类型:string boolean number以及对象类型和数组类型。object对象类型支持生成嵌套数据,array数组类型支持生成一组指定类型的数据。 可以参考下面的json value的请求示例
glyph.json_object.json_properties需要限制的格式要求,使用 dict描述json语法dictdict 的 key 由用户定义,描述需要生成的东西; value 是一个嵌套的 property,定义生成数据的结构和类型。 可以参考下面的json value的请求示例
glyph.json_object.json_properties[].typestringbooleannumberobject array必传字段,包含三种基础类型:string boolean number两种嵌套类型:object array
glyph.json_object.json_properties[].properties描述需要生成的数据,可输入多个字段dict定义生成数据的类型和结构比如,想生成名字和年龄,key-value 示例如下:{ "glyph": { "type":"json_value", "json_properties" :{ "name": { "type": "string", }, "age": { "type": "number", } } } }
glyph.json_object.json_properties.property_list有序的propertiesList当需要生成数据的key和输入顺序一致时,需要使用 property_list{ "glyph": { "type":"json_value", "property_list" :[ { "properties": { "name": { "type": "string", } } }, { "properties": { "age": { "type": "number", } } } ] } }
glyph.json_object.json_properties.properties[].Items当glyph.json_object.json_properties[].type=array时用来定义数组中生成内容的类型dict例:比如要生成一组名字示例如下{ "glyph": { "type":"json_value", "json_properties" :{ "name": { "type":"array", "items": { "type": "string" } } } } }
glyph 语法说明
raw_glpyh
在 {{ }} 之外的部分,模型输出会完全一致
在 {{ }} 之中的部分,模型会按照语法要求输出
举例:

如果 glyph 为 "《蒙娜丽莎》是{{gen 'name'}}的画作"
模型可能会输出 "蒙娜丽莎是列奥纳多·达·芬奇的画作"

模型不会输出 "列奥纳多·达·芬奇画了《蒙娜丽莎》"



如果 glyph 为 "西柚的类型为{{select 'type' options=['家电','其他']}}"
模型可能会输出 "西柚的类型为其他"

模型不会输出 "西柚的类型为水果"
详细语法如下:
语句语句说明支持参数参数说明参数类型备注
gen生成指令,提示文本生成stop模型停止生成需匹配的内容正则表达式1.仅在该段{{ }}范围生效;2.可与 pattern、temperature、blank_max_tokens同时生效
pattern生成内容需匹配的内容,生成内容需有明确的结束标志正则表达式1.仅在该段{{ }}范围生效;2.需在正则表达式中给出结束标志,比如数量上限,或者结束标志等;3.可与 pattern、temperature、blank_max_tokens同时生效;
temperatureSampling temperature,控制采样输出的随机性。较高的值将获得更加随机的输出float (0, 1]1.仅在该段{{ }}范围生效;2.可与 stop、pattern、blank_max_tokens同时生效
blank_max_tokensgen语句生成内容最大长度限制,优先级高于stop和pattern,低于全局的max_tokensint1.仅在该段{{ }}范围生效;2.可与stop、 pattern、temperature同时生效
select选择指令,限定模型输出的范围options选择生成文本的范围 。必填list[str]1.仅在该段{{ }}范围生效;2.可与 use_regex同时生效
use_regex是否使用正则表达式的方式匹配options中的内容bool1.仅在该段{{ }}范围生效;2.可与 options同时生效

4.3.3 raw_glyph 请求示例#

{
    "bot_setting": [ 
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。"
        }
    ],
    "messages": [ 
        {
            "sender_type": "USER",
            "sender_name": "小明",
            "text": "请用英语帮我翻译下面这句话:我是谁"
        }
    ],
    "reply_constraints": { 
        "sender_type": "BOT",
        "sender_name": "MM智能助理",
        "glyph": {
            "type": "raw",
            "raw_glyph": "这句话的翻译是:{{gen 'content'}}"
        }
    },
    "model": "abab5.5-chat", 
    "tokens_to_generate": 1034,
    "temperature": 0.01,
    "top_p": 0.95
}

4.3.4 json_value请求示例#

单层请求示例
{
    "model": "abab5.5-chat",
    "tokens_to_generate": 1024,
    "temperature": 0.9,
    "top_p": 0.95,
    "stream": false,
    "beam_width": 1,
    "reply_constraints": {
        "sender_type": "BOT",
        "sender_name": "MM智能助理",
        "glyph": {
            "json_properties": {
                "name": {
                    "type": "string"
                },
                "age": {
                    "type": "number"
                },
                "is_student": {
                    "type": "boolean"
                },
                "is_boy": {
                    "type": "boolean"
                },
                "courses": {
                    "type": "object",
                    "properties": {
                        "name": {
                            "type": "string"
                        },
                        "score": {
                            "type": "number"
                        }
                    }
                }
            },
            "type": "json_value"
        }
    },
    "sample_messages": [],
    "plugins": [],
    "messages": [
        {
            "sender_type": "USER",
            "sender_name": "用户",
            "text": "帮我提取以下信息的关键词:我叫月无双,来自太阳大学,今年18岁,刚刚考完《斗气化翼》课程,得了99.99分"
        }
    ],
    "bot_setting": [
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。"
        }
    ],
    "trace_id":"!231312"
}
嵌套请求示例
{
    "model": "abab5.5-chat",
    "tokens_to_generate": 1024,
    "temperature": 0.9,
    "top_p": 0.95,
    "stream": false,
    "beam_width": 1,
    "reply_constraints": {
        "sender_type": "BOT",
        "sender_name": "MM智能助理",
        "glyph": {
            "type": "json_value",
            "json_properties": {
                "student": {
                    "type": "object",
                    "property_list": [
                        {
                            "properties": {
                                "name": {
                                    "type": "string"
                                }
                            }
                        },
                        {
                            "properties": {
                                "mark": {
                                    "type": "string"
                                }
                            }
                        },
                        {
                            "properties": {
                                "mark1": {
                                    "type": "string"
                                }
                            }
                        },
                        {
                            "properties": {
                                "age": {
                                    "type": "boolean"
                                }
                            }
                        },
                        {
                            "properties": {
                                "comments": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        }
    },
    "sample_messages": [],
    "plugins": [],
    "messages": [
        {
            "sender_type": "USER",
            "sender_name": "用户",
            "text": "帮我提取以下信息的关键词,最后生成一系列积极的评语:我叫月无双,来自太阳大学,今年18岁,刚刚考完《斗气化翼》课程,得了99.99分。"
        }
    ],
    "bot_setting": [
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。"
        }
    ],
    "trace_id": "!231312"
}

4.3.5 返回(response)参数#

在返回基础功能参数的同时,额外返回以下参数
参数位置参数语义取值备注
bodyglyph_resultglyph语法的返回结果dict

4.3.6 返回示例#

raw_glyph 返回示例
{
    "created":1699522169,
    "model":"abab5.5-chat",
    "reply":"这句话的翻译是:\"Who am I?\"",
    "choices":[
        {
            "finish_reason":"stop",
            "glyph_result":{
                "content":"\"Who am I?\""
            },
            "messages":[
                {
                    "sender_type":"BOT",
                    "sender_name":"MM智能助理",
                    "text":"这句话的翻译是:\"Who am I?\""
                 }
             ]
         }
    ],
    "usage":{
            "total_tokens":169
    },
    "input_sensitive":false,
    "output_sensitive":false,
    "id":"019bd9785cbe54eabc8e9beeea608552",
    "base_resp":{
        "status_code":0,
        "status_msg":""
    }
}
json_value返回示例
需要注意的是当您在使用type=array类型时,如若对话服务输出的内容较长直至超出所设置的tokens_to_generate的数值,那么将会表现出array生成到一半即会被截断的结果。
如果您出现以上所描述的情况,可以通过以下操作进行解决:调整tokens_to_generate的上限数值,并且同步修改优化prompt,让模型感知到array需要多长。同时应尽量避免使用“说几个”、“给一些”等不确定数量的说法。
单层返回示例
{
    "created": 1695026998,
    "model": "abab5.5-chat",
    "reply": "{\n  \"name\": \"月无双\",\n  \"is_student\": true,\n  \"courses\":   {\n    \"name\": \"斗气化翼\",\n    \"score\": 99.99\n  },\n  \"age\": 18\n}",
    "choices": [
        {
            "finish_reason": "stop",
            "messages": [
                {
                    "sender_type": "BOT",
                    "sender_name": "MM智能助理",
                    "text": "{\n  \"name\": \"月无双\",\n  \"is_student\": true,\n  \"courses\":   {\n    \"name\": \"斗气化翼\",\n    \"score\": 99.99\n  },\n  \"age\": 18\n}"
                }
            ]
        }
    ],
    "usage": {
        "total_tokens": 350
    },
    "input_sensitive": false,
    "output_sensitive": false,
    "id": "0157422df0a266482950e56badee8bfc",
    "base_resp": {
        "status_code": 0,
        "status_msg": ""
    }
}
嵌套返回示例
{
    "model": "abab5.5-chat",
    "tokens_to_generate": 1024,
    "temperature": 0.9,
    "top_p": 0.95,
    "stream": false,
    "beam_width": 1,
    "reply_constraints": {
        "sender_type": "BOT",
        "sender_name": "MM智能助理",
        "glyph": {
            "type": "json_value",
            "json_properties": {
                "student": {
                    "type": "object",
                    "property_list": [
                        {
                            "properties": {
                                "name": {
                                    "type": "string"
                                }
                            }
                        },
                        {
                            "properties": {
                                "mark": {
                                    "type": "string"
                                }
                            }
                        },
                        {
                            "properties": {
                                "mark1": {
                                    "type": "string"
                                }
                            }
                        },
                        {
                            "properties": {
                                "age": {
                                    "type": "boolean"
                                }
                            }
                        },
                        {
                            "properties": {
                                "comments": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        }
    },
    "sample_messages": [],
    "plugins": [],
    "messages": [
        {
            "sender_type": "USER",
            "sender_name": "用户",
            "text": "帮我提取以下信息的关键词,最后生成一系列积极的评语:我叫月无双,来自太阳大学,今年18岁,刚刚考完《斗气化翼》课程,得了99.99分。"
        }
    ],
    "bot_setting": [
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。"
        }
    ],
    "trace_id": "!231312"
}
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.minimax.chat/v1/text/chatcompletion_pro' \
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "bot_setting": [ 
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。"
        }
    ],
    "messages": [ 
        {
            "sender_type": "USER",
            "sender_name": "小明",
            "text": "请用英语帮我翻译下面这句话:我是谁"
        }
    ],
    "reply_constraints": { 
        "sender_type": "BOT",
        "sender_name": "MM智能助理",
        "glyph": {
            "type": "raw",
            "raw_glyph": "这句话的翻译是:{{gen '\''content'\''}}"
        }
    },
    "model": "abab5.5-chat", 
    "tokens_to_generate": 1034,
    "temperature": 0.01,
    "top_p": 0.95
}'
响应示例响应示例
{
  "created": 0,
  "model": "string",
  "reply": "string",
  "choices": [
    {
      "finish_reason": "string",
      "glyph_result": {
        "content": "string"
      },
      "messages": [
        {
          "sender_type": "string",
          "sender_name": "string",
          "text": "string"
        }
      ]
    }
  ],
  "usage": {
    "total_tokens": 0
  },
  "input_sensitive": true,
  "output_sensitive": true,
  "id": "string",
  "base_resp": {
    "status_code": 0,
    "status_msg": "string"
  }
}

请求参数

Header 参数
Authorization
string 
可选
Content-Type
string 
可选
Body 参数application/json
bot_setting
array [object {2}] 
必需
bot_name
string 
可选
content
string 
可选
messages
array [object {3}] 
必需
sender_type
string 
可选
sender_name
string 
可选
text
string 
可选
reply_constraints
object 
必需
sender_type
string 
必需
sender_name
string 
必需
glyph
object 
限制的返回格式配置
必需
model
string 
必需
tokens_to_generate
integer 
必需
temperature
number 
必需
top_p
number 
必需
示例

返回响应

🟢200成功
application/json
Body
created
integer 
必需
model
string 
必需
reply
string 
必需
choices
array [object {3}] 
必需
finish_reason
string 
可选
glyph_result
object 
可选
messages
array [object {3}] 
可选
usage
object 
必需
total_tokens
integer 
必需
input_sensitive
boolean 
必需
output_sensitive
boolean 
必需
id
string 
必需
base_resp
object 
必需
status_code
integer 
必需
status_msg
string 
必需
上一页
示例对话功能
下一页
函数调用功能(function calling)
Built with