CrAIg Walls

CrAIg Walls

@habuma.com

Java Champion / Alexa Champion / Author of “Spring AI in Action”, “Spring in Action” & “Build Talking Apps for Alexa”/ Disney Parks Fanatic/ tabletop games player. https://www.habuma.com

1.6K followers169 following339 posts

Is your RAG application stuck in the slow lane? 🏎️ I put 5 embedding options to the test with Spring AI. The fastest was over 300x quicker than OpenAI's API! See the results and how to make the switch. medium.com/@thetalkinga... #SpringAI #RAG #Embeddings #Java

What happens when you combine Spring AI, AG-UI, CopilotKit, and MCP Apps? You get a web-based AI chat client that can render rich, interactive UIs directly from MCP servers! medium.com/@thetalkinga... #SpringAI #MCPApps #AGUI #Java

MCP tools are great at giving AI agents answers, but those answers don’t have to be plain text. With MCP Apps, your Spring AI MCP server can deliver rich, interactive user interfaces right alongside its tool results. medium.com/@thetalkinga... #SpringAI #MCP #MCPApps #Java

Give your Spring AI application a ChatGPT-like web interface with surprisingly little code! AG-UI and CopilotKit make it easy to connect Spring AI to a polished React chat UI. medium.com/@thetalkinga... #SpringAI #Java #AGUI #CopilotKit

LLM-as-a-Judge is a powerful evaluation technique, but what if you don’t need another LLM to make the call? With a System One model, you can fact-check AI responses using focused, typed judgments with less latency and lower cost. medium.com/@thetalkinga... #SpringAI #Java #SystemOne #AIEvaluation

Run System One models locally with Spring AI! In this recipe, see how Nimble and Laya deliver fast, focused AI judgments without a general-purpose LLM. medium.com/@thetalkinga... #SpringAI #Java #SystemOne #LocalAI #Ollama #Nimble #Laya

What if you don’t need an LLM to generate an answer, but simply need AI to make a judgment? In my latest Spring AI Recipe, I explore Jev, System One models, and fast, structured AI judgments. medium.com/@thetalkinga... #SpringAI #Java #Jev #SystemOne

Why should a Java-based STDIO MCP server need a build step before a client can run it? With JBang, it doesn’t. You can build Spring AI MCP servers and clients that run straight from Java source. medium.com/@thetalkinga... #SpringAI #MCP #JBang #Java #SpringBoot

CrAIg Walls reposted

Spring AI 2.1.0-M1 is out 🍃 🧩 Message parts: ordered text, reasoning, tool calls & media 🤖 OpenAI Responses API: reasoning + tool calling on GPT-5.4+ 📥 VectorStore.upsert() for pre-computed embeddings Feedback welcome 👇 spring.io/blog/2026/09... #SpringAI #Java

What if you could run a Spring AI application without a Maven or Gradle project? In this Spring AI Recipe, see how JBang turns a few Java files into a runnable Spring AI chat loop. medium.com/@thetalkinga... #SpringAI #Java #JBang #SpringBoot

Even when an LLM has all the facts it needs, it can still get them wrong. Let's explore FactCheckingEvaluator and discover why fact-checking AI responses isn't always as straightforward as it seems. medium.com/@thetalkinga... #SpringAI #Java #AIEvaluation #FactChecking

Securing an MCP server with an API key is easy, but sometimes you need something more robust. In this recipe, we’ll put OAuth 2.0 to work with Spring AI to secure an MCP server. medium.com/@thetalkinga... #SpringAI #MCP #OAuth2 #SpringSecurity #Java #AgenticAI

Chat memory helps an AI remember what you've talked about. But the longer the conversation, the more context it has to carry around. What if it could remember the important stuff without remembering every word? medium.com/@thetalkinga... #SpringAI #Java #GenerativeAI #ChatMemory

How local can a local LLM get? With ModelJars and Models, you can skip the model server entirely and run inference inside the same JVM as your Spring AI application. See how in this Spring AI Recipe! medium.com/@thetalkinga... #SpringAI #Java #LocalLLM #GenerativeAI #ModelJars

Want to run Spring AI against a local LLM? This recipe shows how to use open-weight models with LM Studio, Docker Model Runner, and Ollama, with surprisingly few changes to your app. 🔗 medium.com/@thetalkinga... #SpringAI #Java #LocalLLM #GenAI

As your AI application gains more tools, do you really need to send all of them to the LLM on every request? In this Spring AI Recipe, I show how ToolSearchTool discovers the right tools on demand, keeping prompts lean as your toolbox grows. medium.com/@thetalkinga... #SpringAI #Java #AgenticAI

Retrieval found the documents. But are they really the best documents to put in your prompt? In this Spring AI Recipe, we apply reranking to ensure the most relevant context. medium.com/@thetalkinga... #SpringAI #Java #RAG #Reranking #GenerativeAI

This is incredibly cool!

Brian Sam-Bodden (BSB)@bsbodden.bsky.social

Local inference uses your hardware, avoids network trips, and keeps sensitive data local. Not every call needs a frontier model. But I wanted it in the #jvm natively (mostly!) Check out modeljars.org + integrallis.github.io/models/. 3-min demo 👇 #Java #GenAI #Inference

Vector search understands what you mean. BM25 finds the exact terms you use. Why choose? In this Spring AI Recipe, we combine them with hybrid search and Reciprocal Rank Fusion to get the best of both worlds. medium.com/@thetalkinga... #SpringAI #RAG #HybridSearch #BM25 #Java

You don't need a full-blown agent framework to build an agent. If you've used Spring AI's ChatClient with tools, you may already be using one of the most fundamental agentic patterns: ReAct. See how in today's Spring AI Recipe. medium.com/@thetalkinga... #SpringAI #Java #AgenticAI #ReAct #AIAgents

Finally cracked open this game last night with 7 friends. Accusations and deception were the mood for an hour or so. In the end, after 4 nights (in game nights), the witches were victorious.

Graph-based workflows give you explicit control over how an agent moves from one task to the next. In this recipe, see how to build graph-based workflows with LangGraph4j and Spring AI. medium.com/@thetalkinga... #SpringAI #LangGraph4j #AgenticAI #Java

Today's Spring AI recipe is giving me some technical challenges. As such, I find myself delaying publication of the recipe until I sort out the issues. I hope that you'll accept my apologies for the delay. I hope to get it working and publish the recipe tomorrow.

A quick followup: I found that the problem I was experiencing was due to a bug in a 3rd party library that I was using. That library is a critical ingredient in the recipe, so I will hold back on publishing the recipe until it is resolved. Today I've published a different recipe.

Vector similarity finds what’s relevant. Metadata filtering makes sure your RAG pipeline finds what’s relevant and applicable. This Spring AI Recipe shows how to filter vector searches using document metadata. medium.com/@thetalkinga... #SpringAI #Java #RAG #VectorSearch #GenAI

When mixing chat memory with RAG, follow-up questions make perfect sense to people, but not to your vector store. This recipe shows how to make RAG conversation-aware by folding chat history into retrieval queries. medium.com/@thetalkinga... #SpringAI #RAG #Java #LLM #VectorSearch #GenAI

Whiteboard sketches are great, but do they match the graph your code actually builds? This recipe shows how to generate diagrams directly from a Spring AI Alibaba CompiledGraph. medium.com/@thetalkinga... #SpringAI #SpringBoot #Java #AgenticAI #GraphEngineering

In case anyone is wondering, it’s crazy hot, but the crowds are very low. Good day to take in Magic Kingdom vibes.

Your chat memory isn't limited to JDBC. This Spring AI Recipe shows how to persist conversations with Redis, Cassandra, and MongoDB using Spring Boot auto-configuration. medium.com/@thetalkinga... #SpringAI #SpringBoot #Java #Redis #MongoDB #Cassandra

Keep your AI's memory alive across restarts. Learn how to persist Spring AI chat memory with JDBC and PostgreSQL so conversations survive and can be shared across application instances. medium.com/@thetalkinga... #SpringAI #SpringBoot #Java #PostgreSQL #JDBC #LLM #GenAI

In this recipe, you’ll learn how to invoke an Embabel agent directly from Java code, making it easy to integrate intelligent, goal-oriented behavior into any Spring application. medium.com/@thetalkinga... #SpringAI #Embabel #Java #SpringBoot #AgenticAI #AI

CrAIg Walls reposted

Python popularized GenAI, but enterprise Java doesn’t need to switch stacks 🤖 @habuma.com introduces Spring AI for Spring Boot—making LLM integration simple with familiar patterns and real data-driven use cases 🔗https://www.dev2next.com/speaker/4b0fe5fcc3d74f829dfbc6c5a915c2e2 🎟️ www.dev2next.com

SafeGuardAdvisor blocks risky prompts. Now block risky responses. Build a custom Spring AI advisor that filters LLM output before it reaches your application. medium.com/@thetalkinga... #SpringAI #SpringBoot #Java #SpringAIRecipes #LLM #Guardrails