AI

  • | |

    Stop Running Blind on AI Usage

    Non-deterministic models, hidden cost and silent failures make AI hard to manage and scale. Here’s why structured logging is your first line of defence. If your platform relies on LLM like GPT-4 or Claude, chances are you’re spending real money on every request. You’re also relying on a system that can behave differently from one minute to the next. AI responses are non-deterministic, costly, and — without proper logging — completely opaque.

    This article is about visibility. Nothing too fancy, just basic metrics you should keep within an easy reach.

  • | |

    Retrieval Augmented Generation with Spring AI

    In our last post, we looked at enriching the OpenAI model with custom data through function calls. While this technique is useful, it has its limitations and performance trade-offs. Today, we explore a more efficient way of incorporating relevant data into prompts to receive accurate and relevant model responses. Retrieval Augmented Generation, or RAG, relies on preprocessed data that is readily available upon request. In this post, we will build an Extract, Transform, Load (ETL) pipeline that stores a large corpus of weather forecasts and learn how to efficiently retrieve relevant information from a vector store.

  • | | |

    Spring AI and Challenges with Function Calling

    Spring AI boosts developer’s productivity by providing seamless integration with a variety of AI models. This post explores enriching the generic model with additional data coming from custom functions. This technique known as function calling allows to elegantly tap into a variety of external data sources. However, it comes with its own challenges and considerations.