Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Quarkus Insights #265: Observability and Evalua...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Quarkus Insights #265: Observability and Evaluation with Langfuse

AI-infused applications demand a rethinking of our testing practices. Developers face a new class of challenge as LLMs become standard integration points in modern applications: non-deterministic behavior that traditional testing approaches were never designed to handle.

Join Eric as he talks about testing strategies and evaluations in Quarkus and LangChain4j, as well as integrations with other open source tools.

Avatar for Eric Deandrea

Eric Deandrea PRO

October 26, 2026

More Decks by Eric Deandrea

Other Decks in Technology

Transcript

  1. Java??? 😯 … no seriously … why not Python? 🤔

    We integrate existing models Because we are not data scientists Do you really want to do these in Python? into enterprisegrade systems and applications • • • • Transactions Security Scalability Observability @edeandrea
  2. I don’t care if it works on your Jupyter notebook

    We are not shipping your Jupyter notebook @edeandrea
  3. What’s the difference between these? CRUD application Application Database Microservice

    Application Service AI-Infused application Application Model @edeandrea
  4. What’s the difference between these? CRUD application Database Application Microservice

    Application AI-Infused application Application Integration Points Service Model @edeandrea
  5. What’s the difference between these? CRUD application Database Application Microservice

    Application AI-Infused application Application Integration Points Service What do we Model do? @edeandrea
  6. What’s the difference between these? CRUD application Application Microservice Application

    AI-Infused application Application Database Integration Points Service Model @edeandrea
  7. o i t a s e r u l i

    a f n Traditional tests tell us if the system worked. t In r g e @edeandrea
  8. e v a h e s e h n? t

    o o d m t a m o h W in c https://www.upworthy.com/prankster-tricks-a-gm-dealership-chatbot-to-sell-him-a-76000-chevy-tahoe-for-1-rp3 https://www.cbsnews.com/news/aircanada-chatbot-discount-customer https://www.bbc.com/news/technology-35902104 https://www.spiceworks.com/tech/artificial-intelligence/news/meta-blender-bot-3-controversy https://www.linkedin.com/posts/stephanjanssen_princoming-activity-7285987635628507136-9Ubw @edeandrea
  9. r e w s n ! a g e n

    o h r T w s a w What does failure look like? The system worked! @edeandrea
  10. c i t n a m e S Did it

    work well? s e r u l i fa @edeandrea
  11. What happens when we do this? Is a s i

    th ? e r u l i fa @edeandrea
  12. What’s an evaluation? Unit test Evaluation assertEquals(expected, actual) “How good

    was this answer?” exact match semantic similarity, correctness, domain rules pass / fail score + explanation same input, same answer same input, different answers @edeandrea
  13. high realism end-to-end tests tests with application server test REST

    endpoints integration tests tests using AI unit tests low effort @edeandrea
  14. 3-Tier Evaluation Strategy Tier 1: Per-trace one request, one response

    Real-time checks ensuring immediate response quality. @edeandrea
  15. 3-Tier Evaluation Strategy Tier 1: Per-trace one request, one response

    Real-time checks ensuring immediate response quality. Tier 2: Per-session one full conversation End-of-session analysis of full user journeys measuring sentiment and goal success. @edeandrea
  16. 3-Tier Evaluation Strategy Tier 1: Per-trace one request, one response

    Real-time checks ensuring immediate response quality. Tier 2: Per-session Tier 3: Drift detection End-of-session analysis of full user journeys measuring sentiment and goal success. Automated gates comparing production metrics against historical baselines. one full conversation all traffic, over time @edeandrea
  17. 3-Tier Evaluation Strategy Tier 1: Per-trace one request, one response

    Real-time checks ensuring immediate response quality. Regression No intentional changes (model update, infrastructure, etc) Tier 2: Per-session Tier 3: Drift detection End-of-session analysis of full user journeys measuring sentiment and goal success. Automated gates comparing production metrics against historical baselines. one full conversation all traffic, over time Change Validation Intentional changes (prompt, business logic, data, etc) @edeandrea
  18. Anatomy of an Evaluation 1. Sample ◦ The test case

    containing input parameters & expected output. 2. Function under test ◦ The function being evaluated. Receives input parameters & produces an actual output. 3. Evaluation Strategy ◦ Logic that determines if the actual output is acceptable based on the expected output. 4. Evaluation Result ◦ Outcome (pass/fail), score, explanation, and metadata from the evaluation https://docs.quarkiverse.io/quarkus-langchain4j/dev/testing.html#_evaluation @edeandrea
  19. Anatomty of an Evaluation 1. Sample ◦ The test case

    containing input parameters & expected output. 2. Function under test ◦ The function being evaluated. Receives input parameters & produces an actual output. 3. Evaluation Strategy ◦ Logic that determines if the actual output is acceptable based on the expected output. 4. Evaluation Result ◦ Outcome (pass/fail), score, explanation, and metadata from the evaluation https://docs.quarkiverse.io/quarkus-langchain4j/dev/testing.html#_evaluation @edeandrea
  20. Takeaways • Remember the testing pyramid — use the right

    tool at each level • Don’t build observability into your apps — build it around them • Test in production. It’s the only place the real inputs are. • AI is just an API call — the answer isn’t. • Traditional tests tell you if the system worked. Evaluations tell you whether it worked well. @edeandrea