AI-Powered Systems in Go: Retrieval-Augmented Generation (RAG) & Tool Calling

Building modern applications requires systems that can retrieve, process, and act on information intelligently. This workshop introduces Retrieval-Augmented Generation (RAG) to improve responses in Go applications by fetching relevant data dynamically.

It then expands into Tool Calling (Function Calling), allowing AI-powered applications to execute predefined actions, interact with external systems, and automate workflows.

By the end of this hands-on, full-day workshop, you’ll have a working knowledge of how to ingest and retrieve documents, integrate with APIs, and use function calling to control external
systems—all within Go and the AI system of your choosing.

LEVEL: Intermediate

This is a whole day long workshop.
According to the speaker, there will be pauses at 11:00 and 16:00 for coffee breaks and at 13:00 for lunch.

Place
Workshop #2
Length
360 min
When
October 5th, 2025
09:30

Abstract

Building modern applications requires systems that can retrieve, process, and act on information intelligently. This workshop introduces Retrieval-Augmented Generation (RAG) to improve responses in Go applications by fetching relevant data dynamically.

It then expands into Tool Calling (Function Calling), allowing AI-powered applications to execute predefined actions, interact with external systems, and automate workflows.

By the end of this hands-on, full-day workshop, you’ll have a working knowledge of how to ingest and retrieve documents, integrate with APIs, and use function calling to control external
systems—all within Go and the AI system of your choosing.

**What a student is expected to learn**
By the end of this workshop, you’ll leave with working code samples, a clear understanding of RAG and Tool Calling, and a roadmap for integrating these capabilities into your Go
applications. 🚀

**Part 1: Retrieval-Augmented Generation (RAG) in Go**
• Understanding RAG Concepts – Improve responses by dynamically retrieving relevant context rather than relying solely on static training data.
• Ingesting and Processing Documents – Build pipelines to index and retrieve documents from client systems.
• Interacting with AI-Compatible APIs – Learn how Go applications can connect to vLLM, Ollama, OpenAI, or other AI services.
• Optimizing Performance & Latency – Implement caching, batching, and parallel processing to enhance efficiency.
• Using Vector Databases – Store and search embeddings with tools such as Chroma, Pinecone, Weaviate, Milvus or pgvector in PostgreSQL.

**Part 2: Tool Calling & Function Execution in Go**
• How AI Uses Tool Calling – Enable external system control by allowing AI to invoke predefined functions in Go.
• Building Function Calls with OpenAI compatible systems – Define structured function inputs and outputs for AI-driven interactions.
• Connecting to External APIs & Databases – Trigger real-world actions, query databases, and automate workflows.
• Handling Responses & Errors – Ensure safe and reliable execution of AI-invoked functions.

Prerequisites

• It is expected that you will have been coding in Go for several months.
• A working Go environment running on the device you will be bringing to class.
Recommended Preparation
• Before the workshop, you’ll be asked to clone a repository that will be shared with you head of
time.
• Please read the README.md for installing all the tooling before class.
• The repository will contain some of the code that we’ll work on during the class.
• It’s recommended that you run Docker or any other container runtime as some of the
dependencies will be downloaded in that format.
• To save on the bandwidth and not rely on Internet access during the workshop, the repository
will direct you on how to download and cache the models required to run the class..
• Please email the instructor, Florin Pățan - florin.patan@ardanlabs.com, for assistance.

How to reserve a seat

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2025 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS