🌐
GitHub
github.com › google › generative-ai-go
GitHub - google/generative-ai-go: Go SDK for Google Generative AI · GitHub
Go SDK for Google Generative AI. Contribute to google/generative-ai-go development by creating an account on GitHub.
Starred by 856 users
Forked by 101 users
Languages   Go 98.7% | Shell 1.3%
🌐
GitHub
github.com › googleapis › go-genai
GitHub - googleapis/go-genai: Google Gen AI Go SDK provides an interface for developers to integrate Google's generative models into their Go applications. · GitHub
May 22, 2026 - The Google Gen AI Go SDK enables developers to use Google's state-of-the-art generative AI models (like Gemini) to build AI-powered features and applications.
Starred by 1.1K users
Forked by 152 users
Languages   Go
Discussions

Understanding the different Go SDKs
I can find four different Go SDKs google/generative-ai-go – Gemini API only, can list models … go/vertexai/genai – Vertex AI only? …/genai – Cannot list models, can switch between Vertex AI and Gemini API cloud.google.com/go/ai – ??? What are the differences between the different ... More on discuss.ai.google.dev
🌐 discuss.ai.google.dev
1
0
December 30, 2024
How to Reuse Generative AI Client in Go?
Personally I would say the general rule of thumb is that a client SHOULD be able to be used freely from multiple goroutines without a problem, unless there's some good reason that's not possible. However, I would personally also go with a client MUST document whether or not that is legal, because in general, Go code that doesn't document what is legal should be assumed to be unsafe to use from multiple goroutines without locking. Just as a Go library should assume that a caller will add concurrency if they want it, a Go library should generally assume the user will add concurrency-safety if they want it, unless there's a reasonably good reason to assume the library should handle it itself (e.g., a library whose entire reason is concurrency-based like sync.Map). The page you link to is too much documentation for me to paw through to see if they do document it, but if they don't the only option is to figure it out yourself, unfortunately. Since that's probably an autogenerated client it could go either way. You could even end up in the unfortunate situation where it happens to be safe today but it's just coincidence and a future update could become unsafe because it's not technically "supported". More on reddit.com
🌐 r/golang
4
0
November 14, 2024
What's the point of generative AI?
Some people like it, it's clear that you don't. Some people like mustard, I hate it. I understand that other people like what i don't, and i don't get bothered by it. It's okay. More on reddit.com
🌐 r/aiwars
137
4
June 1, 2025
What’s the best Gennerative AI course for beginners, you’ve actually found useful
check Google Cloud’s Generative AI Learning Path. It’s free and for people in tech who want to start using GenAI at work. Another good one is Andrew Ng’s AI for Everyone on Coursera. It breaks things down simply and talks about how to apply AI in business. Then try playing around with tools like ChatGPT, Claude, or Gemini in small work projects. Also, check out Cloud Strategy Labs for more tips on learning GenAI, tech careers, and how to make AI work in your job. More on reddit.com
🌐 r/learnmachinelearning
186
77
October 6, 2025
🌐
Go Packages
pkg.go.dev › github.com › google › generative-ai-go › genai
genai package - github.com/google/generative-ai-go/genai - Go Packages
May 2, 2025 - package main import ( "context" "fmt" "log" "os" "path/filepath" "github.com/google/generative-ai-go/genai" "github.com/google/generative-ai-go/genai/internal/testhelpers" "google.golang.org/api/option" ) var testDataDir = filepath.Join(testhelpers.ModuleRootDir(), "genai", "testdata") func main() { ctx := context.Background() client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GEMINI_API_KEY"))) if err != nil { log.Fatal(err) } defer client.Close() file, err := client.UploadFileFromPath(ctx, filepath.Join(testDataDir, "a11.txt"), &genai.UploadFileOptions{MIMEType: "text/plain"})
🌐
Ardan Labs
ardanlabs.com › introduction-to-generative-ai-with-go
Introduction to Generative AI with Go
This webinar will equip you with the practical, hands-on expertise to start integrating generative AI in your Go applications. Participants will learn the essential AI engineering skills of prompting, data augmentation, chaining and more.
🌐
GitHub
github.com › google › generative-ai-go › blob › main › genai › chat.go
generative-ai-go/genai/chat.go at main · google/generative-ai-go
Go SDK for Google Generative AI. Contribute to google/generative-ai-go development by creating an account on GitHub.
Author   google
🌐
GitHub
github.com › google › generative-ai-go › blob › main › go.mod
generative-ai-go/go.mod at main · google/generative-ai-go
Go SDK for Google Generative AI. Contribute to google/generative-ai-go development by creating an account on GitHub.
Author   google
🌐
Go Packages
pkg.go.dev › github.com › google › generative-ai-go
generative-ai-go module - github.com/google/generative-ai-go - Go Packages
May 2, 2025 - With Gemini 2.0, we took the chance to create a single unified SDK for all developers who want to use Google's GenAI models (Gemini, Veo, Imagen, etc). As part of that process, we took all of the feedback from this SDK and what developers like about other SDKs in the ecosystem to create the Google Gen AI SDK.
🌐
MediaPost Publications
mediapost.com › publications › article › 413974 › criteo-go-uses-generative-ai-to-scale-wider-ad-bas.html
Criteo GO Uses Generative AI To Scale Wider Ad Base, Allocate Budgets 04/02/2026
April 2, 2026 - The generative AI-powered tool lets advertisers create accounts, billing details and launch campaigns in five clicks. The new offer helps scale a wider advertiser base and allocate budgets across channels.
Find elsewhere
🌐
Google Cloud
cloud.google.com › ai › generative-ai
Generative AI | Google Cloud
1 week ago - Built with robust enterprise features, it enables organizations to adopt AI assistance at scale while meeting security, privacy, and compliance requirements. Additional Google Cloud with Gemini offerings assist users in working and coding more effectively, gaining deeper data insights, navigating security challenges, and more. ... The emergence of generative AI has the potential to transform entire businesses and entire industries.
🌐
Ardan Labs
ardanlabs.com › blog › 2024 › 06 › ep1-enhancing-your-go-projects-with-generative-ai-exploring-llms.html
Ep. 1: Enhancing Your Go Projects with Generative AI: Exploring LLMs
The inner workings of large language models (LLMs) and their text generation process. Integrating LLMs into Go projects for enhanced coding efficiency. Utilizing AI for various tasks like customer support and text transformation.
🌐
Go Packages
pkg.go.dev › google.golang.org › genai
genai package - google.golang.org/genai - Go Packages
3 weeks ago - The Google Gen AI Go SDK enables developers to use Google's state-of-the-art generative AI models (like Gemini) to build AI-powered features and applications.
🌐
Medium
captainnobody1.medium.com › the-state-of-ai-in-go-ceb3d029664a
The State of AI in Go. I am a hardcore Go fanatic. | by Miriah Peterson | Medium
March 6, 2025 - While Python dominates AI and machine learning, Go has its own growing ecosystem of tools and libraries for building AI-powered applications.
🌐
Google AI
discuss.ai.google.dev › gemini api
Understanding the different Go SDKs - Gemini API - Google AI Developers Forum
December 30, 2024 - I can find four different Go SDKs google/generative-ai-go – Gemini API only, can list models … go/vertexai/genai – Vertex AI only? …/genai – Cannot list models, can switch between Vertex AI and Gemini API cloud.google.…
🌐
Firebase
firebase.google.com › docs › genkit-go › plugins › google-genai
Google Generative AI plugin | Genkit
Learn how to use Google's Generative AI models through the Gemini Developer API, including text generation, embeddings, image generation, video generation, and text-to-speech.
🌐
Google Developers
developers.googleblog.com › google for developers blog › introducing genkit for go: build scalable ai-powered apps in go
Introducing Genkit for Go: Build scalable AI-powered apps in Go - Google Developers Blog
July 17, 2024 - We’re excited to announce Genkit for Go, an open source framework for building AI-powered applications and cloud services natively in Go, leveraging the language's renowned simplicity, scalability, and security. By combining Go's performance and concurrency advantages with Genkit's libraries and tools, developers can create generative AI applications that leverage the full potential of both technologies.
🌐
Reddit
reddit.com › r/golang › how to reuse generative ai client in go?
r/golang on Reddit: How to Reuse Generative AI Client in Go?
November 14, 2024 -

From Google official documentation, the example shows the client is initialized on every function call.

client, err := genai.NewClient(ctx, projectID, location)

What is the accepted standard or rule of thumb when sharing clients for an HTTP server?

Top answer
1 of 2
2
Personally I would say the general rule of thumb is that a client SHOULD be able to be used freely from multiple goroutines without a problem, unless there's some good reason that's not possible. However, I would personally also go with a client MUST document whether or not that is legal, because in general, Go code that doesn't document what is legal should be assumed to be unsafe to use from multiple goroutines without locking. Just as a Go library should assume that a caller will add concurrency if they want it, a Go library should generally assume the user will add concurrency-safety if they want it, unless there's a reasonably good reason to assume the library should handle it itself (e.g., a library whose entire reason is concurrency-based like sync.Map). The page you link to is too much documentation for me to paw through to see if they do document it, but if they don't the only option is to figure it out yourself, unfortunately. Since that's probably an autogenerated client it could go either way. You could even end up in the unfortunate situation where it happens to be safe today but it's just coincidence and a future update could become unsafe because it's not technically "supported".
2 of 2
1
I haven't worked with this particular library/client but generally speaking for an http server you either have a one client/pull of clients being used across the whole app or you have a separate client for each request/session (in case of web-sockets for example). So no, unless the library specifically asks for it, you don't need to create a separate client in each function. As to whether you need a client for each request or a client for the whole app is up to business requirements you have at hand really.
🌐
Google Cloud
cloud.google.com › client libraries › vertex ai api v1 - package cloud.google.com/go/aiplatform/apiv1 (v1.125.0)
Vertex AI API v1 - Package cloud.google.com/go/aiplatform/apiv1 (v1.125.0) | Go client libraries | Google Cloud Documentation
April 17, 2025 - Service for generating and preparing datasets for Gen AI evaluation. package main import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" ) func main() { ctx := context.Background() // This snippet has been automatically generated ...
🌐
Go
go.dev › wiki › AI
Go Wiki: AI - The Go Programming Language
The AI service will respond with a concise summary. The Go security team member can then refine that into the final human-readable report. This is a fast moving area of development, and these answers may change. Provider-Specific SDKs If you are targeting a specific service, check if the provider offers an official Go package. Google Generative AI: github.com/googleapis/go-genai (Examples)
🌐
Google Cloud
cloud.google.com › blog › products › ai-machine-learning › enterprise-ready-generative-ai-models-go-ga-in-vertex-ai
Enterprise-ready generative AI models go GA in Vertex AI | Google Cloud Blog
July 18, 2023 - To this end, last month, we announced the general availability of Generative AI support on Vertex AI, giving our customers the ability to access powerful foundation models from Google Research and tools for customizing and applying them.