所有文章 > 如何集成API > 利用python语言调用腾讯混元大模型接口实战指南
利用python语言调用腾讯混元大模型接口实战指南

利用python语言调用腾讯混元大模型接口实战指南

什么是混元大模型

“腾讯元器”是基于腾讯混元大模型的一站式智能体制作平台,支持通过下述能力对大模型进行增强:

  • 提示词,包含详细设定(system prompt),开场白,建议引导问题。
  • 插件(外部API),目前支持勾选多个插件。官方插件包含微信搜一搜、PDF摘要&解析、混元图片生成,也支持用户自定义插件。
  • 知识库,当前版本支持doc和txt两种格式。
  • 工作流,一种“流程图”式的低代码编辑工具,可以用来做一个“高级版”插件。在工作流里,可以任意编排插件、知识库、大模型节点的工作顺序和调用传参,从而精确控制智能体中部分任务的运行逻辑。

通过元器平台制作的智能体,目前支持32k token上下文长度(某次回答过程中的提示词+机器回答的token长度,一个token约为1.8个中文字符)。工作流的超时运行时间为5分钟。智能体的回复上限时间是90s。

什么是API接口

API是一个软件解决方案,作为中介,使两个应用程序能够相互交互。以下一些特征让API变得更加有用和有价值:

  • 遵守REST和HTTP等易于访问、广泛理解和开发人员友好的标准。
  • API不仅仅是几行代码;这些是为移动开发人员等特定受众创建的。
  • 这些有清晰的文档和版本,以满足用户的期望。
  • 更好的治理和安全性,以及监控以管理性能和可扩展性。

Python编写API接口的主要步骤如下:

登录并注册账号

可以通过 幂简集成-API HUB 快速找到大量AI技术相关API,心仪的API可以在登录后添加到个人书签,便于下次使用快速查找。


点击跳转 腾讯混元 官网,点击“腾讯元器”,输入手机号码并通过验证吗登录。

创建智能体

登录成功后,点击“创建智能体”


输入要创建智能体的名称、简介、头像(可以AI生成)、详细设定等相关信息~


还可以添加丰富的插件、知识库、工作流等~


每一项表单的编辑后,右边会自动更新智能体的配置(预计有3-5s左右延迟),我们就可以即时查看智能体在配置更新后的效果~

发布智能体

调试没有问题后就可以发布智能体,并等待审核成功~


如果使用API调用的方式,不需要选择发布平台

获取相关验证信息

审核通过后,到我的创建中找到创建的智能体


在弹窗中复制自己的智能体ID和Token(注意不要泄露,泄露后要及时重置)

发送信息

API服务地址

URLhttps://open.hunyuan.tencent.com/openapi/v1/agent/chat/completions
请求方式POST

请求参数

参数名类型是否必选说明
assistant_idstring助手ID
versionnumber助手版本 (仅对内部开放)
user_idstring用户ID,调用者业务侧的用户ID,会影响智能体的数据统计,建议按实际情况填写
streambool是否以流式接口的形式返回数据,默认false
chat_typestring默认为published,传preview时,表示使用草稿态智能体 (仅对内部开放)
messageslist会话内容, 长度最多为40, 按对话时间从旧到新在数组中排列
messages[n].rolestring角色, ‘user’或者’assistant’, 在message中必须是user与assistant交替(一问一答)
messages[n].contentlist可以传入多种类型的内容,如图片、文件或文本
messages[n].content[m].typestring内容的类型,可选参数为’text’或’file_url’
messages[n].content[m].textstring当type为text时使用,表示具体的文本内容
messages[n].content[m].file_urlobject当type为file_url时使用,表示具体的文件内容
messages[n].content[m].file_url.typestring文件的类型,例如image/video/audio/pdf/doc/txt等
messages[n].content[m].file_url.urlstring文件的url

响应参数

返回格式application/json,body参数如下:

参数名类型说明
idstring此次请求的id
creatednumberunix时间戳
choiceslist返回的回复, 当前仅有一个
choices[n].indexnumber第几个回复
choices[n].finish_reasonstring“stop”表示正常结束,”sensitive”表示审核不通过”tool_fail”表示调用工具失败
choices[n].messagejson返回的内容
choices[n].message.rolestring角色名称
choices[n].message.contentstring内容详情
choices[n].message.stepslist助手的执行步骤
choices[n].message.steps[m].rolestring执行步骤中的角色名称,assistant表示模型,tool表示工具调用
choices[n].message.steps[m].contentstring执行步骤的结果,当角色为assistant时表示模型的输出内容,当角色为tool时表示工具的输出内容
choices[n].message.steps[m].tool_call_idstring角色为tool时有效,内容为模型生成的工具调用中的唯一ID
choices[n].message.steps[m].tool_callslist模型生成的工具调用
choices[n].message.steps[m].tool_calls[i].idstring工具调用的唯一ID
choices[n].message.steps[m].tool_calls[i].typestring调用的工具类型,当前只支持function
choices[n].message.steps[m].tool_calls[i].functionobject具体调用的function
choices[n].message.steps[m].tool_calls[i].function.namestringfunction名称
choices[n].message.steps[m].tool_calls[i].function.descstringfunction描述
choices[n].message.steps[m].tool_calls[i].function.typestringfunction类型,当前支持tool/knowledge/workflow
choices[n].message.steps[m].tool_calls[i].function.argumentsstring调用function的参数,JSON格式
choices[n].message.steps[m].usageobject当前执行步骤的token使用量
choices[n].message.steps[m].usage.prompt_tokensnumber问题token使用量
choices[n].message.steps[m].usage.completion_tokensnumber回答token使用量
choices[n].message.steps[m].usage.total_tokensnumbertoken总使用量
choices[n].message.steps[m].time_costnumber当前执行步骤的耗时
choices[n].deltajson返回的内容(流式返回)
choices[n].delta.rolestring角色名称,assistant表示模型,tool表示工具调用(流式返回)
choices[n].delta.contentstring内容详情,当角色为assistant时表示模型的输出内容,当角色为tool时表示工具的输出内容(流式返回)
choices[n].delta.tool_call_idstring角色为tool时有效,内容为模型生成的工具调用中对应的tool_call ID (流式返回)
choices[n].delta.tool_callslist模型生成的工具调用(流式返回)
choices[n].delta.tool_calls[m].idstring工具调用的唯一id(流式返回)
choices[n].delta.tool_calls[m].typestring调用的工具类型,当前只支持function(流式返回)
choices[n].delta.tool_calls[m].functionobject具体调用的function(流式返回)
choices[n].delta.tool_calls[m].function.namestringfunction名称(流式返回)
choices[n].delta.tool_calls[m].function.descstringfunction描述(流式返回)
choices[n].delta.tool_calls[m].function.typestringfunction类型,当前支持tool/knowledge/workflow(流式返回)
choices[n].delta.tool_calls[m].function.argumentsstring调用function的参数,JSON格式(流式返回)
choices[n].delta.time_costnumber当前执行步骤的耗时(流式返回)
assistant_idstring实际使用的助手id
usageobjecttoken使用量
usage.prompt_tokensnumber问题token使用量
usage.completion_tokensnumber回答token使用量
usage.total_tokensnumbertoken总使用量

调用示例

import requests
import json

# 定义 API 的 URL
url = 'https://open.hunyuan.tencent.com/openapi/v1/agent/chat/completions'

# 定义请求头
headers = {
'X-Source': 'openapi',
'Content-Type': 'application/json',
'Authorization': 'Bearer <元器用户的token>'
}

# 定义请求体
data = {
"assistant_id": "I4aVQTHpsJro",
"user_id": "username",
"stream": False,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "生成去张家口旅行的计划"
}
]
}
]
}

# 将请求体转换为 JSON 格式的字符串
json_data = json.dumps(data)

# 发送 POST 请求
response = requests.post(url, headers=headers, json=data) # 使用 json 参数自动设置正确的 Content-Type

# 打印响应内容
print(response.text)

调用成功:

错误码

序号错误码解释
1400请求参数错误
待补充…

计费说明

当前每个元器用户有100w的token体验使用额度,额度用完后,将无法调用。我们会尽快上线API付费能力,付费后,可以支持更多次调用。

最后

如果你想找到更多的大模型,欢迎到 幂简集成 找找看,找到自己中意的大模型。

#你可能也喜欢这些API文章!