Christian Tzolov

Christian Tzolov

R&D Software Engineer on the Spring team, leading Spring AI and MCP Java SDK projects. Committer and PMC member at Apache Software Foundation.

I help Java developers build intelligent AI applications with a pragmatic approach that makes advanced AI concepts accessible for real-world enterprise systems.

Find my recent blogs below, plus my talks and LinkedIn posts.

Recent Blog posts by Christian Tzolov

LLM Response Evaluation with Spring AI: Building LLM-as-a-Judge Using Recursive Advisors

Engineering | November 10, 2025 | ...
The challenge of evaluating Large Language Model (LLM) outputs is critical for notoriously non-deterministic AI applications, especially as they move into production. Traditional metrics like ROUGE and BLEU fall short when assessing the nuanced, contextual responses that modern LLMs produce. Human evaluation, while accurate, is expensive, slow, and doesn't scale. Enter LLM-as-a-Judge - a powerful technique that uses LLMs themselves to evaluate the quality of AI-generated content. Research shows that sophisticated judge models can align with human judgment up to 85%, which is actually higher…

Create Self-Improving AI Agents Using Spring AI Recursive Advisors

Engineering | November 04, 2025 | ...
The Spring AI ChatClient offers a fluent API for communicating with an AI model. The fluent API provides methods for building the constituent parts of a prompt that gets passed to the AI model as input. Advisors are a key part of the fluent API that intercept, modify, and enhance AI-driven interactions. The key benefits include encapsulating common Generative AI patterns, transforming data sent to and from Large Language Models (LLMs), and providing portability across various models and use cases. Advisors process ChatClientRequest and ChatClientResponse objects. The framework chains advisors…

Connect Your AI to Everything: Spring AI's MCP Boot Starters

Engineering | September 16, 2025 | ...
The Model Context Protocol (MCP) standardizes how AI applications interact with external tools and resources. Spring joined the MCP ecosystem early as a key contributor, helping to develop and maintain the official MCP Java SDK that serves as the foundation for Java-based MCP implementations. Building on this contribution, Spring AI has embraced MCP with comprehensive support through dedicated Boot Starters and MCP Java Annotations, making it easier than ever to build sophisticated AI-powered applications that can seamlessly connect to external systems. This blog introduces core MCP components…

Dynamic Tool Updates in Spring AI's Model Context Protocol

Engineering | May 04, 2025 | ...
The Model Context Protocol (MCP) is a powerful feature in Spring AI that enables AI models to access external tools and resources through a standardized interface. One interesting capabilities of MCP is its ability to dynamically update available tools at runtime. This blog post explores how Spring AI implements dynamic tool updates in MCP, providing flexibility and extensibility to AI-powered applications. The related example code is available here: Dynamic Tool Update Example Understanding the Model Context Protocol Before diving into dynamic tool updates, let's understand what MCP is and…

Prompt Engineering Techniques with Spring AI

Engineering | April 14, 2025 | ...
This blog post demonstrates practical implementations of Prompt Engineering techniques using Spring AI. The examples and patterns in this article are based on the comprehensive Prompt Engineering Guide that covers the theory, principles, and patterns of effective prompt engineering. The blog shows how to translate those concepts into working Java code using Spring AI's fluent ChatClient API. For convenience, the examples are structured to follow the same patterns and techniques outlined in the original guide. The demo source code used in this article is available at: https://github.com/spring…

Building Effective Agents with Spring AI (Part 1)

Engineering | January 21, 2025 | ...
In a recent research publication: Building effective agents, Anthropic shared valuable insights about building effective Large Language Model (LLM) agents. What makes this research particularly interesting is its emphasis on simplicity and composability over complex frameworks. Let's explore how these principles translate into practical implementations using Spring AI. While the pattern descriptions and diagrams are sourced from Anthropic's original publication, we'll focus on how to implement these patterns using Spring AI's features for model portability and structured output. We recommend…

Announcing Spring AI MCP: A Java SDK for the Model Context Protocol

Engineering | December 11, 2024 | ...
We're excited to introduce Spring AI MCP, a robust Java SDK implementation of the Model Context Protocol (MCP). This new addition to the Spring AI ecosystem brings standardized AI model integration capabilities to the Java platform. What is MCP? The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). MCP provides a standardized way to connect AI models to different data sources and tools, making integration seamless and consistent. It helps you build agents and complex workflows on top of LLMs. LLMs frequently…

Introducing Spring AI Amazon Bedrock Nova Integration via Converse API

Engineering | December 10, 2024 | ...
The Amazon Bedrock Nova models represent a new generation of foundation models supporting a broad range of use cases, from text and image understanding to video-to-text analysis. With the Spring AI Bedrock Converse API integration, developers can seamlessly connect to these advanced Nova models and build sophisticated conversational applications with minimal effort. This blog post introduces the key features of Amazon Nova models, demonstrates their integration with Spring AI's Bedrock Converse API, and provides practical examples for text, image, video, document processing, and function…

Audio Multimodality: Expanding AI Interaction with Spring AI and OpenAI

Engineering | December 05, 2024 | ...
This blog post is co-authored by our great contributor Thomas Vitale. OpenAI provides specialized models for speech-to-text and text-to-speech conversion, recognized for their performance and cost-efficiency. Spring AI integrates these capabilities via Voice-to-Text and Text-to-Speech (TTS). The new Audio Generation feature (gpt-4o-audio-preview) goes further, enabling mixed input and output modalities. Audio inputs can contain richer data than text alone. Audio can convey nuanced information like tone and inflection, and together with the audio outputs it enables asynchronous speech-to-speech…

Leverage the Power of 45k, free, Hugging Face Models with Spring AI and Ollama

Engineering | October 22, 2024 | ...
This blog post is co-authored by our great contributor Thomas Vitale. Ollama now supports all GGUF models from Hugging Face, allowing access to over 45,000 community-created models through Spring AI's Ollama integration, runnable locally. spring-ai-ollama-huggingface-gguf2 We'll explore using this new feature with Spring AI. The Spring AI Ollama integration can automatically pull unavailable models for both chat completion and embedding models. This is useful when switching models or deploying to new environments. Setting Up Spring AI with Ollama Install Ollama on your system: https://ollama…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all