go-openai

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 对话助手 🍴 复刻 1714 🐛 待处理 229 👀 关注 67
GitHub ↗
GitHub 星标 ★ 10807
维护状态 维护中
是否开源 开源
定价模式 🏷️完全免费 开源项目,本地部署使用,完全免费,无付费版本。

项目预览

go-openai 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队sashabaranov
定价模式🏷️完全免费
价格说明开源项目,本地部署使用,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型chatgpt,chatgpt-api,dall-e,go,golang,openai,openai-whisper,streaming-api
GitHub 星标★ 10807
上线时间2020-08-18 00:00:00
代码更新2026-09-29
仓库体积885 KB
本站数据更新2026-11-08
维护状态维护中
收录时间2026-08-09
浏览次数4

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 10807

使用教程

难度:入门 约 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_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 ···

★ 160 2026-11-02
comfy-ui-client 开源

用 Node.js 实时调用 ComfyUI,轻松集成图像生成

Node.js WebSockets API client for ComfyUI

★ 106 2026-08-09
assistant-ui 开源

用 React 组件快速搭建专业 AI 聊天界面,开箱即用。

Typescript/React Library for AI Chat

★ 12991 2026-08-09
ComfyUI-QwenVL 开源

在ComfyUI里直接跑Qwen-VL,看图看视频出文字

ComfyUI-QwenVL custom node: Integrates the Qwen-VL series, including Qwen2.5-VL, Qwe···

★ 924 2026-10-06
aigne-framework 开源

用 TypeScript 函数式组合,快速搭建生产级 AI Agent

The functional, composable, and typescript-first AI Agent framework for real-world L···

★ 369 2026-08-09
anthropic-sdk-go 开源

官方 Go SDK,类型安全调用 Claude 模型

Access to Anthropic's safety-first language model APIs via Go

★ 1240 2026-10-27
chonky 开源

用神经网络智能切分文本,提升检索与问答精度

Fully neural approach for text chunking

★ 420 2026-08-09
ComfyUI_smZNodes 开源

给 ComfyUI 加个强力文本编码器,让提示词更精准

Custom nodes for ComfyUI such as CLIP Text Encode++

★ 336 2026-08-09
HelloAgents 开源

跟着教程学,快速上手 AI Agent 开发

A agent framework based on the tutorial hello-agents

★ 3367 2026-08-09