社区维护的 PHP 客户端,用于调用 OpenAI REST API,支持流式输出,无第三方运行时依赖。
sashabaranov/go-openai
非官方的 Go 语言 OpenAI API 客户端,无第三方依赖,覆盖 Responses、Chat Completions、图像和音频等接口。
- Star
- 10,805
- Fork
- 1,713
- 未关闭 Issue
- 226
- 最近提交
- 上个月
这是什么?
go-openai 是一个非官方的 Go 语言 OpenAI API 客户端库。Go 程序可以通过带类型的请求和响应结构体调用 Responses、Chat Completions、Embeddings、图像生成、语音转文字、内容审核、文件、微调、Batch 和向量存储等接口。
库支持流式输出,可自定义 HTTP 客户端和 Base URL,并提供 Azure OpenAI 的配置方式。API 返回的错误可以通过 errors.As 配合 APIError 类型进行检查。包中提供了常用模型的常量,尚未定义常量的新模型也可以直接以字符串形式传入。
新的文本生成和工具调用场景推荐使用 Responses API,已有代码仍可继续使用 Chat Completions。项目附带多轮对话、函数工具、图像生成和语音转文字等可直接运行的示例。
核心功能
- 01为 Responses、Chat Completions、图像、音频等 OpenAI 接口提供带类型的 Go 结构体。
- 02支持 Responses 和 Chat Completions 的流式输出。
- 03可自定义 HTTP 客户端、Base URL、组织信息和请求头。
- 04提供 Azure OpenAI 的配置辅助方法。
- 05API 错误以结构化类型返回,可用 errors.As 检查。
适用场景
- 在 Go 后端服务中接入 OpenAI 文本生成或工具调用能力。
- 构建边生成边显示输出的流式对话界面。
- 在 Go 应用中生成图像或转写音频。
- 通过自定义 Base URL 将 Go 客户端连接到兼容 OpenAI 的接口。
快速上手
- 1
使用 go get 安装该库
go get github.com/sashabaranov/go-openai - 2
在环境变量中设置你的 OpenAI API 密钥
export OPENAI_API_KEY="<your key>" - 3
运行 examples 目录中的 Responses API 示例
go run ./examples/responses
使用前须知
- 这是非官方客户端,并非由 OpenAI 维护。
- 需要 Go 1.18 或更高版本以及 OpenAI API 密钥。
收录于专题
标签
常见问题
- go-openai 是什么?
- 非官方的 Go 语言 OpenAI API 客户端,无第三方依赖,覆盖 Responses、Chat Completions、图像和音频等接口。 go-openai 是一个非官方的 Go 语言 OpenAI API 客户端库。Go 程序可以通过带类型的请求和响应结构体调用 Responses、Chat Completions、Embeddings、图像生成、语音转文字、内容审核、文件、微调、Batch 和向量存储等接口。
- go-openai 可以免费使用吗?用的什么许可证?
- go-openai 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- go-openai 还在维护吗?
- 半年内有更新。go-openai 最近一次提交是在 2026年9月29日。
- go-openai 适合用来做什么?
- 在 Go 后端服务中接入 OpenAI 文本生成或工具调用能力。 构建边生成边显示输出的流式对话界面。 在 Go 应用中生成图像或转写音频。 通过自定义 Base URL 将 Go 客户端连接到兼容 OpenAI 的接口。
- go-openai 怎么安装和运行?
- 使用 go get 安装该库: go get github.com/sashabaranov/go-openai 在环境变量中设置你的 OpenAI API 密钥: export OPENAI_API_KEY="<your key>" 运行 examples 目录中的 Responses API 示例: go run ./examples/responses
- 在哪里获取 go-openai?
- 源代码和安装说明在 GitHub 上:https://github.com/sashabaranov/go-openai
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Swift 包,用于在 Apple 平台和 Linux 上调用 OpenAI 公开 API,并支持多种兼容 OpenAI 的服务商。
一个用 Go 编写的命令行工具,借助大模型生成 git 提交信息和代码审查摘要,并可自动安装 prepare-commit-msg 钩子。
基于 Svelte 的轻量级网页聊天客户端,使用自有 API Key 调用 OpenAI 兼容接口,支持本地历史和无账号分享。
OpenAI 官方 Python SDK,提供同步与异步客户端,并带有完整类型定义。
OpenAI 官方 Go 客户端库,用于在 Go 应用中调用 OpenAI REST API。