必须通过openai兼容接口调用腾讯混元api,使用go-openai sdk并配置hy_api_key与hy_base_url;model字段须严格为hunyuan-pro等合法值,大小写敏感,否则返回404。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Go项目中调用腾讯混元大模型API,必须通过官方支持的OpenAI兼容接口完成请求封装,不能直接使用tencentcloud-sdk-go(该SDK暂未提供hunyuan模块);否则会因认证失败或路径错误返回404/401。
准备混元API密钥与基础配置
登录腾讯云控制台 → 进入「访问管理(CAM)」→ 左侧「API密钥管理」→ 点击「新建密钥」→ 勾选「程序化访问」→ 创建后【立即复制SecretId和SecretKey并离线保存】;关闭页面后SecretKey将永久不可见。
前往 TokenHub(原混元控制台已迁移)→ 新建服务实例 → 获取专属 API Key;注意:此Key与CAM密钥不同,专用于OpenAI兼容接口,且需绑定服务地域(目前仅支持 ap-guangzhou)。
在项目根目录下新建 .env 文件,写入:
HY_API_KEY=sk-xxx
HY_BASE_URL=https://api.hunyuan.cloud.tencent.com/v1
初始化Go项目并安装依赖
执行 go mod init your-project-name 初始化模块。
安装 OpenAI 兼容客户端:go get github.com/sashabaranov/go-openai。这是目前唯一稳定支持混元OpenAI接口的Go SDK,其他轻量库缺乏流式响应、超时控制等关键能力。
不建议手写http.Client发起请求——混元要求精确携带 Authorization: Bearer {key}、Content-Type: application/json,且部分字段(如model)校验严格,拼错即400;SDK已内置重试、错误解析和字段校验逻辑。
编写调用代码
创建 main.go,填入以下结构:
第一步:调用 openai.NewClient(),传入自定义 http.Client 并设置 Timeout 为 60 秒(混元长文本推理可能耗时较长);
第二步:构造 openai.ChatCompletionRequest,其中 Model 字段必须填 hunyuan-pro、hunyuan-standard 或 hunyuan-lite(大小写敏感,填错返回404);
第三步:Messages 字段至少包含一个 role: "user" 的 map[string]interface{},content 不能为空字符串,否则返回422;
第四步:调用 client.CreateChatCompletion(ctx, req),检查 response.Error 是否为 nil,再取 response.Choices[0].Message.Content。
示例 model 值:
✅ hunyuan-pro
✅ hunyuan-standard
❌ hunyuan_pro(下划线非法)
❌ Hunyuan-Pro(大小写错误)
验证连接与调试技巧
方法一:用 curl 快速验证密钥有效性:
curl -X POST "$HY_BASE_URL/chat/completions" \
-H "Authorization: Bearer $HY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"hunyuan-standard","messages":[{"role":"user","content":"你好"}]}'
方法二:在代码中启用 SDK 日志:client.SetBaseURL("$HY_BASE_URL") 后追加 client.SetHTTPClient(&http.Client{Transport: &debugTransport{}}),自定义 debugTransport 实现 RoundTrip 打印原始请求头与响应体——这能快速定位是鉴权失败还是参数格式问题。
若返回 {"error":{"message":"Invalid API key","type":"invalid_request_error",...}},说明 $HY_API_KEY 错误或已过期;【TokenHub 中的 API Key 不可与 CAM 密钥混用】,二者签发体系完全不同。











