Craig Walls·2h agoSpring AI Recipe: Applying Semantic GuardrailsKeyword filtering is fast, but it’s also easy to fool. In this recipe, you’ll build a semantic guardrail for Spring AI that uses an LLM to…
Craig Walls·4d agoSpring AI Recipe: Safeguarding LLM OutputSafeGuardAdvisor can stop sensitive prompts from reaching an LLM. But what about sensitive information that slips into the response? In…
Craig Walls·Jul 6Spring AI Recipe: Applying Input Guardrails with SafeGuardAdvisorA system prompt can ask an AI to stay within certain boundaries, but it can’t enforce them. In this recipe, you’ll learn how Spring AI’s…
Craig Walls·Jul 2Spring AI Recipe: Enabling Resilient Structured OutputStructured output is one of the most productive features in Spring AI. But it only helps if the model actually follows the schema. In this…
Craig Walls·Jun 29Spring AI Recipes: Using More Than One LLMSpring AI makes it easy to swap LLMs — but what if your application needs to use more than one at the same time? In this recipe, you’ll…
Craig Walls·Jun 26Spring AI Recipe: Modeling Agent State in EmbabelAs your Embabel agents grow, a single class full of @Action methods can become difficult to navigate. In this recipe, you'll learn how…
Craig Walls·Jun 24Spring AI Recipe: Adding Human-in-the-Loop to an Embabel AgentSometimes the smartest thing an AI agent can do is admit it doesn’t know. In this recipe, you’ll learn how to pause an Embabel agent, ask a…A response icon1A response icon1
Craig Walls·Jun 22Spring AI Recipe: Getting Started with EmbabelWhat if your agent could figure out its own plan instead of following a predefined workflow? That’s the idea behind Embabel. In this…A response icon1A response icon1
Craig Walls·Jun 19Spring AI Recipe: Using ElevenLabs VoicesYour AI application can listen and speak — but it doesn’t have to sound like every other AI assistant. In this recipe, you’ll replace…
Craig Walls·Jun 17Spring AI Recipe: Adding Voice to AITalking to an AI application feels surprisingly natural — until it answers with a wall of text. In this recipe, you’ll close that gap by…