MiniMax
  1. 开发指南
MiniMax
  • 公告通知
  • 产品定价
  • 概述
  • FAQ
  • 大模型介绍
    • 文本大模型
    • 语音大模型
  • 接入说明
    • 新手指南
    • 速率说明
  • 开发指南
    • 快速开始
  • 文本大模型接口
    • ChatCompletion Pro(对话)
      • 概述
      • ChatCompletion Pro API 文档
        • ChatCompletion Pro API
        • 示例对话功能
        • 限制返回格式功能(glyph)
        • 函数调用功能(function calling)
        • 插件功能(plugins)
        • 知识库检索功能(retrieval)
    • 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(知识库检索)
    • 新建知识库
      POST
    • 删除知识库
      POST
    • 查看知识库详情
      GET
    • 查看知识库列表
      GET
    • 增加知识库文档
      POST
    • 删除知识库文档
      POST
    • 修改知识库文档
      POST
    • 查看知识库文档
      GET
    • 检索 Chatcompletion
      POST
    • 检索 Chatcompletion pro
      POST
  • 微调
    • 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,语音模型接口为:T2A(语音生成接口)。
如您有更多接口的快速开始调用示例的需求,可以移步相应的接口文档进行信息获取。
本示例基于python3,帮助您快速接入MiniMax开放平台体验中心的文本以及音频能力,您需要完成以下步骤:

1.获取鉴权信息#

在【基础信息】获取group_id
img
在【接口秘钥】获取 api key
img
需要注意的是,由于API密钥在生成后我们不会再显示他们,所以当你需要复制API密钥的时候,可以重新创建一个以完成复制操作。

2.复制完整代码并执行#

以下是一份可以在python3的终端环境中直接执行的完整代码,请将以下group_id和api_key替换为第一步获取的鉴权信息即可执行。
注意:添加import readline引用是为了解决在中文输入下,python的input接口在删除字符的时候错误处理的问题。

2.1 ChatCompletion Pro#

import requests
import readline

group_id = "请填写您的group_id"
api_key = "请填写您的api_key"

url = f"https://api.minimax.chat/v1/text/chatcompletion_pro?GroupId={group_id}"
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}

# tokens_to_generate/bot_setting/reply_constraints可自行修改
request_body = payload = {
    "model": "abab5.5-chat",
    "tokens_to_generate": 1024,
    "reply_constraints": {"sender_type": "BOT", "sender_name": "MM智能助理"},
    "messages": [],
    "bot_setting": [
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。",
        }
    ],
}
# 添加循环完成多轮交互
while True:
    # 下面的输入获取是基于python终端环境,请根据您的场景替换成对应的用户输入获取代码
    line = input("发言:")
    # 将当次输入内容作为用户的一轮对话添加到messages
    request_body["messages"].append(
        {"sender_type": "USER", "sender_name": "小明", "text": line}
    )
    response = requests.post(url, headers=headers, json=request_body)
    reply = response.json()["reply"]
    print(f"reply: {reply}")
    #  将当次的ai回复内容加入messages
    request_body["messages"].extend(response.json()["choices"][0]["messages"])

2.2 T2A#

import requests

group_id = "请填写您的group_id"
api_key = "请填写您的api_key"

url = f"https://api.minimax.chat/v1/text_to_speech?GroupId={group_id}"
headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json",
}
data = {
    "voice_id": "male-qn-qingse",// 如同时传入voice_id和timber_weights时,则会自动忽略voice_id,以timber_weights传递的参数为准
    "text": "你好",
    "model": "speech-01",
    "speed": 1.0,
    "vol": 1.0,
    "pitch": 0,
    "timber_weights": [
        {
            "voice_id": "male-qn-qingse",
            "weight": 1
        },
        {
            "voice_id": "female-shaonv",
            "weight": 1
        },
        {
            "voice_id": "female-yujie",
            "weight": 1
        },
        {
            "voice_id": "audiobook_male_2",
            "weight": 1
        }
    ]
}

response = requests.post(url, headers=headers, json=data)
print("trace_id", response.headers.get("Trace-Id"))
if response.status_code != 200 or "json" in response.headers["Content-Type"]:
    print("调用失败", response.status_code, response.text)
    exit()
with open("output.mp3", "wb") as f:
    f.write(response.content)
如果您想进一步了解上述完整代码是如何逐步构建,您可以继续阅读以下详细步骤解释:

3.构建请求头#

复制下面代码并根据鉴权信息构建请求头(group_id和api_key为需要您替换的鉴权信息)

3.1 ChatCompletion pro#

url = f"https://api.minimax.chat/v1/text/chatcompletion_pro?GroupId={group_id}"
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}

3.2 T2A#

 url = f"https://api.minimax.chat/v1/text_to_speech?GroupId={group_id}"
headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json",
}

4.构建请求内容#

本示例是基于python在终端交互的对话,input关键字内的提示词根据您的场景替换成对应的用户输入获取代码或参数。 其余参数,不建议您修改。

4.1 ChatCompletion pro#

tokens_to_generate/bot_setting/reply_constraints可自行修改
request_body = payload = {
    "model": "abab5.5-chat",
    "tokens_to_generate": 1024,
    "reply_constraints": {"sender_type": "BOT", "sender_name": "MM智能助理"},
    "messages": [],
    "bot_setting": [
        {
            "bot_name": "MM智能助理",
            "content": "MM智能助理是一款由MiniMax自研的,没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司,一直致力于进行大模型相关的研究。",
        }
    ],
}
line = input("发言:")
将当次输入内容作为用户的一轮对话添加到messages
request_body["messages"].append(
    {"sender_type": "USER", "sender_name": "小明", "text": line}
)

4.2 T2A#

data = {
    "voice_id": "male-qn-qingse",// 如同时传入voice_id和timber_weights时,则会自动忽略voice_id,以timber_weights传递的参数为准
    "text": "你好",
    "model": "speech-01",
    "speed": 1.0,
    "vol": 1.0,
    "pitch": 0,
    "timber_weights": [
        {
            "voice_id": "male-qn-qingse",
            "weight": 1
        },
        {
            "voice_id": "female-shaonv",
            "weight": 1
        },
        {
            "voice_id": "female-yujie",
            "weight": 1
        },
        {
            "voice_id": "audiobook_male_2",
            "weight": 1
        }
    ]
}

5.完成交互#

通过requests库提供的post能力对api进行调用,复制下面的代码即可完成多轮交互。
注意:每一轮回复都需要追加到messages中,这样才能在多轮的对话中记住对话历史。

5.1 ChatCompletion pro#

response = requests.post(url, headers=headers, json=request_body)
将当次的ai回复内容加入messages
request_body["messages"].extend(response.json()["choices"][0]["messages"])  

5.2 T2A#

response = requests.post(url, headers=headers, json=data)
print("trace_id", response.headers.get("Trace-Id"))
if response.status_code != 200 or "json" in response.headers["Content-Type"]:
    print("调用失败", response.status_code, response.text)
    exit()
with open("output.mp3", "wb") as f:
    f.write(response.content)

文本交互示例#

在以下的交互例子中,我们会通过展示终端的输出,来展示交互的过程。其中我们会使用😀来标识输入的内容,🤖来标识api输出的内容
img
上一页
速率说明
下一页
概述
Built with