go-openai

用 Go 快速接入 OpenAI 全家桶,实现 AI 功能

go-openai 是一个用 Go 语言编写的 OpenAI API 客户端库,为开发者提供与 OpenAI 官方 API 交互的完整工具集。它解决了在 Go 生态中缺少官方 OpenAI 客户端的问题,让 Go 开发者能够轻松集成 GPT-5.5、GPT-Image-2、Whisper 等模型的能力。核心能力包括:支持聊天补全、图像生成、语音转文字、流式响应等主流 API 接口,提供类型安全的请求和响应结构,内置上下文管理、错误处理和重试机制,并支持自定义 HTTP 客户端和代理配置。该库设计简洁,API 风格贴近官方,文档齐全,社区活跃,是 Go 语言开发 AI 应用的首选库之一。

开源 free 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 10774
维护状态 活跃
是否开源
定价模式 free

项目数据

分类对话助手
开发团队sashabaranov
所属国家
官网地址
定价模式free
价格说明开源项目,本地部署使用,完全免费,无付费版本。
访问状态
是否开源
开源协议Apache-2.0
主要语言Go
技术栈/模型chatgpt,chatgpt-api,dall-e,go,golang,gpt-5-6,gpt-5-6-sol,openai,openai-whisper,streaming-api
GitHub 星标★ 10774
30天Star增速
HF 下载量
上线时间2020-08-18 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Go 1.18 或更高版本
  • 已安装 Go 工具链(可用 go 命令)
  • 一个有效的 OpenAI API Key(platform.openai.com 获取)
  • 能访问 OpenAI API 的网络环境

安装与启动步骤

  1. 1检查 Go 版本

    README 要求 Go 1.18 或更高,先确认本机 Go 版本满足条件,过低需先升级。

    go version
  2. 2安装客户端库

    在项目目录执行 go get 拉取 go-openai 依赖,会自动写入 go.mod。

    go get github.com/sashabaranov/go-openai
  3. 3设置 API Key

    把从 OpenAI 平台申请的密钥写入环境变量 OPENAI_API_KEY,供程序读取。

    export OPENAI_API_KEY="sk-xxxxxxxx"
  4. 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. 5运行程序

    执行 go run 运行示例,成功时终端会打印模型返回的文本。

    go run main.go

关键配置

配置项必填说明示例
OPENAI_API_KEYOpenAI API 密钥,客户端通过它完成鉴权sk-xxxxxxxx
config.BaseURL自定义兼容端点地址,用于替换默认 OpenAI 接口https://your-compatible-endpoint.example/v1
DefaultAzureConfigAzure 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

项目介绍

go-openai 是开发框架领域的开源项目,由 sashabaranov 开发,2020 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(10,774)位列前 5%,在开发框架分类的 795 个项目里位列前 6%。

近 44 天,它的 GitHub 星标从 10,727 增加到 10,774,净增 47。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。本地部署使用,完全免费,无付费版本。

它主要面向的使用场景是:在Go后端服务中集成ChatGPT对话功能。同类可对比的替代方案包括 sashabaranov/go-openai、openai/openai-go、go-resty/resty。

上一篇:voltagent

下一篇:magic-compact

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12