混元生文

最近更新时间:2024-11-11 17:52:42

我的收藏
混元 API 兼容了 OpenAI 的接口规范,这意味着您可以直接使用 OpenAI 官方提供的 SDK 来调用混元大模型。您仅需要将 base_urlapi_key 替换成混元的相关配置,不需要对应用做额外修改,即可无缝将您的应用切换到混元大模型。
示例代码片段
Python
NodeJS
Golang
import os
from openai import OpenAI

# 构造 client
client = OpenAI(
api_key=os.environ.get("HUNYUAN_API_KEY"), # 混元 APIKey
base_url="https://api.hunyuan.cloud.tencent.com/v1", # 混元 endpoint
)



# 自定义参数传参示例
completion = client.chat.completions.create(
model="hunyuan-pro",
messages=[
{
"role": "user",
"content": "你好",
},
],
extra_body={
"enable_enhancement": true, # <- 自定义参数
},
)
const OpenAI = require("openai");

// 构造 client
const client = new OpenAI({
apiKey: process.env['HUNYUAN_API_KEY'], // 混元 APIKey
baseURL: "https://api.hunyuan.cloud.tencent.com/v1", // 混元 endpoint
});



// 自定义参数传参示例
const completion = await openai.chat.completions.create({
model: 'hunyuan-pro',
messages: [{ role: 'user', content: '你好' }],
// @ts-expect-error key is not yet public
enable_enhancement: true, // <- 自定义参数
});
console.log(completion.choices[0]?.message?.content);
import (
"os"

"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)

// 注意: openai 官方的 golang sdk 目前尚处于 alpha 阶段。未来可能会出现一些小的破坏性改动。

// 构造 client
client := openai.NewClient(
option.WithAPIKey(os.Getenv("HUNYUAN_API_KEY")), // 混元 APIKey
option.WithBaseURL("https://api.hunyuan.cloud.tencent.com/v1/"), // 混元 endpoint
)



// 自定义参数传参示例
completion, err := client.Chat.Completions.New(ctx,
openai.ChatCompletionNewParams{
Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
openai.UserMessage("你好"),
}),
Model: openai.F("hunyuan-pro"),
},
option.WithJSONSet("enable_enhancement", true), // <- 自定义参数
)
查看更多完整示例
Python
NodeJS
Go
说明:
我们将努力保证混元与 OpenAI 的兼容性,但是仍然会存在一些细微的差异(通常来说并不会破坏整体的兼容性或者影响功能的使用)。
本文档会列出混元兼容接口与 OpenAI 的差异,开发者可以自行检查并评估对您应用的影响。

/v1/chat/completions

stop

调用 OpenAI 的接口时,如果您指定了 stop 参数, 模型会停止在匹配到 stop 的内容之前。 在调用混元接口时,会停止在匹配到 stop 的内容之后。

以原始输出 “我是一个AI助手可以帮助您在不同方面做出更好的决策,解答您的疑问并提供可靠的信息。”为例:

stop 参数
模型输出
OpenAI
助手
我是一个AI
混元
助手
我是一个AI助手
说明:
未来我们可能会修改此行为以便和 OpenAI 保持一致。
但是目前有使用该参数的情况下,开发者需要注意该参数是否会对应用造成影响,以及未来该行为调整时带来的影响。

stream_options

在 OpenAI 的接口中,当 stream_options.include_usage=true 时,会在最后一个数据块中返回 usage 信息。 在混元的接口中,同样 stream_options.include_usage=true,会在每个数据块中返回到当前数据块为止的 token 消耗情况。
说明:
一般情况下,开发者无需做额外的兼容工作来处理该差异。如果开发者有需要统计每次的 token 消耗情况,可以通过每个数据块的 usage 字段获取。

混元自定义参数

参数名称
必选
类型
默认值
描述
enable_enhancement
Boolean
true
功能增强(如搜索)开关。
说明:
1. hunyuan-lite 无功能增强(如搜索)能力,该参数对 hunyuan-lite 版本不生效。
2. 未传值时默认打开开关。
3. 关闭时将直接由主模型生成回复内容,可以降低响应时延(对于流式输出时的首字时延尤为明显)。但在少数场景里,回复效果可能会下降。
4. 安全审核能力不属于功能增强范围,不受此字段影响。
enable_speed_search
Boolean
false
是否开启极速版搜索,默认false,不开启
在开启且命中搜索时,会启用极速版搜索,流式输出首字返回更快。

/v1/embeddings

embedding 接口目前仅支持 inputmodel 参数,model 当前固定为 hunyuan-embeddingdimensions 固定为 1024。