Online Evaluation: Building AI Evaluation Pipelines for Real User Interactions Divakar Ungatla's article on Towards Artificial Intelligence introduces online evaluation for AI applications, extending offline evaluation pipelines to assess real user interactions post-deployment. The piece details building a pipeline that captures user interactions, collects explicit feedback, and uses an LLM judge to evaluate response quality, using the Wayfinder flight search application as an example. AI Engineering FundamentalsAI Evaluation · Part 6 ← Part 5 https://medium.com/towards-artificial-intelligence/llm-as-a-judge-building-automated-evaluation-pipelines-for-ai-applications-8680a412a1bd?sharedUserId=divakar.ungatla In the previous article https://medium.com/towards-artificial-intelligence/llm-as-a-judge-building-automated-evaluation-pipelines-for-ai-applications-8680a412a1bd?sharedUserId=divakar.ungatla , we explored LLM-as-a-Judge and how another large language model can evaluate AI-generated responses using structured evaluation criteria. This allows us to evaluate qualities such as helpfulness, relevance, completeness, and groundedness at a much larger scale than relying entirely on human reviewers. However, the evaluations we have built so far share an important limitation — they happen offline. They start with evaluation datasets containing scenarios we have prepared in advance. These datasets are extremely useful for testing known behaviors, comparing changes and catching regressions. But once an AI application is deployed, users may interact with it in ways we never anticipated. They may ask questions that are not present in our evaluation dataset, phrase requests differently, combine constraints in unexpected ways, or expose behaviors that our offline tests never covered. This raises an important question: How do we evaluate the quality of an AI application when it is being used by real users? This is where Online Evaluation comes in. Instead of evaluating only predefined scenarios from an evaluation dataset, online evaluation evaluates interactions generated while an AI application is actually being used. These interactions can provide different kinds of quality signals. Users can directly tell us whether a response was useful, while automated evaluators can assess dimensions such as helpfulness, relevance, completeness, and groundedness across a much larger number of interactions. At a high level, online evaluation extends evaluation from the scenarios we prepared before deployment to the interactions that actually happen after deployment . In this article, we’ll build an online evaluation pipeline that captures real user interactions, collects explicit user feedback, and automatically evaluates response quality using an LLM judge. So far in this series, we have evaluated AI applications offline. We start with a predefined evaluation dataset, run the application against those examples and evaluate the generated responses. Because the evaluation cases are known in advance we can run them repeatedly to validate changes and catch regressions. Online evaluation starts from a different place - interactions that actually happen when users use the application. This difference changes how evaluation works. In an offline evaluation dataset, we can define what we expect the application to do. For example, the datasets we built earlier included an expected behavior for each evaluation case. A real user interaction does not arrive with an expected behavior. If a user asks: Show me flights from Bangalore to Tokyo that arrive before 8 PM. we have the user’s query, the application’s response, and potentially the context used to generate it — but nobody has defined the expected behavior for that interaction beforehand. Online evaluation therefore needs to derive quality signals from the interaction itself. Two particularly useful sources are: User feedback — what the user tells us about their experience. Automated evaluation — what an evaluator can assess about the quality of the response. We’ll implement both. Throughout this series, we’ve been using Wayfinder https://github.com/DivakarUngatla/wayfinder/tree/v0.5.0 , an AI-powered flight search application, to build and explore different evaluation techniques. We’ll continue with the same application and extend its evaluation system to support online evaluation . Our implementation will capture real user interactions, collect explicit user feedback, and automatically evaluate response quality using an LLM judge. The complete implementation used throughout this article is available in thecompanion GitHub repository.To follow along with exactly the same code shown in this article, check out thev0.5.0release. This ensures the code, commands and screenshots remain consistent over time. To follow along locally, clone the repository and check out the release containing the online evaluation implementation: git clone https://github.com/DivakarUngatla/wayfinder.gitcd wayfindergit checkout v0.5.0 Install the project dependencies: uv sync Before running the evaluation, configure the required environment variables. Create a .env file: cp .env.example .env Configure the required environment variables: OPENAI API KEY=