
go-openai
用 Go 快速接入 OpenAI 全家桶,实现 AI 功能
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 10807
技术标签
使用教程
环境要求
- Go 1.18 或更高版本
- 已安装 Go 工具链(可用 go 命令)
- 一个有效的 OpenAI API Key(platform.openai.com 获取)
- 能访问 OpenAI API 的网络环境
安装与启动步骤
-
1检查 Go 版本
README 要求 Go 1.18 或更高,先确认本机 Go 版本满足条件,过低需先升级。
go version -
2安装客户端库
在项目目录执行 go get 拉取 go-openai 依赖,会自动写入 go.mod。
go get github.com/sashabaranov/go-openai -
3设置 API Key
把从 OpenAI 平台申请的密钥写入环境变量 OPENAI_API_KEY,供程序读取。
export OPENAI_API_KEY="sk-xxxxxxxx" -
4编写示例代码
新建 main.go,粘贴 README 的 Responses API 示例,用环境变量构造客户端。
package main import ( "context" "fmt" "log" "os" openai "github.com/sashabaranov/go-openai" ) func main() { client := openai.NewClient(os.Getenv("OPENAI_API_KEY")) response, err := client.CreateResponse(context.Background(), openai.CreateResponseRequest{ Model: openai.GPT5Dot6Sol, Instructions: "You are a concise technical explainer.", Input: "Why is the sky blue?", }) if err != nil { log.Fatal(err) } fmt.Println(response.GetOutputText()) } -
5运行程序
执行 go run 运行示例,成功时终端会打印模型返回的文本。
go run main.go
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | OpenAI API 密钥,客户端通过它完成鉴权 | sk-xxxxxxxx |
config.BaseURL | 否 | 自定义兼容端点地址,用于替换默认 OpenAI 接口 | https://your-compatible-endpoint.example/v1 |
DefaultAzureConfig | 否 | Azure OpenAI 场景的配置入口,需设置部署映射与 API 版本 | openai.DefaultAzureConfig(apiKey, endpoint) |
如何确认成功
程序运行后在终端输出模型生成的回答文本,且没有 log.Fatal 抛出的报错信息。
常见问题
Q:运行时报鉴权失败怎么办?
A:确认 OPENAI_API_KEY 已正确导出且密钥有效;可在同一终端执行 echo $OPENAI_API_KEY 检查变量是否为空。
Q:如何改用兼容 OpenAI 的第三方端点?
A:用 DefaultConfig 构造配置并设置 config.BaseURL 为你自己的地址,再调用 openai.NewClientWithConfig(config) 创建客户端。
Q:需要推理、工具调用或多模态输出怎么办?
A:示例中的 GetOutputText 只取文本;遇到这些场景请直接检查 response.Output 字段获取完整结构。
Q:必须用 Responses API 吗?
A:不必。新项目建议从 Responses API 起步,已有集成可继续使用 Chat Completions 接口。
注意事项
- 这是非官方 Go 客户端库,不是可独立运行的服务,需要写代码集成。
- API Key 不要硬编码进源码或提交到仓库,建议用环境变量传入。
- README 明确要求 Go 1.18+,版本过低会导致编译失败。
核心亮点
- 完整封装 OpenAI 官方 API,覆盖聊天、图像、语音等主流接口
- 支持流式响应,适合实时对话和长文本生成场景
- 类型安全设计,编译期捕获错误,提升开发效率
不足之处
- 依赖 OpenAI 官方 API,若 API 变更需及时更新库
- 文档/社区待观察
适用场景
- 在 Go 后端服务中集成 ChatGPT 对话功能
- 构建语音转文字应用,使用 Whisper 模型
- 开发图像生成工具,调用 DALL-E 或 GPT-Image-2
替代项目
sashabaranov/go-openai、openai/openai-go、go-resty/resty
上一篇:voltagent
下一篇:magic-compact
同类项目推荐
dotnet-genai
开源
在 .NET 应用里直接调用 Google 生成式模型
Google Gen AI Dotnet SDK provides an interface for developers to integrate Google's ···
comfy-ui-client
开源
用 Node.js 实时调用 ComfyUI,轻松集成图像生成
Node.js WebSockets API client for ComfyUI
assistant-ui
开源
用 React 组件快速搭建专业 AI 聊天界面,开箱即用。
Typescript/React Library for AI Chat
ComfyUI-QwenVL
开源
在ComfyUI里直接跑Qwen-VL,看图看视频出文字
ComfyUI-QwenVL custom node: Integrates the Qwen-VL series, including Qwen2.5-VL, Qwe···
aigne-framework
开源
用 TypeScript 函数式组合,快速搭建生产级 AI Agent
The functional, composable, and typescript-first AI Agent framework for real-world L···
anthropic-sdk-go
开源
官方 Go SDK,类型安全调用 Claude 模型
Access to Anthropic's safety-first language model APIs via Go
chonky
开源
用神经网络智能切分文本,提升检索与问答精度
Fully neural approach for text chunking
ComfyUI_smZNodes
开源
给 ComfyUI 加个强力文本编码器,让提示词更精准
Custom nodes for ComfyUI such as CLIP Text Encode++
HelloAgents
开源
跟着教程学,快速上手 AI Agent 开发
A agent framework based on the tutorial hello-agents