go-genai

Go 项目直连 Gemini,官方 SDK 开箱即用

开源 free 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1203
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类开发框架
开发团队googleapis
所属国家
定价模式free
价格说明开源SDK免费使用,调用模型按Google API计费
访问状态
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型
GitHub 星标★ 1203
30天Star增速
HF 下载量
上线时间2024-12-06 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-19
浏览次数0

项目介绍

go-genai 是 Google 官方推出的 Go 语言生成式 AI SDK,为 Go 开发者提供接入 Gemini 等 Google 生成式模型的统一接口。它解决的是 Go 生态长期缺少官方、类型安全、与 Google AI 服务深度对齐的客户端问题,让后端服务无需绕道 Python 或 REST 手写封装即可调用模型。核心能力包括:文本与多模态内容生成、流式响应、函数调用(工具调用)、结构化输出、对话会话管理、嵌入向量生成,以及文件上传与内容缓存等。SDK 采用 Go 惯用风格设计,接口清晰、依赖轻量,并与 Google Gen AI 平台能力保持同步更新,适合在微服务、CLI 工具和数据管道中直接集成。作为官方维护项目,它在 API 稳定性和长期演进上比社区封装更有保障,但生态成熟度仍处于成长阶段。

Star 增长趋势

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

正在加载星标数据…

技术标签

使用教程

—

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

环境要求

  • 本地已安装 Go 工具链(需支持 go get 与 Go modules)
  • 已有一个 Go module 项目(含 go.mod)
  • 网络可访问 Go 模块代理(如 proxy.golang.org)

安装与启动步骤

  1. 1初始化 Go 模块

    若项目还没有 go.mod,先在项目根目录初始化模块,模块名可自定义。已有 go.mod 则跳过。

    go mod init example.com/demo
  2. 2安装 SDK 依赖

    README 给出的唯一安装命令,把 SDK 加入当前模块依赖并写入 go.mod。

    go get google.golang.org/genai
  3. 3在代码中导入包

    在 Go 源文件中导入 SDK 包,路径与安装时一致,包名为 genai。

    import "google.golang.org/genai"
  4. 4调用模型生成内容

    按 README 示例构造 Parts,调用 client.Models.GenerateContent 传入模型名与内容。

    parts := []*genai.Part{
      {Text: "What's this image about?"},
      {InlineData: &genai.Blob{Data: imageBytes, MIMEType: "image/jpeg"}},
    }
    result, err := client.Models.GenerateContent(ctx, "gemini-flash-latest", []*genai.Content{{Parts: parts}}, nil)
  5. 5固定 SDK 版本

    README 建议固定版本,避免 GenerateVideos 等接口后续不兼容更新带来意外影响。

  6. 6编译验证集成

    执行构建确认依赖可正常下载与编译通过,无未解析的 import。

    go build ./...

关键配置

配置项必填说明示例
google.golang.org/genai否在 go.mod 中约束 SDK 版本,规避后续不兼容变更< 2.0.0

如何确认成功

执行 go build ./... 无报错,说明 SDK 已成功引入并可编译;实际生成结果需运行代码查看返回。

常见问题

Q:go get 提示找不到包怎么办?

A:确认当前目录存在 go.mod(否则先执行 go mod init),并检查网络能否访问 Go 模块代理。

Q:GenerateVideos 的参数以后会变吗?

A:README 提示未来版本将移除 prompt/text/image 参数,改用 source 参数,并建议把 SDK 版本固定在 2.0.0 以下。

Q:这个 SDK 支持哪些 API?

A:支持 Gemini Developer API 和 Gemini Enterprise Agent Platform 两类接口。

Q:可以在非 Go 项目里使用吗?

A:不行,这是 Go 语言 SDK,只能通过 Go module 方式引入到 Go 项目中。

注意事项

  • README 未给出 API Key 配置与客户端 client 创建方式的说明,需查阅 pkg.go.dev 上的完整文档。
  • 示例中的模型名 gemini-flash-latest 来自 README 代码片段,可按需替换。
  • Go 最低版本要求 README 未明确,建议使用较新的稳定版 Go 工具链。
  • 生产项目建议在 go.mod 中固定版本(< 2.0.0)后再长期使用。

核心亮点

  • Google 官方维护,API 与 Gemini 新能力同步快,长期演进有保障
  • Go 原生类型安全接口,支持流式输出、函数调用、结构化输出等完整能力
  • 依赖轻量、无重型框架绑定,可直接嵌入现有 Go 微服务或 CLI

不足之处

  • 仅覆盖 Google 模型,无法像多供应商抽象层那样切换 OpenAI、Claude 等
  • 项目星标约 1200,社区示例与第三方教程仍偏少,文档/社区待观察

适用场景

  • Go 后端服务中集成 Gemini 做内容生成、摘要与分类
  • 构建带工具调用的 Go AI Agent 或自动化工作流
  • 在数据管道或 CLI 工具中批量调用嵌入与多模态能力

替代项目

langchaingo、go-openai

上一篇:rust-genai

下一篇:dotprompt

同类项目推荐

dsh-our-free-model 开源

装个插件就能免密钥白嫖前沿大模型,不限量

在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Fl···

★ 23542 2026-10-04
ComfyUI-sol-attn 开源

在 ComfyUI 中让视频生成注意力更快更省显存

NVIDIA Sol-Attn for ComfyUI / Triton kernel on SM89 - SM121, with zero-copy MiniMax ···

★ 155 2026-08-09
langchain 开源

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

The agent engineering platform.

★ 148017 2026-08-09
transformers 开源

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

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

★ 167809 2026-08-09