Generative AI in Go: Google launches new Genkit version

Google's new generative AI framework Genkit provides tools for the local development and prototyping of AI-supported Go applications.

Save to Pocket listen Print view
Google office building with logo on the glass front.

(Image: achinthamb/Shutterstock.com)

4 min. read
By
  • Robert Lippert

Google has presented a new version of its generative AI framework Genkit. It adds libraries and plug-ins for AI applications in the Go programming language, offers tools for integration into existing projects and supports the OpenTelemetry standard for observability beyond the Google Cloud.

With Genkit, Google is focusing on the local development of AI applications. The framework offers tools for prompt engineering, for monitoring the output of vector memories or for providing models and workflows in test or production environments.

"Not everyone will be able to program thanks to AI," said Jeanine Banks, VP and General Manager for Developers at Google – and that remains true. However, those who can program will gradually receive better tools for AI applications. JavaScript and TypeScript developers have been able to use Genkit for a good six months now, when Google presented the framework as a beta at its in-house developer conference Google I/O.

Genkit for Go now also addresses AI development in the Go ecosystem. Initially still classified as alpha, Google recommends the version for prototyping scalable AI applications. Among other things, the company names the following use cases

  • intelligent assistants that understand complex requests and autonomously perform tasks such as booking travel or creating itineraries
  • Customer support agents that use retrieval-augmented generation (RAG) to provide fast and personalized answers based on company data
  • Data transformation tools that convert unstructured data such as natural language into structured formats for deeper analysis and insights

Go developers should find it easy to get to grips with the new framework. To this end, Google has also completely implemented Genkit libraries in Go. It provides a standardized API that users can use to consistently generate content from different models (such as Gemini, Gemma or third-party models). Genkit also allows them to use different vector database providers, as well as mechanisms for multi-stage workflows (called "flow" in Genkit) that enable convenient monitoring and troubleshooting via HTTP endpoints.

Thanks to the OpenTelemetry standard, users can no longer just monitor their AI applications via the Google Cloud, as shown here.

(Image: Google)

Google is keen to ensure that users can use the Genkit framework independently of vendors and includes a number of plug-ins in the package, including

  • Google AI for Developers for access to Google's generative AI APIs, including the Gemini and Embedding models
  • Google Cloud Vertex AI for accessing the Gemini and embedding models from within Google's Cloud Vertex AI platform
  • Ollama for access to and local operation of open-source models such as Gemma, Llama and Mistral via Ollama
  • Pinecone for access to the Pinecone vector database for indexing and retrieval operations for AI applications
  • Google Cloud Telemetry for exporting logs, metrics and traces of AI-supported applications to the Google Cloud Operations Suite (Cloud Logging, Cloud Tracing and Firestore)

Google provides interested developers with a quick start guide for Genkit for Go. Google's web-based development environment Project IDX also offers a Genkit template for the first steps, either for Go or JavaScript.

Genkit for Go is currently in the alpha phase and is therefore more suitable for experimentation and prototyping. Developers are invited to share their projects and feedback with the Genkit team to support the further development of the framework.

(mai)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.