
nhost 内嵌的 go-genai 更新日志Google GenAI Go SDK 从 0.0.1 到 1.48.0 的版本演进全解【免费下载链接】nhostThe Open Source Firebase Alternative with GraphQL.项目地址: https://gitcode.com/GitHub_Trending/nh/nhost本文以 nhost 仓库 vendor 目录中随项目同步的 Google GenAI Go SDK 更新日志vendor/google.golang.org/genai/CHANGELOG.md为主体完整梳理该 SDK 从 2025-01 的 0.0.1 到 2026-02 的 1.48.0 之间 50 余个版本的特性演进、破坏性变更与修复脉络并结合 nhost 仓库中锁定版本与 Gemini provider 的实际调用代码说明其落地场景。读完后你可以掌握go-genai 各能力线客户端配置、内容生成、Live 会话、Batches、Tuning、Tools、媒体生成、安全的引入时间线以及 nhost 为何、如何锁定和使用该依赖。这份更新日志在 nhost 仓库中的位置vendor/google.golang.org/genai/是 Go 模块 vendor 机制下同步进来的第三方依赖目录其中的 CHANGELOG.md 记录了上游 googleapis/go-genai 仓库的完整发布历史。它不是 nhost 自身撰写的文档但属于 nhost 构建链路的组成部分go.mod 第 65 行锁定google.golang.org/genai v1.48.0与更新日志的最新条目 1.48.02026-02-25一致vendor 目录中的 version.go 同样声明version 1.48.0注释x-release-please-version表明由 release-please 自动维护vendor 目录中的源文件与更新日志的能力线一一对应live.goLive 会话、chats.goChats 模块、batches.goBatches、tunings.goTuning、filesearchstores.goFileSearch Store、files.go、caches.go、operations.go、tokens.go本地 tokenizer、models.go、types.go 等。该 SDK 自身的 README 说明其定位为 Go 应用提供接入 Gemini Developer API 与 Vertex AI 的接口支持纯文本、多模态文本图像输入等场景通过go get google.golang.org/genai安装。nhost 中唯一的直接使用方AI 服务的 Gemini provider在 nhost 仓库内检索项目代码中直接 importgoogle.golang.org/genai的只有 AI 服务的 Google provider 及其测试provider/google.goimport 后通过genai.NewClient(ctx, clientConfig)构造客户端L90-L110使用genai.BackendGeminiAPI后端与HTTPOptions{BaseURL, APIVersion: v1beta, Headers}配置——这些字段HTTPOptions的BaseURL、APIVersion、Headers、ExtraBody、ExtrasRequestProvider正是更新日志 0.1.0 到 1.17.0 期间逐步加入客户端体系的能力L18-L24 定义了 API key 哨兵常量googleGeminiKeySentinel与x-goog-api-key头名结合自定义RoundTripperL157-L197在传输层清除/脱敏 API key 与日志字段这与更新日志中 1.16.0 “live API key 从 query 参数移到 header”、1.11.1 “修正环境变量读取 API key 与 project 的优先级”等 API key 处理演进直接相关base URL 校验 禁止把/v1beta、/models、:generateContent等路径片段写进 BaseURL这与 1.3.0 引入的SetDefaultBaseURLs()及 HTTPOptions 的 BaseURL 语义相呼应测试文件 google_internal_test.go 与 google_gemini_internal_test.go 断言了genai.Content的 Role 取值genai.RoleUser/genai.RoleModel、genai.Tool与genai.FunctionDeclaration的结构工具声明与嵌套 JSON Schema以及genai.GenerateContentResponse的流式分块拼接——这些类型正是更新日志 1.0.0Role 参数从 string 改为 Role 类型、1.12.0/1.13.0JSON Schema 受控输出、responseJsonSchema版本记录过的 API 面。从源码结构看nhost 锁定 v1.48.0 并 vendor 的原因在于provider 层直接依赖 SDK 的公开类型与HTTPOptions语义版本锁定保证了请求路径、错误类型APIError0.7.0 引入与日志脱敏行为的可预期性。版本时间线总览完整继承更新日志骨架以下表格按更新日志原文逐版本整理覆盖 0.0.1 至 1.48.0 全部条目Features / Bug Fixes 均有所取舍时以版本主题概括后续章节按能力线展开细节版本日期核心内容0.0.12025-01-10首个版本Live 模块VertexAI 初始实现 GoogleAI 后端、response_logprobs/logprobs0.1.02025-01-29Imagengenerate_image、HTTPOptions引入 Client 与各方法配置、ThinkingConfig、caches 增删改查、Text()/FunctionCalls()快捷访问器、数字字段指针化破坏性0.2.02025-02-05GeneratedImage.enhanced_prompt、GenerateContent 请求支持 labelsGo 函数参数改 camelCase0.3.02025-02-12Gemini API 启用 Media resolutionresponse_schema支持property_ordering0.4.02025-02-24Imagenupscale_image、Part 便捷构造函数、caches List/All、Models Get/Update/Delete0.5.02025-03-06Models.list()、Models.EmbedContent、edit image/Imagen 示例、HTTPOptions.Headers破坏性int64/float64 改 int32/uint32/float32移除ClientConfig.Timeout并把HTTPOptions加入各 ...Config 结构体0.6.02025-03-19原生 global endpoint、duration 类型、*time.Time改time.Time、移除 GenerateContent 默认 role user破坏性变更多项0.7.02025-03-31Chats 模块非流式、Veo 2generate_videos、VertexAISearch.engine、quota project 支持、ClientError/ServerError合并为APIError破坏性NewUserContentFrom*/NewModelContentFrom*合并为NewContentFrom*、Close()增加 error 返回、caches TTL 改 duration1.0.02025-04-09GALive 会话恢复session resumption、Chats 流式、thinking_budget、files upload/delete/get/list/download、UploadFromPath、media resolution、UsageMetadata.traffic破坏性Session 的Send拆为SendClientContent/SendRealtimeInput/SendToolResponse、GenerationConfig并入LiveConnectConfig、NewContentFrom...的 role 参数改 Role 类型1.1.02025-04-16滑动窗口连续会话 converter、model_selection_config、可配置语音检测类型、Vertex Live 音频转写、RealtimeInputConfig 与 SpeechConfig.language_code、Update VertexRagStore修复io.ReadFull读文件、Files.Uploadnil map、UploadFromPathMIME 类型1.2.02025-04-23实时输入字段扩展、TS 暴露音频转写配置并迁移 generationConfig 到顶层 LiveConnectConfig、Gemini API 的 Schema 支持default字段1.3.02025-04-30models.delete/models.update管理微调模型、NewPartFromFile、live grounding metadata、Schema 数值约束字段对 Gemini API 可用、X-Server-Timeout头、SetDefaultBaseURLs()修复 files 深拷贝、Citation 日期解析1.4.02025-05-08Tool.enterprise_web_search、Google Maps grounding、Gemini API 输入转写修复上传缺失X-Goog-Upload-Status头的重试1.5.02025-05-13Chats 模块Send/SendStream、Vertex Blobdisplay_name、tuning checkpoints1.6.02025-05-19Google Search 工具时间范围过滤、异步 function calling 基础支持、liveproactivity_audio/enable_affective_dialog、多说话人语音配置、经纬度搜索、视频 FPS 与 start/end_offset、cached content CMK 加密、Url Context Retrieval 工具修复SendMessageStream回调返回 false 时的死循环1.7.02025-05-28视频生成generate_audio内部测试、FileData/GenerationConfig/GroundingChunkRetrievedContext/RetrievalConfig/Schema/TuningJob/VertexAISearch 新字段修复图像 MIME 类型1.8.02025-05-30Part.thought_signature、FinishReason 增加UNEXPECTED_TOOL_CALLVertex修复LiveEphemeralParameters更名LiveConnectConstraints1.9.02025-06-04generate_videosenhance_prompt、Vertexurl_context、支持GEMINI_API_KEY环境变量1.10.02025-06-05HTTP options 增加 extras request provider修复客户端级与函数级ExtrasRequestProvider合并1.11.02025-06-11VertexAISearchdatastore_spec、Veo 帧插值与视频延展、Live API RAG 上下文存储、Go 支持 VertexAI 模式 API key修复流式分块结构化错误#3551.11.12025-06-13修复GenerateVideos 移除 video 字段恢复向后兼容修正环境变量读取 API key 与 project 的优先级1.12.02025-06-18JSON Schema 用于受控输出与函数声明1.13.02025-06-25generate_videoscompressionQuality、upscale_image 新字段、Batches Go 支持、GenerateContentConfig.responseJsonSchema1.14.02025-07-01HTTPOptions超时启用、Batches delete、Vertex Live 多类媒体输入1.15.02025-07-09Imagen 4 提示语言扩展、提供 HTTPClient 时凭证变为可选1.16.02025-07-16图像编辑addWatermark、Tuning Go 支持、file.create迁移到sdk_http_response修复live API key 从 query 参数移到 header安全1.17.02025-07-17generateVideosFromSourceGo、Vertex Imagen 4image_size、HTTPOptions.ExtraBody1.18.02025-07-30Go 全部方法支持响应头1.19.02025-08-06Imagen 4image_sizeDeveloper API、parts 长度校验、batch 默认返回 headers、responseId、chats curated history、Vertex 图像 recontext、UrlRetrievalStatus 新枚举1.20.02025-08-13预训练模型上持续微调、grounding metadata 文档名、Google Search 与企业搜索exclude_domains1.21.02025-08-18Imagen 图像分割Vertex、Veo 2 参考图生视频Vertex修复deserializeStreamResponse缺失resp.Body.Close()1.22.02025-08-27Delete 响应带 headers、recontext_imageadd_watermark、Imagen upscaleoutput_gcs_uri、FunctionCallingConfigMode.VALIDATED、VideoGenerationReferenceType、Go SDK 重构为可选参数指针化、tunings.cancel1.23.02025-09-02Gemini Developer API Veo 3 生成的 resolution 字段1.24.02025-09-09异步 embedding batchesMLDev、tuning job labels、function_callconverter 生成、Vertex Veo 2 编辑修复Vertex 的FunctionCall.id1.25.02025-09-16turn_complete_reason与waiting_for_input、VideoGenerationMaskModeVeo 2 编辑、文本本地 tokenizer1.26.02025-09-25FunctionResponsePart与ToolComputerUse.excludedPredefinedFunctions、Vertex Imagen 4 Ingredients修复Batch 状态枚举、systemInstruction映射、Schema 的,stringJSON tag 误加1.27.02025-10-01GenerateContentConfig.ImageConfig、ComputerUse 工具更名早期访问修复batchessystem_instruction映射1.28.02025-10-02FinishReason.NO_IMAGE、livethinking_config1.29.02025-10-08Imagen 配置 labels、FunctionResponsePart工具函数、Veo Ingredients 与高级控制早期访问1.30.02025-10-10Google Maps 工具启用、enableWidget、batch 内联请求 metadata 与安全设置测试1.31.02025-10-15batches 支持CreateEmbeddings、Veo 视频延展Developer API1.32.02025-10-21enable_enhanced_civic_answers、HarmCategory/BlockedReason 支持 jailbreak修复TokenCount 类型回退、Vertex 用 API key 时不追加 project/client 到 URL1.33.02025-10-29Imagen upscalesafety_filter_level与person_generation、偏好优化微调、文件路径上传携带文件名、Vertex 无 API key 时默认 global location1.34.02025-11-05ClientConfig.UseDefaultCredentials、BatchJob 完整统计、FileSearch 工具与 FileSearchStore 管理 API、ImageConfigimage_size早期访问、phish 过滤修复newAPIError空指针 panic1.35.02025-11-12GenerateContentConfig.ToGenerationConfig()#506修复模型类型缺失字段、base_steps、models.listfilter1.36.02025-11-17FunctionResponseBlob/FunctionResponseFileDatadisplay name、thinking_level、Vertex 图像输出选项、part.media_resolution、全语言函数调用参数流式1.37.02025-12-02tunings.cancel()空响应1.38.02025-12-08ReplicatedVoiceConfig1.39.02025-12-10enableEnhancedCivicAnswers、FinishReason增加IMAGE_RECITATION/IMAGE_OTHER、语音活动检测信号1.40.02025-12-16minimal/medium 思考等级、Parts 超高分辨率媒体、Go ephemeral token、Vertex 多说话人1.41.02025-01-07RegisterFilesGCS 文件用于 genai、本地 tokenizer 支持 gemini-3-pro-preview、Vertex 图像 PersonGeneration1.41.12026-01-14修复EntityLabelJSON tag 拼写1.42.02026-01-15voice activity 支持1.43.02026-01-18ModelArmorConfig通过 Model Armor 服务做提示/响应净化两次 discovery doc 数据类型更新1.44.02026-01-30蒸馏微调distillation tuning、OSS Tuning修复batch 内联响应补 metadata1.45.02026-02-04discovery doc 数据类型更新1.46.02026-02-09微调任务创建支持encryption_spec修复timeout 向上取整1.47.02026-02-18Gemini Embedding 2.0 多模态 embedding、Models.embed_content()支持 MaaS 模型Vertex1.48.02026-02-25GoogleSearch 工具增加 Image Grounding配置服务端 MCP 时自动启用并禁用其他 AFCAgent Function Calling工具能力线纵览从更新日志读 SDK 架构1. 客户端与 HTTP 配置体系更新日志显示客户端配置经历了一次清晰的演进0.1.0 首次引入HTTPOptionsintroducing HTTPOptions to Client并为所有 models 方法配置加入 HttpOptions0.5.0 把ClientConfig.Timeout移除并改为把HTTPOptions加进各...Config结构体同时加入Headers字段1.10.0 增加 extras request provider1.14.0 启用超时1.17.0 增加ExtraBody1.18.0 让所有方法返回响应头。nhost 的 provider/google.go 构造的ClientConfig恰好使用了这条演化链的成熟形态APIKeyBackendHTTPClientHTTPOptions{BaseURL, APIVersion, Headers}。与此相关的认证语义条目同样值得注意1.9.0 支持GEMINI_API_KEY环境变量1.11.0 让 Go 在 VertexAI 模式下支持 API key1.11.1 修复了环境变量读取 API key 与 project 的优先级1.32.0 修复了 Vertex 使用 API key 时错误地把 project/client 拼进 URL1.33.0 增加了不用 API key 时 Vertex 后端默认 global location 的支持1.34.0 增加UseDefaultCredentials。这些条目共同勾勒出 SDK 在 “API key vs 应用默认凭证” 两条认证路径上的打磨过程。2. 内容生成与思考控制GenerateContentConfig的增强贯穿始终0.1.0 加入ThinkingConfig1.0.0 加入thinking_budgetGemini 思考模型1.1.0 加入model_selection_config1.12.0/1.13.0 打通 JSON Schema 受控输出与responseJsonSchema1.27.0 加入ImageConfig1.35.0 提供ToGenerationConfig()转换方法1.36.0 加入thinking_level1.40.0 增加 minimal/medium 思考等级。媒体分辨率方面0.3.0 对 Gemini API 启用 media resolution1.40.0 在 Parts 中支持超高分辨率。FinishReason 枚举的扩张0.7.0IMAGE_SAFTY、1.8.0UNEXPECTED_TOOL_CALL、1.28.0NO_IMAGE、1.39.0IMAGE_RECITATION/IMAGE_OTHER则是调用方必须持续跟进的响应契约变化——nhost 的 google_internal_test.go 中对GenerateContentResponse分块拼接的测试即为这类响应面变化设置了回归防线。3. Live 实时会话Live 模块是该 SDK 最古老的模块0.0.1 即包含 VertexAI 初始实现与 GoogleAI 后端实现1.0.0 完成 GA 前的最后定型会话恢复session resumption、generationComplete通知、GenerationConfig并入LiveConnectConfig破坏性变更、Send方法拆分为SendClientContent/SendRealtimeInput/SendToolResponse。之后持续补强1.1.0 滑动窗口连续会话 converter、1.11.0 RAG 上下文存储、1.8.0thought_signature、1.25.0turn_complete_reason/waiting_for_input、1.28.0 livethinking_config、1.39.0/1.42.0 语音活动检测与 voice activity 支持、1.40.0 ephemeral token。从源码结构看这些能力对应 vendor 目录中的 live.go 与 live_converters.go。4. Files、Batches、Caches 与异步作业Files 从 1.0.0 的 upload/delete/get/list/download 起步1.3.0 提供NewPartFromFile便利函数1.33.0 修复文件路径上传时携带文件名1.41.0 的RegisterFiles让 GCS 文件可直接用于 genai。Batches 于 1.13.0 在 Go 中落地1.14.0 支持 delete1.18.0/1.19.0 打通默认响应头1.31.0 支持CreateEmbeddings1.34.0 补全 BatchJob 统计。Caches 早在 0.1.0 即有 create/update/get0.4.0 支持 List/All1.6.0 支持客户自管加密密钥CMK。5. Tuning 微调线1.16.0 为 Go 加入 Tuning 支持是微调能力在 Go SDK 的起点随后 1.5.0实际时间线在 1.16.0 之前提供 tuning checkpoints、1.20.0 在预训练模型上持续微调、1.22.0/1.37.0tunings.cancel及其空响应、1.24.0 job labels、1.33.0 偏好优化微调、1.44.0 蒸馏微调与 OSS Tuning、1.46.0 微调任务创建支持encryption_spec构成完整的微调生命周期管理。模型侧的models.delete/models.update1.3.0用于管理微调产物。6. Tools 与 Grounding1.48.0 的当前焦点最新两个版本1.48.0正是 nhost 当前锁定的版本其两条 Features 直接定义了当下行为GoogleSearch 工具支持 Image Grounding搜索结果的 grounding 从纯文本扩展到图像配置服务端 MCP 时自动启用并禁用所有其他 AFC当为请求配置了 server side MCP 工具时SDK 会关闭其余 Agent Function Calling 工具避免工具冲突。这一能力线的完整脉络包括0.4.0 之前的工具基础、1.6.0 Google Search 时间范围过滤与 Url Context Retrieval、1.4.0Tool.enterprise_web_search与 Google Maps grounding、1.6.0 异步 function calling、1.12.0/1.13.0 JSON Schema 函数声明、1.22.0FunctionCallingConfigMode.VALIDATED、1.26.0FunctionResponsePart与 ComputerUse 排除预定义函数、1.27.0 ComputerUse 更名、1.30.0 Google Maps 工具与enableWidget、1.34.0 FileSearch 工具及 FileSearchStore 管理 API对应 vendor 中的 filesearchstores.go。7. 媒体生成模型Imagen / Veo / EmbeddingImagen 线0.1.0generate_image、0.4.0upscale_image、0.5.0 edit image、1.15.0/1.17.0/1.19.0image_size与语言扩展、1.21.0 图像分割Vertex、1.26.0 Imagen 4 IngredientsVertex、1.29.0 labels、1.33.0 upscale 的safety_filter_level与person_generation。Veo 线0.7.0 Veo 2 生视频、1.11.0 帧插值与延展、1.17.0generateVideosFromSource、1.21.0 参考图生视频Vertex、1.23.0 Veo 3 resolution、1.24.0/1.25.0 Veo 2 编辑与 mask 模式、1.31.0 视频延展Developer API。Embedding 线0.5.0Models.EmbedContent、1.24.0/1.31.0 批量 embedding、1.47.0 Gemini Embedding 2.0 多模态 embedding 与 MaaS 模型支持。8. 安全与本地 tokenizer安全相关条目在后期密度明显上升1.32.0 在 HarmCategory/BlockedReason 中支持 jailbreak 类别、1.34.0 phish 过滤、1.32.0/1.39.0enable_enhanced_civic_answers、1.43.0 的 ModelArmorConfig借助 Model Armor 服务对 prompt 与 response 做净化。本地 tokenizer 于 1.25.0 引入文本本地分词1.41.0 扩展到 gemini-3-pro-preview对应 vendor 中的 tokens.go 与 tokens_converters.go。破坏性变更速查更新日志以⚠ BREAKING CHANGES标注了五个含破坏性变更的版本升级时或在 vendor 目录中对比旧版本时需要重点核对1.0.02025-04-09Session 的Send移除并拆为三个方法GenerationConfig并入LiveConnectConfigNewContentFrom...的 role 参数从 string 改为 Role 类型部分指针/值类型互换。0.7.0Close()增加 error 返回NewUserContentFrom*/NewModelContentFrom*合并为NewContentFrom*ClientConfig.Credential从google.Credentials迁移为auth.Credential类型caches TTL 改 durationClientError/ServerError更名APIError#159。0.6.0*time.Time改time.TimeGenerateContentResponse.Text()移除 error 返回GenerateImageConfig.NumberOfImages改值类型移除 GenerateContent 默认 role user。0.5.0int64/float64 收窄为 int32/uint32/float32防数据丢失移除ClientConfig.Timeout。0.1.0数字字段指针化、bool 字段值类型化ControlReferenceTypeControlType*常量更名。另有两条虽未标为 breaking 但影响面大1.22.0 “refactor Go SDK to use pointers for optional parameters”可选参数全面指针化与 1.11.1 “Exclude video field from GenerateVideos to restore backwards compatibility”先加后撤字段本身就是兼容性教训。更新日志的生成机制与 nhost 的依赖策略vendor 目录中同时存在 release-please-config.jsonrelease-type为goinitial-version为0.0.1并把version.go列为extra-files。结合 version.go 中// x-release-please-version标记可以确认该 CHANGELOG 由 release-please 工具在每次打 tag 时自动生成版本号、变更摘要与 commit 引用三者保持同步这也解释了条目中每条特性都附带 commit 短哈希的原因。对 nhost 而言该依赖的消费方式体现在三处事实go.mod 锁定 v1.48.0go.sum 记录其哈希vendor/下完整源码保证可复现构建。由于 provider 代码直接依赖genai.Client、genai.ClientConfig、genai.HTTPOptions等公开类型见 google.go L90-L107任何版本升级都应先对照上述破坏性变更清单与能力线条目核对 API 面变化再验证 google_internal_test.go、google_gemini_internal_test.go 中的类型断言与流式拼接测试。小结这份随 nhost 仓库分发的 go-genai 更新日志实质上是一份 Google GenAI Go SDK 的 API 演化档案客户端配置体系HTTPOptions 一脉、内容生成与思考控制、Live 会话、Files/Batches/Caches、Tuning、Tools 与 grounding、媒体生成模型、安全净化与本地 tokenizer 八条能力线从 0.0.1 到 1.48.0 逐版本叠加其中 1.0.0 是 GA 分水岭1.13.0/1.16.0/1.34.0 分别是 Batches、Tuning、FileSearch 三条异步与管理 API 的落地节点而 nhost 锁定的 1.48.0 则以 Image Grounding 与服务端 MCP 互斥策略作为当前行为基线。结合 vendor 源码文件与 AI 服务 Gemini provider 的实现可以完整回答“这个仓库里的 Google 生成式 AI 客户端能力从哪来、演进到什么程度、nhost 实际用到了哪一层”这三个问题。【免费下载链接】nhostThe Open Source Firebase Alternative with GraphQL.项目地址: https://gitcode.com/GitHub_Trending/nh/nhost创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考