Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
.NET Day 2025: Enhancing Legal Document Analysi...
Search
dotnetday
August 29, 2025
Technology
0
4
.NET Day 2025: Enhancing Legal Document Analysis with Reflection Agents, Semantic Kernel, and Azure AI Search
dotnetday
August 29, 2025
Tweet
Share
More Decks by dotnetday
See All by dotnetday
.NET Day 2025: Developing ASP.NET Core Microservices with Dapr: A practical guide
dotnetday
0
4
.NET Day 2025: Future-Proof Your Blazor Apps with bUnit
dotnetday
0
4
.NET Day 2025: .NET Core Testing: pushing the limits
dotnetday
0
4
.NET Day 2025: The best ways to use the latest OpenAPI features in .NET 9!
dotnetday
0
4
.NET Day 2025: Supercharged Search with Semantic Search and Vector Embeddings
dotnetday
0
4
.NET Day 2025: Tickets to Ride: Conquering Booking Chaos with Resilient .NET Architecture
dotnetday
0
4
.NET Day 2025: Code smarter, not harder: How AI Coding Tools Boost Your Productivity
dotnetday
0
7
.NET Day 2024: Mastering Integration Testing for .Net Web Apis With Webapplicationfactory and Testcontainers
dotnetday
0
78
.NET Day 2024: Backend for Frontend as a Gateway to the World of Microservices
dotnetday
0
71
Other Decks in Technology
See All in Technology
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
290
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
370
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
670
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
390
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
3
680
[OCI Skill Mapping] AWSユーザーのためのOCI(2025年8月20日開催)
oracle4engineer
PRO
2
150
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
130
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
320
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
280
人を動かすことについて考える
ichimichi
2
330
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
モダンフロントエンド 開発研修
recruitengineers
PRO
3
360
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Building an army of robots
kneath
306
46k
Agile that works and the tools we love
rasmusluckow
329
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Building Adaptive Systems
keathley
43
2.7k
Gamification - CAS2011
davidbonilla
81
5.4k
Transcript
ENHANCING LEGAL DOCUMENT ANALYSIS WITH REFLECTION AGENTS, SEMANTIC KERNEL, AND
AZURE AI SEARCH
CÉDRIC MENDELIN Software Developer - isolutions AG
AGENDA LLM Basics Customer Project - FTA The Microsoft Way
- Azure AI Services Step-by-Step Improvements - FTA Conclusion
LLM BASICS
None
None
PROMPT History Parameters (Top-P, Temperature) System Message (Persona) Input
What is the current date?
None
None
RAG – RETRIEVAL-AUGMENTED GENERATION Search Engine Data Model User Application
RETRIEVAL STEP Is the document relevant for the query? +
=
EMBEDDINGS Source: https://weaviate.io/blog/how-to-choose-an-embedding-model
VECTOR SEARCH VECTORIZE DATA VECTORIZE QUERY VECTOR SEARCH (COSINE SIMILARITY)
FEDERAL TAX ADMINISTRATION
Federal Tax Administration 4 k
LAWS AND ORDINANCES (XML)
COURT RULING – FTA PUBLICATIONS (PDF)
CHALLENGES Wording/Style of texts Citation requirement Hierarchy in data Amount
of data
AZURE AI SERVICES
AZURE AI SERVICES OpenAI Vision Speech Language Content Safety Face
Document Intelligence Azure AI services AI Search AI Agent Service AI Model Inference AI Foundry
None
SEMANTIC KERNEL • Open-Source SDK • Middleware • Abstraction over
different Models
None
RAG – Azure OpenAI on your data Azure OpenAI Azure
AI Search
None
None
None
What is the current date?
None
None
FUNCTION CALLING
STEP-BY-STEP IMPROVEMENTS FTA
1ST ITERATION
1ST ITERATION Focus on 50 documents Index Laws per article
Index PDFs per page Azure Open AI – on your data Vector Search
AZURE OPENAI – ON YOUR DATA
1ST ITERATION – FEEDBACK Relevant documents not found Hallucination Poor
Answer Quality Other reasons
2ND ITERATION
2ND ITERATION Hybrid Search Prompting Writing Profiles (Persona) Chat Settings
HYBRID SEARCH PIPELINE Vector Search Text Search N Search Results
Derive Vector Query Derive Text Query
HYBRID SEARCH CODE
2ND ITERATION - FEEDBACK Relevant documents not found Hallucination Poor
Answer Quality Other reasons
None
We need more than a gut feeling
LLM EVALUATION
EVALUATION TYPES LLM evaluation How good the foundation models performs
on a certain task. LLM system evaluation How good the LLM performs in your specific use case, on your data, in your domain.
EVALUATION PIPELINE LLM System Evaluation Dataset Evaluators Score Input Reference
Answer Expected Doc Answer
LLM SYSTEM EVALUATION - METRICS Reference-based Reference-free LLM based
MEAI.EVALUATION OVERVIEW • Open-source • Predefined LLM-based evaluators • Interface
for custom-evaluators • Local and Azure Storage Account • In Preview
None
MEAI.EVALUATION.CONSOLE
None
EVALUATION QUESTIONS Question Reference Answer Expected Doc(s) Category
None
EVALUATION RESULTS 0 10 20 30 40 50 60 70
80 90 100 Provided source Applied source Retrieval Step - % of documents provided and applied Vector Search Hybrid Search
EVALUATION RESULTS 0.8 0.948 0.914 0.85 0.948 0.917 0.7 0.75
0.8 0.85 0.9 0.95 1 Relevance Groundedness Cosin Sim Answer Generation – Quality Metrics Vector Search Hybrid Search
3RD ITERATION
3RD ITERATION – RETRIEVAL OPTIMIZATION AI Enrichment Semantic Reranking
AI ENRICHMENT
SEMANTIC RERANKING Vector Search Text Search N Search Results Derive
Vector Query Derive Text Query Reranking
SEMANTIC RERANKING
3RD ITERATION - FEEDBACK Retrieval improved Sometimes poor Answer Quality
Other reasons
EVALUATION RESULTS 0 10 20 30 40 50 60 70
80 90 100 Provided source Applied source Retrieval Step - % of documents provided and applied Vector Search Hybrid Search Hybrid Search with Summary Hybrid Search with Reranking
EVALUATION RESULTS 0.8 0.948 0.914 0.85 0.948 0.917 0.86 0.945
0.917 0.9 0.988 0.927 0.7 0.75 0.8 0.85 0.9 0.95 1 Relevance Groundedness Cosin Sim Answer Generation – Quality Metrics Vector Search Hybrid Search Hybrid Search with Summary Hybrid Search with Reranking
4TH ITERATION
4TH ITERATION – ANSWER GENERATION OPTIMIZATION Reflection Agent
REFLECTION AGENT Writer Agent Critic Agent N Fact Checker Style
Checker Citation Checker
IMPLEMENTATION • Not supported by Azure OpenAI - On your
data • Derive Search Query • Using Azure AI Search SDK + Autogen
None
None
4TH ITERATION - FEEDBACK Other Reason
EVALUATION – EXECUTION TIME 2889 1999 2966 0 500 1000
1500 2000 2500 3000 3500 Azure OYOD - Hybrid Custom - Hybrid Multiagent (with Reranking) ms LLM system evaluation – Mean Execution Time
EVALUATION RESULTS 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1
Relevance Groundedness Cos Sim LLM System evaluation – MultiAgent Single Agent MultiAgent
LAST ITERATION
CONCLUSION
SURVEY RESULTS 86% OF ANSWERS RATED POSITIVELY 89% OF THE
USERS WANT TO USE THE SYSTEM PRODUCTIVELY
CONCLUSION • SK is your SDK of choice • Azure
AI Search for unstructured data • Use advanced capabilities • Start Evaluating early • What is your Use case • Business Value & Innovation The dotnet Stack is ready for productive AI Applications