CedM commited on
Commit
5f458ee
·
verified ·
1 Parent(s): fe6f0f8

Déploiement automatique depuis GitLab CI

Browse files
.gitattributes CHANGED
@@ -38,3 +38,4 @@ vector_db/faiss_index.idx filter=lfs diff=lfs merge=lfs -text
38
  wheels/mistralai-1.12.4-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
39
  Docs/Logo_FAISS.png filter=lfs diff=lfs merge=lfs -text
40
  Docs/Logo_PostgreSQL.png filter=lfs diff=lfs merge=lfs -text
 
 
38
  wheels/mistralai-1.12.4-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
39
  Docs/Logo_FAISS.png filter=lfs diff=lfs merge=lfs -text
40
  Docs/Logo_PostgreSQL.png filter=lfs diff=lfs merge=lfs -text
41
+ Docs/Presentation.odp filter=lfs diff=lfs merge=lfs -text
Docs/Diagramme_fonctionnel_app.drawio ADDED
@@ -0,0 +1,594 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.4">
2
+ <diagram name="Page-1" id="i3cCvdTDKY3yDTjcxXmx">
3
+ <mxGraphModel dx="1591" dy="761" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="0" />
6
+ <mxCell id="1" parent="0" />
7
+ <mxCell id="pE5QKTvmRLVohwTmktCy-40" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;align=center;verticalAlign=top;" value="&lt;b&gt;5 - EVALUATION DU LLM+RAG+SQL AVEC RAGAS&amp;nbsp;&lt;/b&gt;(DATABASE_STATUS = 1)" vertex="1">
8
+ <mxGeometry height="680" width="750" x="38" y="2923" as="geometry" />
9
+ </mxCell>
10
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-25" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;align=center;verticalAlign=top;" value="&lt;b&gt;3 - CHATBOT MISTRAL&lt;/b&gt;" vertex="1">
11
+ <mxGeometry height="680" width="750" x="40.5" y="1480" as="geometry" />
12
+ </mxCell>
13
+ <mxCell id="pE5QKTvmRLVohwTmktCy-1" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;align=center;verticalAlign=top;" value="&lt;b&gt;2 - CHARGEMENT DE LA BASE DE DONNÉES SQL&lt;/b&gt;" vertex="1">
14
+ <mxGeometry height="680" width="750" x="39.5" y="760" as="geometry" />
15
+ </mxCell>
16
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-55" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;align=center;verticalAlign=top;" value="&lt;b&gt;4 - EVALUATION DU LLM+RAG AVEC RAGAS &lt;/b&gt;(DATABASE_STATUS = 0)" vertex="1">
17
+ <mxGeometry height="680" width="750" x="39.5" y="2200" as="geometry" />
18
+ </mxCell>
19
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-67" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;3 - Mistral LLM&lt;/b&gt;&amp;nbsp;:&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
20
+ <mxGeometry height="130" width="220" x="567.5" y="2255" as="geometry" />
21
+ </mxCell>
22
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-1" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;align=center;verticalAlign=top;" value="&lt;b&gt;1 - INDEXATION/VECTORISATION DES FICHIERS MÉTIER POUR LE RAG&lt;/b&gt;" vertex="1">
23
+ <mxGeometry height="680" width="750" x="39" y="40" as="geometry" />
24
+ </mxCell>
25
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-2" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#fff2cc;strokeColor=#d6b656;" value="&lt;b&gt;inputs&lt;/b&gt; : fichiers pdf, Excel..." vertex="1">
26
+ <mxGeometry height="90" width="80" x="50" y="335" as="geometry" />
27
+ </mxCell>
28
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-4" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#e1d5e7;strokeColor=#9673a6;" value="&lt;b&gt;indexer.py&lt;/b&gt; - Run de l&#39;indexation des fichiers utiles au RAG sur la NBA" vertex="1">
29
+ <mxGeometry height="60" width="250" x="290" y="600" as="geometry" />
30
+ </mxCell>
31
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-17" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-4">
32
+ <mxGeometry relative="1" as="geometry">
33
+ <Array as="points">
34
+ <mxPoint x="240" y="560" />
35
+ <mxPoint x="352" y="560" />
36
+ </Array>
37
+ </mxGeometry>
38
+ </mxCell>
39
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-18" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-17" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
40
+ <mxGeometry relative="1" x="-0.1537" y="1" as="geometry">
41
+ <mxPoint as="offset" />
42
+ </mxGeometry>
43
+ </mxCell>
44
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-5" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;data_loader.py&lt;/b&gt; - Extraction des données et nettoyage" vertex="1">
45
+ <mxGeometry height="60" width="120" x="180" y="350" as="geometry" />
46
+ </mxCell>
47
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-19" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-4">
48
+ <mxGeometry relative="1" as="geometry" />
49
+ </mxCell>
50
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-20" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-19" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
51
+ <mxGeometry relative="1" x="0.2737" as="geometry">
52
+ <mxPoint as="offset" />
53
+ </mxGeometry>
54
+ </mxCell>
55
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-9" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;config.py &lt;/b&gt;- Définition des variables pour les modules" vertex="1">
56
+ <mxGeometry height="60" width="120" x="355" y="350" as="geometry" />
57
+ </mxCell>
58
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-21" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-4">
59
+ <mxGeometry relative="1" as="geometry">
60
+ <Array as="points">
61
+ <mxPoint x="580" y="560" />
62
+ <mxPoint x="478" y="560" />
63
+ </Array>
64
+ </mxGeometry>
65
+ </mxCell>
66
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-22" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-21" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
67
+ <mxGeometry relative="1" x="0.2571" y="-2" as="geometry">
68
+ <mxPoint as="offset" />
69
+ </mxGeometry>
70
+ </mxCell>
71
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-10" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;vector_store.py&lt;/b&gt; - Moteur de :&amp;nbsp;&lt;div&gt;0 - Chunking (Langchain)&lt;/div&gt;&lt;div&gt;1 - Tokenization et Vectorisation (embedding - Mistral)&lt;br&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;2 - Mise à jour de la DB vectorielle (Faiss)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
72
+ <mxGeometry height="160" width="120" x="520" y="350" as="geometry" />
73
+ </mxCell>
74
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-11" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-2" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" target="pn79M9ptIqhmEgoE3gxf-5" value="">
75
+ <mxGeometry height="50" relative="1" width="50" as="geometry">
76
+ <mxPoint x="130" y="390" as="sourcePoint" />
77
+ <mxPoint x="180" y="340" as="targetPoint" />
78
+ </mxGeometry>
79
+ </mxCell>
80
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-15" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Read" vertex="1">
81
+ <mxGeometry relative="1" x="-0.08" y="3" as="geometry">
82
+ <mxPoint as="offset" />
83
+ </mxGeometry>
84
+ </mxCell>
85
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-12" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
86
+ <mxGeometry height="50" relative="1" width="50" as="geometry">
87
+ <mxPoint x="640" y="379.5" as="sourcePoint" />
88
+ <mxPoint x="690" y="379.5" as="targetPoint" />
89
+ </mxGeometry>
90
+ </mxCell>
91
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-16" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-12" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Write" vertex="1">
92
+ <mxGeometry relative="1" x="0.16" as="geometry">
93
+ <mxPoint y="1" as="offset" />
94
+ </mxGeometry>
95
+ </mxCell>
96
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-13" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;1 - Mistral Embedding&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;-Tokenization&lt;/div&gt;&lt;div&gt;- Vectorisation&lt;/div&gt;" vertex="1">
97
+ <mxGeometry height="140" width="200" x="476" y="100" as="geometry" />
98
+ </mxCell>
99
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-14" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;2 - vector_db&lt;/b&gt; :&amp;nbsp;&lt;div&gt;chunks et index&lt;/div&gt;" vertex="1">
100
+ <mxGeometry height="90" width="90" x="690" y="335" as="geometry" />
101
+ </mxCell>
102
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-23" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-10" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.558;exitY=0.013;exitDx=0;exitDy=0;exitPerimeter=0;" target="pn79M9ptIqhmEgoE3gxf-13" value="">
103
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
104
+ <mxPoint x="500" y="330" as="sourcePoint" />
105
+ <mxPoint x="600" y="230" as="targetPoint" />
106
+ </mxGeometry>
107
+ </mxCell>
108
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-24" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-23" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
109
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
110
+ <mxPoint as="offset" />
111
+ </mxGeometry>
112
+ </mxCell>
113
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-27" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#e1d5e7;strokeColor=#9673a6;align=left;" value="&lt;b&gt;MistralChat.py&lt;/b&gt;&amp;nbsp;- Streamlit pour run du ChatBot :&amp;nbsp;&lt;div style=&quot;&quot;&gt;- RAG (DATABASE_STATUS = 0)&lt;/div&gt;&lt;div style=&quot;&quot;&gt;ou&lt;/div&gt;&lt;div style=&quot;&quot;&gt;- RAG+SQL&amp;nbsp;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;(DATABASE_STATUS = 1)&lt;/span&gt;&lt;/div&gt;" vertex="1">
114
+ <mxGeometry height="95" width="276" x="276" y="2040" as="geometry" />
115
+ </mxCell>
116
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-31" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-27">
117
+ <mxGeometry relative="1" as="geometry" />
118
+ </mxCell>
119
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-32" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-31" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
120
+ <mxGeometry relative="1" x="0.2737" as="geometry">
121
+ <mxPoint as="offset" />
122
+ </mxGeometry>
123
+ </mxCell>
124
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-33" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;config.py &lt;/b&gt;- Définition des variables pour les modules" vertex="1">
125
+ <mxGeometry height="60" width="120" x="354.5" y="1790" as="geometry" />
126
+ </mxCell>
127
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-34" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-27">
128
+ <mxGeometry relative="1" as="geometry">
129
+ <Array as="points">
130
+ <mxPoint x="580" y="2010" />
131
+ <mxPoint x="477" y="2010" />
132
+ </Array>
133
+ </mxGeometry>
134
+ </mxCell>
135
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-35" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-34" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
136
+ <mxGeometry relative="1" x="0.2571" y="-2" as="geometry">
137
+ <mxPoint as="offset" />
138
+ </mxGeometry>
139
+ </mxCell>
140
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-36" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;vector_store.py&lt;/b&gt; - Moteur de :&amp;nbsp;&lt;div&gt;2 - Tokenization et Vectorisation du prompt user pour recherche contexte (embedding - Mistral)&lt;/div&gt;&lt;div&gt;3 - Recherche du contexte (Faiss)&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;4 - Interrogation LLM avec prompt final&amp;nbsp; (modèle - Mistral)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
141
+ <mxGeometry height="185" width="120" x="519.5" y="1790" as="geometry" />
142
+ </mxCell>
143
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-42" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;3 - vector_db&lt;/b&gt; :&amp;nbsp;&lt;div&gt;chunks et index&lt;/div&gt;" vertex="1">
144
+ <mxGeometry height="90" width="89" x="689.5" y="1775" as="geometry" />
145
+ </mxCell>
146
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-43" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-36" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;" target="pn79M9ptIqhmEgoE3gxf-41" value="">
147
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
148
+ <Array as="points">
149
+ <mxPoint x="550" y="1730" />
150
+ <mxPoint x="471" y="1730" />
151
+ <mxPoint x="471" y="1670" />
152
+ </Array>
153
+ <mxPoint x="499.5" y="1770" as="sourcePoint" />
154
+ <mxPoint x="599.5" y="1670" as="targetPoint" />
155
+ </mxGeometry>
156
+ </mxCell>
157
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-44" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-43" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
158
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
159
+ <mxPoint as="offset" />
160
+ </mxGeometry>
161
+ </mxCell>
162
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-41" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;2 - Mistral Embedding&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;-Tokenization&lt;/div&gt;&lt;div&gt;- Vectorisation&lt;/div&gt;&lt;div&gt;(mistral-embed)&lt;/div&gt;" vertex="1">
163
+ <mxGeometry height="150" width="200" x="360.5" y="1500" as="geometry" />
164
+ </mxCell>
165
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-48" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;4 - Mistral LLM&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
166
+ <mxGeometry height="120" width="160" x="598.5" y="1550" as="geometry" />
167
+ </mxCell>
168
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-52" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-42" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
169
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
170
+ <mxPoint x="990.5" y="2112.5" as="sourcePoint" />
171
+ <mxPoint x="639.5" y="1820" as="targetPoint" />
172
+ </mxGeometry>
173
+ </mxCell>
174
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-53" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-52" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Requête" vertex="1">
175
+ <mxGeometry relative="1" x="0.28" as="geometry">
176
+ <mxPoint x="1" y="20" as="offset" />
177
+ </mxGeometry>
178
+ </mxCell>
179
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-56" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#e1d5e7;strokeColor=#9673a6;align=left;" value="&lt;b&gt;evaluate_ragas.py&lt;/b&gt;&amp;nbsp;- Run de l&#39;évaluation du LLM+RAG avec RAGAS&lt;div&gt;4 - Evaluation pour Faithfulness, ContextPrecision, ContextRecall (modèle- Mistral)&lt;/div&gt;&lt;div&gt;4 - Evaluation pour&amp;nbsp;AnswerRelevancy (embdegging - Mistral)&lt;/div&gt;" vertex="1">
180
+ <mxGeometry height="130" width="251" x="287.5" y="2740" as="geometry" />
181
+ </mxCell>
182
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-57" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-56">
183
+ <mxGeometry relative="1" as="geometry" />
184
+ </mxCell>
185
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-58" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-57" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
186
+ <mxGeometry relative="1" x="0.2737" as="geometry">
187
+ <mxPoint as="offset" />
188
+ </mxGeometry>
189
+ </mxCell>
190
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-59" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;config.py &lt;/b&gt;- Définition des variables pour les modules" vertex="1">
191
+ <mxGeometry height="60" width="120" x="352.5" y="2510" as="geometry" />
192
+ </mxCell>
193
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-60" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="pn79M9ptIqhmEgoE3gxf-56">
194
+ <mxGeometry relative="1" as="geometry" />
195
+ </mxCell>
196
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-61" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-60" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
197
+ <mxGeometry relative="1" x="0.2571" y="-2" as="geometry">
198
+ <mxPoint as="offset" />
199
+ </mxGeometry>
200
+ </mxCell>
201
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-62" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;vector_store.py&lt;/b&gt; - Moteur de :&amp;nbsp;&lt;div&gt;1 - Tokenization et Vectorisation du prompt user pour recherche contexte (embedding - Mistral)&lt;/div&gt;&lt;div&gt;2 - Recherche du contexte (Faiss)&lt;div&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;3 - Interrogation LLM avec prompt final&amp;nbsp; (modèle - Mistral)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
202
+ <mxGeometry height="182" width="120" x="517.5" y="2510" as="geometry" />
203
+ </mxCell>
204
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-63" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;2 - vector_db&lt;/b&gt; :&amp;nbsp;&lt;div&gt;chunks et index&lt;/div&gt;" vertex="1">
205
+ <mxGeometry height="90" width="91" x="687.5" y="2495" as="geometry" />
206
+ </mxCell>
207
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-64" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;" target="pn79M9ptIqhmEgoE3gxf-66" value="">
208
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
209
+ <Array as="points">
210
+ <mxPoint x="538.5" y="2450" />
211
+ <mxPoint x="412.5" y="2450" />
212
+ </Array>
213
+ <mxPoint x="538.5" y="2510" as="sourcePoint" />
214
+ <mxPoint x="597.5" y="2390" as="targetPoint" />
215
+ </mxGeometry>
216
+ </mxCell>
217
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-65" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-64" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
218
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
219
+ <mxPoint as="offset" />
220
+ </mxGeometry>
221
+ </mxCell>
222
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-66" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;1 - Mistral Embedding&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;-Tokenization&lt;/div&gt;&lt;div&gt;- Vectorisation&lt;/div&gt;&lt;div&gt;(mistral-embed)&lt;/div&gt;" vertex="1">
223
+ <mxGeometry height="140" width="228" x="287.5" y="2250" as="geometry" />
224
+ </mxCell>
225
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-68" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-62" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;" target="pn79M9ptIqhmEgoE3gxf-67" value="">
226
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
227
+ <mxPoint x="749.5" y="2510" as="sourcePoint" />
228
+ <mxPoint x="458.5" y="2380" as="targetPoint" />
229
+ </mxGeometry>
230
+ </mxCell>
231
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-69" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-68" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
232
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
233
+ <mxPoint as="offset" />
234
+ </mxGeometry>
235
+ </mxCell>
236
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-70" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-63" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
237
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
238
+ <mxPoint x="988.5" y="2832.5" as="sourcePoint" />
239
+ <mxPoint x="637.5" y="2540" as="targetPoint" />
240
+ </mxGeometry>
241
+ </mxCell>
242
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-71" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-70" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Requête" vertex="1">
243
+ <mxGeometry relative="1" x="0.28" as="geometry">
244
+ <mxPoint x="3" y="20" as="offset" />
245
+ </mxGeometry>
246
+ </mxCell>
247
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-77" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-36" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;" value="">
248
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
249
+ <Array as="points">
250
+ <mxPoint x="579.5" y="1730" />
251
+ <mxPoint x="687.5" y="1730" />
252
+ </Array>
253
+ <mxPoint x="567.1399999999999" y="1789.9999999999998" as="sourcePoint" />
254
+ <mxPoint x="687.5" y="1663.54" as="targetPoint" />
255
+ </mxGeometry>
256
+ </mxCell>
257
+ <mxCell id="pn79M9ptIqhmEgoE3gxf-78" connectable="0" parent="pn79M9ptIqhmEgoE3gxf-77" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
258
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
259
+ <mxPoint as="offset" />
260
+ </mxGeometry>
261
+ </mxCell>
262
+ <mxCell id="0G2F_-y2maP_8VOtpILm-1" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;4 - Mistral Embedding&lt;/b&gt;&amp;nbsp;:&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;-Tokenization&lt;/div&gt;&lt;div&gt;- Vectorisation&lt;/div&gt;&lt;div&gt;(mistral-embed)&lt;/div&gt;" vertex="1">
263
+ <mxGeometry height="140" width="228" x="52.5" y="2520" as="geometry" />
264
+ </mxCell>
265
+ <mxCell id="0G2F_-y2maP_8VOtpILm-2" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;4 - Mistral LLM&lt;/b&gt;&amp;nbsp;:&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
266
+ <mxGeometry height="130" width="220" x="52.5" y="2370" as="geometry" />
267
+ </mxCell>
268
+ <mxCell id="0G2F_-y2maP_8VOtpILm-3" edge="1" parent="1" source="pn79M9ptIqhmEgoE3gxf-56" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;" target="0G2F_-y2maP_8VOtpILm-1" value="">
269
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
270
+ <Array as="points">
271
+ <mxPoint x="304.5" y="2690" />
272
+ <mxPoint x="177.5" y="2690" />
273
+ </Array>
274
+ <mxPoint x="304.5" y="2827" as="sourcePoint" />
275
+ <mxPoint x="178.50000000000003" y="2700" as="targetPoint" />
276
+ </mxGeometry>
277
+ </mxCell>
278
+ <mxCell id="0G2F_-y2maP_8VOtpILm-4" connectable="0" parent="0G2F_-y2maP_8VOtpILm-3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
279
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
280
+ <mxPoint as="offset" />
281
+ </mxGeometry>
282
+ </mxCell>
283
+ <mxCell id="0G2F_-y2maP_8VOtpILm-5" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.891;entryY=0.538;entryDx=0;entryDy=0;entryPerimeter=0;" target="0G2F_-y2maP_8VOtpILm-2" value="">
284
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
285
+ <Array as="points">
286
+ <mxPoint x="338.5" y="2440" />
287
+ </Array>
288
+ <mxPoint x="338.5" y="2740" as="sourcePoint" />
289
+ <mxPoint x="258.5" y="2440" as="targetPoint" />
290
+ </mxGeometry>
291
+ </mxCell>
292
+ <mxCell id="0G2F_-y2maP_8VOtpILm-8" connectable="0" parent="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
293
+ <mxGeometry x="318.5" y="2435" as="geometry" />
294
+ </mxCell>
295
+ <mxCell id="pE5QKTvmRLVohwTmktCy-2" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#fff2cc;strokeColor=#d6b656;" value="&lt;b&gt;inputs&lt;/b&gt; : fichiers csv, Excel" vertex="1">
296
+ <mxGeometry height="90" width="80" x="50.5" y="1055" as="geometry" />
297
+ </mxCell>
298
+ <mxCell id="pE5QKTvmRLVohwTmktCy-3" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#e1d5e7;strokeColor=#9673a6;" value="&lt;b&gt;load_excel_to_db.py&lt;/b&gt;&amp;nbsp;- Run de l&#39;extraction des données Excel et Insertion dans la db SQL" vertex="1">
299
+ <mxGeometry height="60" width="250" x="290.5" y="1320" as="geometry" />
300
+ </mxCell>
301
+ <mxCell id="pE5QKTvmRLVohwTmktCy-7" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="pE5QKTvmRLVohwTmktCy-3">
302
+ <mxGeometry relative="1" as="geometry" />
303
+ </mxCell>
304
+ <mxCell id="pE5QKTvmRLVohwTmktCy-8" connectable="0" parent="pE5QKTvmRLVohwTmktCy-7" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
305
+ <mxGeometry relative="1" x="0.2737" as="geometry">
306
+ <mxPoint as="offset" />
307
+ </mxGeometry>
308
+ </mxCell>
309
+ <mxCell id="pE5QKTvmRLVohwTmktCy-9" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;config.py &lt;/b&gt;- Définition des variables pour les modules" vertex="1">
310
+ <mxGeometry height="60" width="120" x="355.5" y="1070" as="geometry" />
311
+ </mxCell>
312
+ <mxCell id="pE5QKTvmRLVohwTmktCy-13" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-2" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;curved=0;" target="pE5QKTvmRLVohwTmktCy-3" value="">
313
+ <mxGeometry height="50" relative="1" width="50" as="geometry">
314
+ <Array as="points">
315
+ <mxPoint x="240" y="1100" />
316
+ <mxPoint x="240" y="1170" />
317
+ <mxPoint x="353" y="1170" />
318
+ </Array>
319
+ <mxPoint x="130.5" y="1110" as="sourcePoint" />
320
+ <mxPoint x="180.5" y="1100" as="targetPoint" />
321
+ </mxGeometry>
322
+ </mxCell>
323
+ <mxCell id="pE5QKTvmRLVohwTmktCy-14" connectable="0" parent="pE5QKTvmRLVohwTmktCy-13" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Read" vertex="1">
324
+ <mxGeometry relative="1" x="-0.08" y="3" as="geometry">
325
+ <mxPoint as="offset" />
326
+ </mxGeometry>
327
+ </mxCell>
328
+ <mxCell id="pE5QKTvmRLVohwTmktCy-15" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-3" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.778;exitY=-0.026;exitDx=0;exitDy=0;exitPerimeter=0;curved=0;" value="">
329
+ <mxGeometry height="50" relative="1" width="50" as="geometry">
330
+ <Array as="points">
331
+ <mxPoint x="485" y="1170" />
332
+ <mxPoint x="590" y="1170" />
333
+ <mxPoint x="590" y="1100" />
334
+ </Array>
335
+ <mxPoint x="640.5" y="1099.5" as="sourcePoint" />
336
+ <mxPoint x="690.5" y="1099.5" as="targetPoint" />
337
+ </mxGeometry>
338
+ </mxCell>
339
+ <mxCell id="pE5QKTvmRLVohwTmktCy-16" connectable="0" parent="pE5QKTvmRLVohwTmktCy-15" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Write" vertex="1">
340
+ <mxGeometry relative="1" x="0.16" as="geometry">
341
+ <mxPoint y="1" as="offset" />
342
+ </mxGeometry>
343
+ </mxCell>
344
+ <mxCell id="pE5QKTvmRLVohwTmktCy-18" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;PostgreSQL&lt;/b&gt;&amp;nbsp;:&amp;nbsp;&lt;div&gt;SQL db&lt;/div&gt;" vertex="1">
345
+ <mxGeometry height="90" width="90" x="690.5" y="1055" as="geometry" />
346
+ </mxCell>
347
+ <mxCell id="pE5QKTvmRLVohwTmktCy-21" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;langgraph_app.py&lt;/b&gt;&amp;nbsp;- Moteur de routage (Langchain) de la question utilisateur.&lt;div&gt;Routeur :&lt;br&gt;&lt;div&gt;&lt;div&gt;1 - Interrogation LLM pour routage&lt;/div&gt;&lt;div&gt;&lt;b&gt;RAG&lt;/b&gt; :&lt;br&gt;&lt;div&gt;2 - Routage Vector db&lt;/div&gt;&lt;div&gt;&lt;b&gt;SQL&lt;/b&gt; :&lt;/div&gt;&lt;div&gt;&lt;div&gt;2.1 -&amp;nbsp;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(51, 51, 51), rgb(193, 193, 193));&quot;&gt;Interro LLM pour NL -&amp;gt; SQL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;2.2 - Requête SQL&lt;/div&gt;&lt;div&gt;2.3 - Interro LLM pour résultat SQL -&amp;gt; NL&lt;/div&gt;&lt;div&gt;5 - Finalisation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
348
+ <mxGeometry height="243" width="120" x="188.5" y="1790" as="geometry" />
349
+ </mxCell>
350
+ <mxCell id="pE5QKTvmRLVohwTmktCy-23" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;">
351
+ <mxGeometry relative="1" as="geometry">
352
+ <Array as="points">
353
+ <mxPoint x="350" y="1891" />
354
+ </Array>
355
+ <mxPoint x="270" y="1980" as="sourcePoint" />
356
+ <mxPoint x="350" y="2040" as="targetPoint" />
357
+ </mxGeometry>
358
+ </mxCell>
359
+ <mxCell id="pE5QKTvmRLVohwTmktCy-24" connectable="0" parent="pE5QKTvmRLVohwTmktCy-23" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
360
+ <mxGeometry relative="1" x="0.2737" as="geometry">
361
+ <mxPoint as="offset" />
362
+ </mxGeometry>
363
+ </mxCell>
364
+ <mxCell id="pE5QKTvmRLVohwTmktCy-25" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.146;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-21">
365
+ <mxGeometry relative="1" as="geometry">
366
+ <mxPoint x="170" y="1810" as="sourcePoint" />
367
+ <mxPoint x="170" y="2000" as="targetPoint" />
368
+ </mxGeometry>
369
+ </mxCell>
370
+ <mxCell id="pE5QKTvmRLVohwTmktCy-26" connectable="0" parent="pE5QKTvmRLVohwTmktCy-25" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
371
+ <mxGeometry relative="1" x="0.2737" as="geometry">
372
+ <mxPoint as="offset" />
373
+ </mxGeometry>
374
+ </mxCell>
375
+ <mxCell id="pE5QKTvmRLVohwTmktCy-22" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;sql_tool.py&amp;nbsp;&lt;/b&gt;- Définition de l&#39;Agent SQL ReAct (Langchain)" vertex="1">
376
+ <mxGeometry height="60" width="120" x="50" y="1670" as="geometry" />
377
+ </mxCell>
378
+ <mxCell id="pE5QKTvmRLVohwTmktCy-27" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;2.2 - PostgreSQL&lt;/b&gt;&amp;nbsp;:&amp;nbsp;&lt;div&gt;SQL db&lt;/div&gt;" vertex="1">
379
+ <mxGeometry height="90" width="89" x="50" y="1775" as="geometry" />
380
+ </mxCell>
381
+ <mxCell id="pE5QKTvmRLVohwTmktCy-30" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;1 / 2.1 / 2.3 - Mistral LLM&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
382
+ <mxGeometry height="120" width="160" x="260" y="1610" as="geometry" />
383
+ </mxCell>
384
+ <mxCell id="pE5QKTvmRLVohwTmktCy-34" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-21" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.696;exitY=0.021;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;entryX=0.488;entryY=0.917;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-30" value="">
385
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
386
+ <Array as="points" />
387
+ <mxPoint x="140" y="1790" as="sourcePoint" />
388
+ <mxPoint x="248" y="1670" as="targetPoint" />
389
+ </mxGeometry>
390
+ </mxCell>
391
+ <mxCell id="pE5QKTvmRLVohwTmktCy-35" connectable="0" parent="pE5QKTvmRLVohwTmktCy-34" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
392
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
393
+ <mxPoint x="31" y="12" as="offset" />
394
+ </mxGeometry>
395
+ </mxCell>
396
+ <mxCell id="pE5QKTvmRLVohwTmktCy-38" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
397
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
398
+ <mxPoint x="191.75" y="1819.5" as="sourcePoint" />
399
+ <mxPoint x="141.25" y="1819.5" as="targetPoint" />
400
+ </mxGeometry>
401
+ </mxCell>
402
+ <mxCell id="pE5QKTvmRLVohwTmktCy-39" connectable="0" parent="pE5QKTvmRLVohwTmktCy-38" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Requête" vertex="1">
403
+ <mxGeometry relative="1" x="0.28" as="geometry">
404
+ <mxPoint x="1" y="20" as="offset" />
405
+ </mxGeometry>
406
+ </mxCell>
407
+ <mxCell id="pE5QKTvmRLVohwTmktCy-41" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;4 - Mistral LLM&lt;/b&gt;&amp;nbsp;:&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
408
+ <mxGeometry height="130" width="220" x="560.5" y="2950" as="geometry" />
409
+ </mxCell>
410
+ <mxCell id="pE5QKTvmRLVohwTmktCy-42" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#e1d5e7;strokeColor=#9673a6;align=left;" value="&lt;b&gt;evaluate_ragas.py&lt;/b&gt;&amp;nbsp;- Run de l&#39;évaluation du LLM+RAG avec RAGAS&lt;div&gt;6 - Evaluation pour Faithfulness, ContextPrecision, ContextRecall (modèle- Mistral)&lt;/div&gt;&lt;div&gt;6 - Evaluation pour&amp;nbsp;AnswerRelevancy (embdegging - Mistral)&lt;/div&gt;" vertex="1">
411
+ <mxGeometry height="130" width="290" x="296" y="3463" as="geometry" />
412
+ </mxCell>
413
+ <mxCell id="pE5QKTvmRLVohwTmktCy-43" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="pE5QKTvmRLVohwTmktCy-42">
414
+ <mxGeometry relative="1" as="geometry" />
415
+ </mxCell>
416
+ <mxCell id="pE5QKTvmRLVohwTmktCy-44" connectable="0" parent="pE5QKTvmRLVohwTmktCy-43" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
417
+ <mxGeometry relative="1" x="0.2737" as="geometry">
418
+ <mxPoint as="offset" />
419
+ </mxGeometry>
420
+ </mxCell>
421
+ <mxCell id="pE5QKTvmRLVohwTmktCy-46" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="pE5QKTvmRLVohwTmktCy-42">
422
+ <mxGeometry relative="1" as="geometry" />
423
+ </mxCell>
424
+ <mxCell id="pE5QKTvmRLVohwTmktCy-47" connectable="0" parent="pE5QKTvmRLVohwTmktCy-46" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
425
+ <mxGeometry relative="1" x="0.2571" y="-2" as="geometry">
426
+ <mxPoint as="offset" />
427
+ </mxGeometry>
428
+ </mxCell>
429
+ <mxCell id="pE5QKTvmRLVohwTmktCy-48" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;vector_store.py&lt;/b&gt; - Moteur de :&amp;nbsp;&lt;div&gt;2 - Tokenization et Vectorisation du prompt user pour recherche contexte (embedding - Mistral)&lt;/div&gt;&lt;div&gt;3 - Recherche du contexte (Faiss)&lt;br&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;4 - Interrogation LLM avec prompt final&amp;nbsp; (modèle - Mistral)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
430
+ <mxGeometry height="180" width="120" x="516" y="3233" as="geometry" />
431
+ </mxCell>
432
+ <mxCell id="pE5QKTvmRLVohwTmktCy-49" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;3 - vector_db&lt;/b&gt; :&amp;nbsp;&lt;div&gt;chunks et index&lt;/div&gt;" vertex="1">
433
+ <mxGeometry height="90" width="91" x="686" y="3218" as="geometry" />
434
+ </mxCell>
435
+ <mxCell id="pE5QKTvmRLVohwTmktCy-50" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;" target="pE5QKTvmRLVohwTmktCy-52" value="">
436
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
437
+ <Array as="points">
438
+ <mxPoint x="537" y="3150" />
439
+ <mxPoint x="470" y="3150" />
440
+ </Array>
441
+ <mxPoint x="537" y="3233" as="sourcePoint" />
442
+ <mxPoint x="596" y="3113" as="targetPoint" />
443
+ </mxGeometry>
444
+ </mxCell>
445
+ <mxCell id="pE5QKTvmRLVohwTmktCy-51" connectable="0" parent="pE5QKTvmRLVohwTmktCy-50" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
446
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
447
+ <mxPoint as="offset" />
448
+ </mxGeometry>
449
+ </mxCell>
450
+ <mxCell id="pE5QKTvmRLVohwTmktCy-52" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;2 - Mistral Embedding&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;-Tokenization&lt;/div&gt;&lt;div&gt;- Vectorisation&lt;/div&gt;&lt;div&gt;(mistral-embed)&lt;/div&gt;" vertex="1">
451
+ <mxGeometry height="140" width="228" x="344.5" y="2940" as="geometry" />
452
+ </mxCell>
453
+ <mxCell id="pE5QKTvmRLVohwTmktCy-53" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-48" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-41" value="">
454
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
455
+ <Array as="points">
456
+ <mxPoint x="576" y="3150" />
457
+ <mxPoint x="682" y="3150" />
458
+ </Array>
459
+ <mxPoint x="748" y="3233" as="sourcePoint" />
460
+ <mxPoint x="457" y="3103" as="targetPoint" />
461
+ </mxGeometry>
462
+ </mxCell>
463
+ <mxCell id="pE5QKTvmRLVohwTmktCy-54" connectable="0" parent="pE5QKTvmRLVohwTmktCy-53" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
464
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
465
+ <mxPoint as="offset" />
466
+ </mxGeometry>
467
+ </mxCell>
468
+ <mxCell id="pE5QKTvmRLVohwTmktCy-55" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-49" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
469
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
470
+ <mxPoint x="987" y="3555.5" as="sourcePoint" />
471
+ <mxPoint x="636" y="3263" as="targetPoint" />
472
+ </mxGeometry>
473
+ </mxCell>
474
+ <mxCell id="pE5QKTvmRLVohwTmktCy-56" connectable="0" parent="pE5QKTvmRLVohwTmktCy-55" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Requête" vertex="1">
475
+ <mxGeometry relative="1" x="0.28" as="geometry">
476
+ <mxPoint x="3" y="20" as="offset" />
477
+ </mxGeometry>
478
+ </mxCell>
479
+ <mxCell id="pE5QKTvmRLVohwTmktCy-58" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;6 - Mistral Embedding&lt;/b&gt;&amp;nbsp;:&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;-Tokenization&lt;/div&gt;&lt;div&gt;- Vectorisation&lt;/div&gt;&lt;div&gt;(mistral-embed)&lt;/div&gt;" vertex="1">
480
+ <mxGeometry height="140" width="228" x="130.5" y="2940" as="geometry" />
481
+ </mxCell>
482
+ <mxCell id="pE5QKTvmRLVohwTmktCy-59" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;6 - Mistral LLM&lt;/b&gt;&amp;nbsp;:&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
483
+ <mxGeometry height="130" width="220" x="297.5" y="3140" as="geometry" />
484
+ </mxCell>
485
+ <mxCell id="pE5QKTvmRLVohwTmktCy-60" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-42" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.871;entryY=0.786;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-58" value="">
486
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
487
+ <Array as="points">
488
+ <mxPoint x="300" y="3120" />
489
+ <mxPoint x="330" y="3120" />
490
+ <mxPoint x="330" y="3068" />
491
+ </Array>
492
+ <mxPoint x="303" y="3550" as="sourcePoint" />
493
+ <mxPoint x="299" y="3068" as="targetPoint" />
494
+ </mxGeometry>
495
+ </mxCell>
496
+ <mxCell id="pE5QKTvmRLVohwTmktCy-61" connectable="0" parent="pE5QKTvmRLVohwTmktCy-60" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
497
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
498
+ <mxPoint x="22" y="-135" as="offset" />
499
+ </mxGeometry>
500
+ </mxCell>
501
+ <mxCell id="pE5QKTvmRLVohwTmktCy-63" connectable="0" parent="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
502
+ <mxGeometry x="355" y="3263" as="geometry">
503
+ <mxPoint x="17" y="28" as="offset" />
504
+ </mxGeometry>
505
+ </mxCell>
506
+ <mxCell id="pE5QKTvmRLVohwTmktCy-45" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;config.py &lt;/b&gt;- Définition des variables pour les modules" vertex="1">
507
+ <mxGeometry height="60" width="120" x="351.5" y="3323" as="geometry" />
508
+ </mxCell>
509
+ <mxCell id="pE5QKTvmRLVohwTmktCy-69" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;langgraph_app.py&lt;/b&gt;&amp;nbsp;- Moteur de routage (Langchain) de la question utilisateur.&lt;div&gt;Routeur :&lt;br&gt;&lt;div&gt;&lt;div&gt;1 - Interrogation LLM pour routage&lt;/div&gt;&lt;div&gt;&lt;b&gt;RAG&lt;/b&gt; :&lt;br&gt;&lt;div&gt;2 - Routage Vector db&lt;/div&gt;&lt;div&gt;&lt;b&gt;SQL&lt;/b&gt; :&lt;/div&gt;&lt;div&gt;2.1 - Interro LLM pour NL -&amp;gt; SQL&lt;/div&gt;&lt;/div&gt;&lt;div&gt;2.2 - Requête SQL&lt;/div&gt;&lt;div&gt;2.3 - Interro LLM pour résultat SQL -&amp;gt; NL&lt;/div&gt;&lt;div&gt;5 - Finalisation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
510
+ <mxGeometry height="238" width="120" x="152.5" y="3330" as="geometry" />
511
+ </mxCell>
512
+ <mxCell id="pE5QKTvmRLVohwTmktCy-70" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" target="pE5QKTvmRLVohwTmktCy-42">
513
+ <mxGeometry relative="1" as="geometry">
514
+ <Array as="points">
515
+ <mxPoint x="213" y="3591" />
516
+ <mxPoint x="281" y="3591" />
517
+ <mxPoint x="281" y="3561" />
518
+ </Array>
519
+ <mxPoint x="236.5" y="3620" as="sourcePoint" />
520
+ <mxPoint x="316.5" y="3680" as="targetPoint" />
521
+ </mxGeometry>
522
+ </mxCell>
523
+ <mxCell id="pE5QKTvmRLVohwTmktCy-71" connectable="0" parent="pE5QKTvmRLVohwTmktCy-70" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
524
+ <mxGeometry relative="1" x="0.2737" as="geometry">
525
+ <mxPoint x="-33" y="-2" as="offset" />
526
+ </mxGeometry>
527
+ </mxCell>
528
+ <mxCell id="pE5QKTvmRLVohwTmktCy-72" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.146;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-69">
529
+ <mxGeometry relative="1" as="geometry">
530
+ <Array as="points">
531
+ <mxPoint x="136" y="3304" />
532
+ <mxPoint x="170" y="3304" />
533
+ </Array>
534
+ <mxPoint x="136.5" y="3450" as="sourcePoint" />
535
+ <mxPoint x="136.5" y="3640" as="targetPoint" />
536
+ </mxGeometry>
537
+ </mxCell>
538
+ <mxCell id="pE5QKTvmRLVohwTmktCy-73" connectable="0" parent="pE5QKTvmRLVohwTmktCy-72" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Import" vertex="1">
539
+ <mxGeometry relative="1" x="0.2737" as="geometry">
540
+ <mxPoint as="offset" />
541
+ </mxGeometry>
542
+ </mxCell>
543
+ <mxCell id="pE5QKTvmRLVohwTmktCy-74" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" value="&lt;b&gt;sql_tool.py&amp;nbsp;&lt;/b&gt;- Définition de l&#39;Agent SQL ReAct (Langchain)" vertex="1">
544
+ <mxGeometry height="60" width="120" x="46.25" y="3225" as="geometry" />
545
+ </mxCell>
546
+ <mxCell id="pE5QKTvmRLVohwTmktCy-75" parent="1" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;align=center;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;b&gt;2.2 - PostgreSQL&lt;/b&gt;&amp;nbsp;:&amp;nbsp;&lt;div&gt;SQL db&lt;/div&gt;" vertex="1">
547
+ <mxGeometry height="90" width="88.5" x="46.25" y="3360" as="geometry" />
548
+ </mxCell>
549
+ <mxCell id="pE5QKTvmRLVohwTmktCy-76" parent="1" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="&lt;b&gt;1 / 2.1 / 2.3 - Mistral LLM&lt;/b&gt; :&lt;div&gt;FaaS/Serverless&lt;/div&gt;&lt;div&gt;(mistral-small-latest)&lt;/div&gt;" vertex="1">
550
+ <mxGeometry height="120" width="160" x="120.5" y="3060" as="geometry" />
551
+ </mxCell>
552
+ <mxCell id="pE5QKTvmRLVohwTmktCy-77" edge="1" parent="1" source="pE5QKTvmRLVohwTmktCy-69" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;entryX=0.488;entryY=0.917;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-76" value="">
553
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
554
+ <Array as="points">
555
+ <mxPoint x="243" y="3200" />
556
+ <mxPoint x="199" y="3200" />
557
+ </Array>
558
+ <mxPoint x="106.5" y="3430" as="sourcePoint" />
559
+ <mxPoint x="214.5" y="3310" as="targetPoint" />
560
+ </mxGeometry>
561
+ </mxCell>
562
+ <mxCell id="pE5QKTvmRLVohwTmktCy-78" connectable="0" parent="pE5QKTvmRLVohwTmktCy-77" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="requête HTTP" vertex="1">
563
+ <mxGeometry relative="1" x="0.0003" y="2" as="geometry">
564
+ <mxPoint x="10" y="-50" as="offset" />
565
+ </mxGeometry>
566
+ </mxCell>
567
+ <mxCell id="pE5QKTvmRLVohwTmktCy-79" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-75" value="">
568
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
569
+ <Array as="points">
570
+ <mxPoint x="91" y="3505" />
571
+ </Array>
572
+ <mxPoint x="155" y="3505" as="sourcePoint" />
573
+ <mxPoint x="104.5" y="3505" as="targetPoint" />
574
+ </mxGeometry>
575
+ </mxCell>
576
+ <mxCell id="pE5QKTvmRLVohwTmktCy-80" connectable="0" parent="pE5QKTvmRLVohwTmktCy-79" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="Requête" vertex="1">
577
+ <mxGeometry relative="1" x="0.28" as="geometry">
578
+ <mxPoint x="1" y="20" as="offset" />
579
+ </mxGeometry>
580
+ </mxCell>
581
+ <mxCell id="pE5QKTvmRLVohwTmktCy-81" edge="1" parent="1" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;" target="pE5QKTvmRLVohwTmktCy-59" value="">
582
+ <mxGeometry height="100" relative="1" width="100" as="geometry">
583
+ <Array as="points">
584
+ <mxPoint x="340" y="3300" />
585
+ <mxPoint x="419" y="3300" />
586
+ </Array>
587
+ <mxPoint x="339.5" y="3463" as="sourcePoint" />
588
+ <mxPoint x="273" y="3300" as="targetPoint" />
589
+ </mxGeometry>
590
+ </mxCell>
591
+ </root>
592
+ </mxGraphModel>
593
+ </diagram>
594
+ </mxfile>
Docs/Diagramme_fonctionnel_app.pdf ADDED
Binary file (74.2 kB). View file
 
Docs/Presentation.odp ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5a9017f19be26d7b872ad7c3085cd207c24a4c760d058cef988b96d6519b6d44
3
+ size 1118395
Notebook_Eval_Ragas.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
Ragas_results/ragas_results_final.csv ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ user_input;retrieved_contexts;response;reference;faithfulness;answer_relevancy;context_precision;context_recall;database_status;model_name;temperature;embedding_model;search_k;chunk_size;chunk_overlap;embedding_batch_size;route
2
+ Quelle équipe à comme code MIA ?;['Le code **MIA** correspond aux **Miami Heat**.'];Le code **MIA** correspond aux **Miami Heat**.;L’équipe ayant le code MIA est l’équipe des Miami Heat.;1.0;0.7747021737401271;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
3
+ Combien de joueurs contient l’équipe des Philadelphia 76ers ?;['L’équipe des **Philadelphia 76ers** contient **23 joueurs**.'];L’équipe des **Philadelphia 76ers** contient **23 joueurs**.;L’équipe des Philadelphia 76ers contient 23 joueurs.;1.0;0.8306797091625965;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
4
+ Quelle est la moyenne d’âge des joueurs d’Atlanta à un chiffre après la virgule ?;['La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.'];La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.;La moyenne d’âge des joueurs d’Atlanta est de 25,6.;1.0;0.9554046921730333;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
5
+ Quelle est l’équipe qui a inscrit le plus de point ?;['L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec **10 292 points**.'];L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec **10 292 points**.;L’équipe des Detroit Pistons a inscrit le plus de points avec un total de 10292.;1.0;0.7676387154221089;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
6
+ Comment se rendre à San Antonio ?;"[""recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus elderscrollsonline com The Alder Scrolls Jayveesac -15 j Comm. du top 1% Pacers vs. Thunder is gonna be a great and toxic series at the same time 356 Répondre twrs_29 ~15 j Comm. du top 1% doubt it will even be extremely toxic between the Pacers and Thunder fans, mostly just everyone else 210 Répondre Sure_Station9370 ~15 j Tyrese Haliburton has to be one of the biggest shit talkers in the league. wanna see how that goes down on the court when the stakes are highest. 61 Répondre twrs_29 ~15 j Comm. du top 1% wavefree3 ~15 j Comm. du top 1% Rapper_Laugh -15 j https:/lwww. reddit.comlrInbalcomments/ 1kxixihlhow it_that the_two best_teams the playoffsl 11/23 will 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter much shit? know he's always talking; but that doesn't necessarily mean shit talking. It often reads to me more like he's just a very vocal player. I've seen clips of him cheering his teammates on, giving them information; complimenting the other team; speaking up in team huddles; and more; but Im not sure if | can actually remember a clip of him talking shit for real. For what's it worth; Im the rare Bucks fan that loves Hali. Wisconsin kid from my hometown who plays ethical basketball. 0 1"", 'who don\'t actually watch the sport just saying whatever so can post 3 YouTube shorts a 0 3 Répondre hoppergym * -14j Comm. du 1% Who? What nba media? That\'s all I\'m asking: 0 1 Répondre Terrible Shelter 345 -15 j It\'s probably just salty Celtics fans, Knicks fans, Jokic stans, and Ant stans all online: No one in real life would ever be ""tv ratings"" at the bar or the kickback watching a ball game Imao Répondre ND702O -15 j Comm. du 1% https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 19/23 they day top bitching talking top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter that\'s true or not anyway); and 2. Those saying the Thunder will win easily. think (and hope) that\'s wrong. If you believe the Thunder\'s defense will just smother the Pacers, then yes, it will be a snooze, particularly as don\'t play an exciting brand of basketball. BUT the Pacers play very exciting ball, Carlisle is a hell of a coach; their PG doesn\'t turn the ball over, and are great at dictating the pace of games. They\'ve been counted out a lot. Im not counting them out in the finals. U Répondre brob ~15 j I\'d like to understand the rationale of OKC not playing an exciting brand of basketball. They play with higher pace than IND; both in regular season and playoffs. Is it just because OKC has an actual defense? Répondre skj458', '12/06/2025 13.06 Who are teams in the playoffs that have impressed you ? rInba Accéder au contenu principal Rechercher dans r/nba YA Se connecter rInba il y a 1 m MannerSuperb Who are teams in the playoffs that have impressed you ? For me it\'s the Despite awful shooting have really taken the defending champs to the brink. Im a little biased as a Duke fan but Paolo and Franz are absolute dogs and my favorite young wing duo in the league those guys have shown are built for playoff basketball with their shot making and competing defensively. truly hope orl can get those kids some real shooters and a true point theirs another level their games and overall team can reach if simply had some floor spacing and average play around them. 31 236 Partager xometry_europe Sponsorisé(e) ""Si seulement je l\'avais su plus tôt"" , disent souvent les ingénieurs et dessinateurs après Accélérez le avoir découvert les possibilités de prototypage offertes par Xometry. Face aux méthodes développement de vos prototypes avec Xometry traditionnelles; la plateforme Xometry apporte rapidité et flexibilité. oplimsez Vos oroessus fegiuie] eos IioC Sui Marchle Yracrahuorication , aetande En savoir plus pages xometry eu Xometry Rejoindre la conversation Trier par Meilleurs Rechercher des commentaires NotWD . -1 Ant\'s been a machine as expected; but Randle\'s genuinely beating the beyblade allegations and it\'s so nice to see 186 Répondre MG MN Comm. du 1% Randle has been a revelation. His bully ball has worked', ""someone please think of the advertising revenue?? 4 5 Répondre metaldetector6g -15 j Giannis to lakers mock during game finals halftime show. 0 1 Répondre couchtomato62 ~15 j Who care about media. don't even watch pre or post game and turn down the sound during half time: During most of the playoffs was watching the games on league pass. they had a no commentators version with only sounds from the court. It was fantastic. 4 1 Répondre dalivo ~15 j It'Il be a snooze fest because OKC is going to steamroll Indiana https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams_ the playoffsl 10/23 they' they they they pro 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter Which is so ironic because ratings be down (which costs them money and nobody else) because of them directly. 4 1 Répondre WeenisWrinkle . -15 j Right? Big markets, big stars, and big brands get viewers. The hardcore fans want good basketball above all else; but most casual viewers don't. 4 1 Répondre IScraggyBo -14 j medias obsession is just the same as the commenters on reddit's obsession; don't blame the MSM for something prevalent in the 'fans' as well U 1 Répondre BethesdaFR Sponsorisé(e) Salut Reddit... Nous recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus"", ""getting to the line; without appreciating what he does to get there; or what he does with the opportunity. Répondre TheWaySheGoes -15 j https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams the playoffsl 12/23 they 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter U 9 Repondre PrayForMojo _ ~15 j Im rooting for Siakam. Répondre RidiculousBacklog -15 j Don't forget that Andrew Nembhard was on Team Canada as well. 4 12 Répondre 3 réponses supplémentaires 2 réponses supplémentaires dreggers -15 j rather see OKC win; Alex Caruso deserves a second 0 -2 Répondre FunkTronto -15 j Pascal getting a second ring would be spicier. 4 11 Répondre GodWhyPlease ~15 j Modifié il y a-15 j BruceBrownMVP ~15 j The same was said at the start of the season about how you guys and Denver fans wouldn't get toxic over the MVP since you have a shared love of Westbrook and we saw how that ended up 13 Répondre GorillaX ~15 j Well it's not our fault that Jokic flops like a fish and plays zero defense 4 -1 Répondre twrs_29 ~15 j Comm; du 19 turkmileymileyturk ~15j https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 13/23 ring top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se""]";"**Réponse structurée :**
7
+
8
+ **Destination :** San Antonio, Texas (États-Unis).
9
+
10
+ **Options de transport :**
11
+ 1. **Avion** (recommandé pour les longues distances) :
12
+ - Aéroport principal : **San Antonio International Airport (SAT)**.
13
+ - Compagnies aériennes : American Airlines, Southwest, United, Delta, etc.
14
+ - Vols directs depuis les grandes villes (ex : New York, Los Angeles, Chicago).
15
+
16
+ 2. **Voiture** (pour les trajets régionaux) :
17
+ - Depuis Austin (~1h30), Houston (~3h), Dallas (~4h30).
18
+ - Routes principales : I-35, I-10, US-281.
19
+
20
+ 3. **Bus/Train** (alternatives économiques) :
21
+ - **Bus** : Greyhound ou Megabus (depuis les villes voisines).
22
+ - **Train** : Amtrak (ligne *Texas Eagle* depuis Chicago ou Los Angeles).
23
+
24
+ **Conseils :**
25
+ - Vérifier les horaires et tarifs sur les sites officiels (ex : [SAT Airport](https://www.flysanantonio.com/)).
26
+ - Pour un déplacement NBA (ex : match des Spurs), privilégier l’avion ou la voiture.
27
+
28
+ *Source : Données publiques (2024). Pour des infos actualisées, consulter les sites des transporteurs.*";Le système ne peut pas guider l’utilisateur et suggère de consulter une source externe.;0.09090909090909091;0.8234001929397904;0.0;0.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;rag
29
+ Quelle équipe à comme code MIA ?;"[""L'équipe ayant le code **MIA** est la **Miami Heat**.""]";L'équipe ayant le code **MIA** est la **Miami Heat**.;L’équipe ayant le code MIA est l’équipe des Miami Heat.;1.0;0.8387145973862841;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
30
+ Combien de joueurs contient l’équipe des Philadelphia 76ers ?;['L’équipe des **Philadelphia 76ers** contient **23 joueurs**.'];L’équipe des **Philadelphia 76ers** contient **23 joueurs**.;L’équipe des Philadelphia 76ers contient 23 joueurs.;1.0;0.831223530712261;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
31
+ Quelle est la moyenne d’âge des joueurs d’Atlanta à un chiffre après la virgule ?;['La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.'];La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.;La moyenne d’âge des joueurs d’Atlanta est de 25,6.;1.0;0.9597211451426854;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
32
+ Quelle est l’équipe qui a inscrit le plus de point ?;['L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec un total de **10 292 points**.'];L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec un total de **10 292 points**.;L’équipe des Detroit Pistons a inscrit le plus de points avec un total de 10292.;1.0;0.7652486203485087;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
33
+ Comment se rendre à San Antonio ?;"[""recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus elderscrollsonline com The Alder Scrolls Jayveesac -15 j Comm. du top 1% Pacers vs. Thunder is gonna be a great and toxic series at the same time 356 Répondre twrs_29 ~15 j Comm. du top 1% doubt it will even be extremely toxic between the Pacers and Thunder fans, mostly just everyone else 210 Répondre Sure_Station9370 ~15 j Tyrese Haliburton has to be one of the biggest shit talkers in the league. wanna see how that goes down on the court when the stakes are highest. 61 Répondre twrs_29 ~15 j Comm. du top 1% wavefree3 ~15 j Comm. du top 1% Rapper_Laugh -15 j https:/lwww. reddit.comlrInbalcomments/ 1kxixihlhow it_that the_two best_teams the playoffsl 11/23 will 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter much shit? know he's always talking; but that doesn't necessarily mean shit talking. It often reads to me more like he's just a very vocal player. I've seen clips of him cheering his teammates on, giving them information; complimenting the other team; speaking up in team huddles; and more; but Im not sure if | can actually remember a clip of him talking shit for real. For what's it worth; Im the rare Bucks fan that loves Hali. Wisconsin kid from my hometown who plays ethical basketball. 0 1"", 'who don\'t actually watch the sport just saying whatever so can post 3 YouTube shorts a 0 3 Répondre hoppergym * -14j Comm. du 1% Who? What nba media? That\'s all I\'m asking: 0 1 Répondre Terrible Shelter 345 -15 j It\'s probably just salty Celtics fans, Knicks fans, Jokic stans, and Ant stans all online: No one in real life would ever be ""tv ratings"" at the bar or the kickback watching a ball game Imao Répondre ND702O -15 j Comm. du 1% https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 19/23 they day top bitching talking top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter that\'s true or not anyway); and 2. Those saying the Thunder will win easily. think (and hope) that\'s wrong. If you believe the Thunder\'s defense will just smother the Pacers, then yes, it will be a snooze, particularly as don\'t play an exciting brand of basketball. BUT the Pacers play very exciting ball, Carlisle is a hell of a coach; their PG doesn\'t turn the ball over, and are great at dictating the pace of games. They\'ve been counted out a lot. Im not counting them out in the finals. U Répondre brob ~15 j I\'d like to understand the rationale of OKC not playing an exciting brand of basketball. They play with higher pace than IND; both in regular season and playoffs. Is it just because OKC has an actual defense? Répondre skj458', '12/06/2025 13.06 Who are teams in the playoffs that have impressed you ? rInba Accéder au contenu principal Rechercher dans r/nba YA Se connecter rInba il y a 1 m MannerSuperb Who are teams in the playoffs that have impressed you ? For me it\'s the Despite awful shooting have really taken the defending champs to the brink. Im a little biased as a Duke fan but Paolo and Franz are absolute dogs and my favorite young wing duo in the league those guys have shown are built for playoff basketball with their shot making and competing defensively. truly hope orl can get those kids some real shooters and a true point theirs another level their games and overall team can reach if simply had some floor spacing and average play around them. 31 236 Partager xometry_europe Sponsorisé(e) ""Si seulement je l\'avais su plus tôt"" , disent souvent les ingénieurs et dessinateurs après Accélérez le avoir découvert les possibilités de prototypage offertes par Xometry. Face aux méthodes développement de vos prototypes avec Xometry traditionnelles; la plateforme Xometry apporte rapidité et flexibilité. oplimsez Vos oroessus fegiuie] eos IioC Sui Marchle Yracrahuorication , aetande En savoir plus pages xometry eu Xometry Rejoindre la conversation Trier par Meilleurs Rechercher des commentaires NotWD . -1 Ant\'s been a machine as expected; but Randle\'s genuinely beating the beyblade allegations and it\'s so nice to see 186 Répondre MG MN Comm. du 1% Randle has been a revelation. His bully ball has worked', ""someone please think of the advertising revenue?? 4 5 Répondre metaldetector6g -15 j Giannis to lakers mock during game finals halftime show. 0 1 Répondre couchtomato62 ~15 j Who care about media. don't even watch pre or post game and turn down the sound during half time: During most of the playoffs was watching the games on league pass. they had a no commentators version with only sounds from the court. It was fantastic. 4 1 Répondre dalivo ~15 j It'Il be a snooze fest because OKC is going to steamroll Indiana https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams_ the playoffsl 10/23 they' they they they pro 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter Which is so ironic because ratings be down (which costs them money and nobody else) because of them directly. 4 1 Répondre WeenisWrinkle . -15 j Right? Big markets, big stars, and big brands get viewers. The hardcore fans want good basketball above all else; but most casual viewers don't. 4 1 Répondre IScraggyBo -14 j medias obsession is just the same as the commenters on reddit's obsession; don't blame the MSM for something prevalent in the 'fans' as well U 1 Répondre BethesdaFR Sponsorisé(e) Salut Reddit... Nous recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus"", ""getting to the line; without appreciating what he does to get there; or what he does with the opportunity. Répondre TheWaySheGoes -15 j https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams the playoffsl 12/23 they 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter U 9 Repondre PrayForMojo _ ~15 j Im rooting for Siakam. Répondre RidiculousBacklog -15 j Don't forget that Andrew Nembhard was on Team Canada as well. 4 12 Répondre 3 réponses supplémentaires 2 réponses supplémentaires dreggers -15 j rather see OKC win; Alex Caruso deserves a second 0 -2 Répondre FunkTronto -15 j Pascal getting a second ring would be spicier. 4 11 Répondre GodWhyPlease ~15 j Modifié il y a-15 j BruceBrownMVP ~15 j The same was said at the start of the season about how you guys and Denver fans wouldn't get toxic over the MVP since you have a shared love of Westbrook and we saw how that ended up 13 Répondre GorillaX ~15 j Well it's not our fault that Jokic flops like a fish and plays zero defense 4 -1 Répondre twrs_29 ~15 j Comm; du 19 turkmileymileyturk ~15j https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 13/23 ring top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se""]";"**Réponse structurée :**
34
+
35
+ **Destination :** San Antonio, Texas (États-Unis).
36
+
37
+ **Options de transport :**
38
+ 1. **Avion** (recommandé pour les longues distances) :
39
+ - **Aéroport principal :** San Antonio International Airport (SAT).
40
+ - **Compagnies aériennes :** American Airlines, Southwest, United, Delta, etc.
41
+ - **Durée moyenne :** ~3-6h selon la provenance (ex. : ~4h depuis Los Angeles, ~2h30 depuis Dallas).
42
+
43
+ 2. **Voiture** (pour les trajets régionaux) :
44
+ - **Depuis Houston :** ~3h15 (via I-10 W).
45
+ - **Depuis Dallas :** ~4h30 (via I-35 S).
46
+ - **Depuis Austin :** ~1h30 (via I-35 S).
47
+
48
+ 3. **Bus/Train** (alternatives économiques) :
49
+ - **Bus :** Greyhound ou Megabus (depuis les grandes villes texanes).
50
+ - **Train :** Amtrak (ligne *Texas Eagle* depuis Chicago ou Los Angeles, durée : ~24h+).
51
+
52
+ **Conseils :**
53
+ - **Transport local :** Métro léger (VIA Metropolitan Transit) ou Uber/Lyft pour les déplacements en ville.
54
+ - **Événements NBA :** Vérifier les horaires des Spurs (si match) pour éviter les bouchons autour de l’AT&T Center.
55
+
56
+ *Source : Données générales (Google Maps, sites des compagnies aériennes). Pour des infos actualisées, consulter les plateformes officielles (SAT, Amtrak, etc.).*";Le système ne peut pas guider l’utilisateur et suggère de consulter une source externe.;0.0;0.8257287136934295;0.0;0.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;rag
57
+ Quelle équipe à comme code MIA ?;"[""Le code **MIA** correspond à l'équipe des **Miami Heat**.""]";Le code **MIA** correspond à l'équipe des **Miami Heat**.;L’équipe ayant le code MIA est l’équipe des Miami Heat.;1.0;0.8108478939614718;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
58
+ Combien de joueurs contient l’équipe des Philadelphia 76ers ?;['L’équipe des **Philadelphia 76ers** contient **23 joueurs**.'];L’équipe des **Philadelphia 76ers** contient **23 joueurs**.;L’équipe des Philadelphia 76ers contient 23 joueurs.;1.0;0.831223530712261;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
59
+ Quelle est la moyenne d’âge des joueurs d’Atlanta à un chiffre après la virgule ?;['La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.'];La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.;La moyenne d’âge des joueurs d’Atlanta est de 25,6.;1.0;0.9498787537084546;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
60
+ Quelle est l’équipe qui a inscrit le plus de point ?;['L’équipe qui a inscrit le plus de points est les **Detroit Pistons** avec un total de **10 292 points**.'];L’équipe qui a inscrit le plus de points est les **Detroit Pistons** avec un total de **10 292 points**.;L’équipe des Detroit Pistons a inscrit le plus de points avec un total de 10292.;1.0;0.7676387154221089;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
61
+ Comment se rendre à San Antonio ?;"[""recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus elderscrollsonline com The Alder Scrolls Jayveesac -15 j Comm. du top 1% Pacers vs. Thunder is gonna be a great and toxic series at the same time 356 Répondre twrs_29 ~15 j Comm. du top 1% doubt it will even be extremely toxic between the Pacers and Thunder fans, mostly just everyone else 210 Répondre Sure_Station9370 ~15 j Tyrese Haliburton has to be one of the biggest shit talkers in the league. wanna see how that goes down on the court when the stakes are highest. 61 Répondre twrs_29 ~15 j Comm. du top 1% wavefree3 ~15 j Comm. du top 1% Rapper_Laugh -15 j https:/lwww. reddit.comlrInbalcomments/ 1kxixihlhow it_that the_two best_teams the playoffsl 11/23 will 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter much shit? know he's always talking; but that doesn't necessarily mean shit talking. It often reads to me more like he's just a very vocal player. I've seen clips of him cheering his teammates on, giving them information; complimenting the other team; speaking up in team huddles; and more; but Im not sure if | can actually remember a clip of him talking shit for real. For what's it worth; Im the rare Bucks fan that loves Hali. Wisconsin kid from my hometown who plays ethical basketball. 0 1"", 'who don\'t actually watch the sport just saying whatever so can post 3 YouTube shorts a 0 3 Répondre hoppergym * -14j Comm. du 1% Who? What nba media? That\'s all I\'m asking: 0 1 Répondre Terrible Shelter 345 -15 j It\'s probably just salty Celtics fans, Knicks fans, Jokic stans, and Ant stans all online: No one in real life would ever be ""tv ratings"" at the bar or the kickback watching a ball game Imao Répondre ND702O -15 j Comm. du 1% https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 19/23 they day top bitching talking top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter that\'s true or not anyway); and 2. Those saying the Thunder will win easily. think (and hope) that\'s wrong. If you believe the Thunder\'s defense will just smother the Pacers, then yes, it will be a snooze, particularly as don\'t play an exciting brand of basketball. BUT the Pacers play very exciting ball, Carlisle is a hell of a coach; their PG doesn\'t turn the ball over, and are great at dictating the pace of games. They\'ve been counted out a lot. Im not counting them out in the finals. U Répondre brob ~15 j I\'d like to understand the rationale of OKC not playing an exciting brand of basketball. They play with higher pace than IND; both in regular season and playoffs. Is it just because OKC has an actual defense? Répondre skj458', '12/06/2025 13.06 Who are teams in the playoffs that have impressed you ? rInba Accéder au contenu principal Rechercher dans r/nba YA Se connecter rInba il y a 1 m MannerSuperb Who are teams in the playoffs that have impressed you ? For me it\'s the Despite awful shooting have really taken the defending champs to the brink. Im a little biased as a Duke fan but Paolo and Franz are absolute dogs and my favorite young wing duo in the league those guys have shown are built for playoff basketball with their shot making and competing defensively. truly hope orl can get those kids some real shooters and a true point theirs another level their games and overall team can reach if simply had some floor spacing and average play around them. 31 236 Partager xometry_europe Sponsorisé(e) ""Si seulement je l\'avais su plus tôt"" , disent souvent les ingénieurs et dessinateurs après Accélérez le avoir découvert les possibilités de prototypage offertes par Xometry. Face aux méthodes développement de vos prototypes avec Xometry traditionnelles; la plateforme Xometry apporte rapidité et flexibilité. oplimsez Vos oroessus fegiuie] eos IioC Sui Marchle Yracrahuorication , aetande En savoir plus pages xometry eu Xometry Rejoindre la conversation Trier par Meilleurs Rechercher des commentaires NotWD . -1 Ant\'s been a machine as expected; but Randle\'s genuinely beating the beyblade allegations and it\'s so nice to see 186 Répondre MG MN Comm. du 1% Randle has been a revelation. His bully ball has worked', ""someone please think of the advertising revenue?? 4 5 Répondre metaldetector6g -15 j Giannis to lakers mock during game finals halftime show. 0 1 Répondre couchtomato62 ~15 j Who care about media. don't even watch pre or post game and turn down the sound during half time: During most of the playoffs was watching the games on league pass. they had a no commentators version with only sounds from the court. It was fantastic. 4 1 Répondre dalivo ~15 j It'Il be a snooze fest because OKC is going to steamroll Indiana https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams_ the playoffsl 10/23 they' they they they pro 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter Which is so ironic because ratings be down (which costs them money and nobody else) because of them directly. 4 1 Répondre WeenisWrinkle . -15 j Right? Big markets, big stars, and big brands get viewers. The hardcore fans want good basketball above all else; but most casual viewers don't. 4 1 Répondre IScraggyBo -14 j medias obsession is just the same as the commenters on reddit's obsession; don't blame the MSM for something prevalent in the 'fans' as well U 1 Répondre BethesdaFR Sponsorisé(e) Salut Reddit... Nous recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus"", ""getting to the line; without appreciating what he does to get there; or what he does with the opportunity. Répondre TheWaySheGoes -15 j https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams the playoffsl 12/23 they 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter U 9 Repondre PrayForMojo _ ~15 j Im rooting for Siakam. Répondre RidiculousBacklog -15 j Don't forget that Andrew Nembhard was on Team Canada as well. 4 12 Répondre 3 réponses supplémentaires 2 réponses supplémentaires dreggers -15 j rather see OKC win; Alex Caruso deserves a second 0 -2 Répondre FunkTronto -15 j Pascal getting a second ring would be spicier. 4 11 Répondre GodWhyPlease ~15 j Modifié il y a-15 j BruceBrownMVP ~15 j The same was said at the start of the season about how you guys and Denver fans wouldn't get toxic over the MVP since you have a shared love of Westbrook and we saw how that ended up 13 Répondre GorillaX ~15 j Well it's not our fault that Jokic flops like a fish and plays zero defense 4 -1 Répondre twrs_29 ~15 j Comm; du 19 turkmileymileyturk ~15j https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 13/23 ring top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se""]";"Pour des informations précises sur les déplacements vers San Antonio (aéroport, transports, etc.), je vous recommande de consulter directement les sources officielles comme :
62
+
63
+ - **Site de l'aéroport international de San Antonio (SAT)** : [flysanantonio.com](https://www.flysanantonio.com)
64
+ - **Google Maps** ou **Waze** pour les itinéraires routiers.
65
+ - **Plateformes de transport** (Uber, Lyft, taxis locaux) pour les options depuis l'aéroport.
66
+
67
+ Si vous cherchez des conseils spécifiques (ex : accès aux installations des Spurs), précisez votre demande.";Le système ne peut pas guider l’utilisateur et suggère de consulter une source externe.;0.0;0.7908577505776226;0.0;0.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;rag
68
+ Quelle équipe à comme code MIA ?;"[""L'équipe ayant comme code **MIA** est la **Miami Heat**.""]";L'équipe ayant comme code **MIA** est la **Miami Heat**.;L’équipe ayant le code MIA est l’équipe des Miami Heat.;1.0;0.8499336269967079;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
69
+ Combien de joueurs contient l’équipe des Philadelphia 76ers ?;['L’équipe des **Philadelphia 76ers** contient **23 joueurs**.'];L’équipe des **Philadelphia 76ers** contient **23 joueurs**.;L’équipe des Philadelphia 76ers contient 23 joueurs.;1.0;0.8310625840911822;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
70
+ Quelle est la moyenne d’âge des joueurs d’Atlanta à un chiffre après la virgule ?;['La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.'];La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.;La moyenne d’âge des joueurs d’Atlanta est de 25,6.;1.0;0.960065849662653;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
71
+ Quelle est l’équipe qui a inscrit le plus de points ?;['L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec un total de **10 292 points**.'];L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec un total de **10 292 points**.;L’équipe des Detroit Pistons a inscrit le plus de points avec un total de 10292.;1.0;0.7655860642691078;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
72
+ Comment se rendre à San Antonio ?;"[""recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus elderscrollsonline com The Alder Scrolls Jayveesac -15 j Comm. du top 1% Pacers vs. Thunder is gonna be a great and toxic series at the same time 356 Répondre twrs_29 ~15 j Comm. du top 1% doubt it will even be extremely toxic between the Pacers and Thunder fans, mostly just everyone else 210 Répondre Sure_Station9370 ~15 j Tyrese Haliburton has to be one of the biggest shit talkers in the league. wanna see how that goes down on the court when the stakes are highest. 61 Répondre twrs_29 ~15 j Comm. du top 1% wavefree3 ~15 j Comm. du top 1% Rapper_Laugh -15 j https:/lwww. reddit.comlrInbalcomments/ 1kxixihlhow it_that the_two best_teams the playoffsl 11/23 will 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter much shit? know he's always talking; but that doesn't necessarily mean shit talking. It often reads to me more like he's just a very vocal player. I've seen clips of him cheering his teammates on, giving them information; complimenting the other team; speaking up in team huddles; and more; but Im not sure if | can actually remember a clip of him talking shit for real. For what's it worth; Im the rare Bucks fan that loves Hali. Wisconsin kid from my hometown who plays ethical basketball. 0 1"", 'who don\'t actually watch the sport just saying whatever so can post 3 YouTube shorts a 0 3 Répondre hoppergym * -14j Comm. du 1% Who? What nba media? That\'s all I\'m asking: 0 1 Répondre Terrible Shelter 345 -15 j It\'s probably just salty Celtics fans, Knicks fans, Jokic stans, and Ant stans all online: No one in real life would ever be ""tv ratings"" at the bar or the kickback watching a ball game Imao Répondre ND702O -15 j Comm. du 1% https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 19/23 they day top bitching talking top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter that\'s true or not anyway); and 2. Those saying the Thunder will win easily. think (and hope) that\'s wrong. If you believe the Thunder\'s defense will just smother the Pacers, then yes, it will be a snooze, particularly as don\'t play an exciting brand of basketball. BUT the Pacers play very exciting ball, Carlisle is a hell of a coach; their PG doesn\'t turn the ball over, and are great at dictating the pace of games. They\'ve been counted out a lot. Im not counting them out in the finals. U Répondre brob ~15 j I\'d like to understand the rationale of OKC not playing an exciting brand of basketball. They play with higher pace than IND; both in regular season and playoffs. Is it just because OKC has an actual defense? Répondre skj458', '12/06/2025 13.06 Who are teams in the playoffs that have impressed you ? rInba Accéder au contenu principal Rechercher dans r/nba YA Se connecter rInba il y a 1 m MannerSuperb Who are teams in the playoffs that have impressed you ? For me it\'s the Despite awful shooting have really taken the defending champs to the brink. Im a little biased as a Duke fan but Paolo and Franz are absolute dogs and my favorite young wing duo in the league those guys have shown are built for playoff basketball with their shot making and competing defensively. truly hope orl can get those kids some real shooters and a true point theirs another level their games and overall team can reach if simply had some floor spacing and average play around them. 31 236 Partager xometry_europe Sponsorisé(e) ""Si seulement je l\'avais su plus tôt"" , disent souvent les ingénieurs et dessinateurs après Accélérez le avoir découvert les possibilités de prototypage offertes par Xometry. Face aux méthodes développement de vos prototypes avec Xometry traditionnelles; la plateforme Xometry apporte rapidité et flexibilité. oplimsez Vos oroessus fegiuie] eos IioC Sui Marchle Yracrahuorication , aetande En savoir plus pages xometry eu Xometry Rejoindre la conversation Trier par Meilleurs Rechercher des commentaires NotWD . -1 Ant\'s been a machine as expected; but Randle\'s genuinely beating the beyblade allegations and it\'s so nice to see 186 Répondre MG MN Comm. du 1% Randle has been a revelation. His bully ball has worked', ""someone please think of the advertising revenue?? 4 5 Répondre metaldetector6g -15 j Giannis to lakers mock during game finals halftime show. 0 1 Répondre couchtomato62 ~15 j Who care about media. don't even watch pre or post game and turn down the sound during half time: During most of the playoffs was watching the games on league pass. they had a no commentators version with only sounds from the court. It was fantastic. 4 1 Répondre dalivo ~15 j It'Il be a snooze fest because OKC is going to steamroll Indiana https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams_ the playoffsl 10/23 they' they they they pro 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter Which is so ironic because ratings be down (which costs them money and nobody else) because of them directly. 4 1 Répondre WeenisWrinkle . -15 j Right? Big markets, big stars, and big brands get viewers. The hardcore fans want good basketball above all else; but most casual viewers don't. 4 1 Répondre IScraggyBo -14 j medias obsession is just the same as the commenters on reddit's obsession; don't blame the MSM for something prevalent in the 'fans' as well U 1 Répondre BethesdaFR Sponsorisé(e) Salut Reddit... Nous recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus"", ""getting to the line; without appreciating what he does to get there; or what he does with the opportunity. Répondre TheWaySheGoes -15 j https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams the playoffsl 12/23 they 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter U 9 Repondre PrayForMojo _ ~15 j Im rooting for Siakam. Répondre RidiculousBacklog -15 j Don't forget that Andrew Nembhard was on Team Canada as well. 4 12 Répondre 3 réponses supplémentaires 2 réponses supplémentaires dreggers -15 j rather see OKC win; Alex Caruso deserves a second 0 -2 Répondre FunkTronto -15 j Pascal getting a second ring would be spicier. 4 11 Répondre GodWhyPlease ~15 j Modifié il y a-15 j BruceBrownMVP ~15 j The same was said at the start of the season about how you guys and Denver fans wouldn't get toxic over the MVP since you have a shared love of Westbrook and we saw how that ended up 13 Répondre GorillaX ~15 j Well it's not our fault that Jokic flops like a fish and plays zero defense 4 -1 Répondre twrs_29 ~15 j Comm; du 19 turkmileymileyturk ~15j https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 13/23 ring top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se""]";"Pour des déplacements liés à la NBA, voici les options principales pour rejoindre San Antonio (où jouent les Spurs) :
73
+
74
+ 1. **Avion** :
75
+ - Aéroport international de San Antonio (SAT) – vols directs depuis plusieurs grandes villes américaines.
76
+ - Aéroport international de Austin-Bergstrom (AUS) (à ~1h30 de route) – parfois des tarifs plus avantageux.
77
+
78
+ 2. **Voiture/Transport terrestre** :
79
+ - Depuis Houston (~3h), Dallas (~4h30), ou Austin (~1h30).
80
+ - Services de covoiturage (Uber/Lyft) ou location de voiture disponibles.
81
+
82
+ 3. **Train** :
83
+ - Amtrak propose des liaisons depuis d’autres villes texanes (ex : Dallas), mais le trajet est long (~10h).
84
+
85
+ *Pour des conseils personnalisés (ex : horaires, budget), précisez votre point de départ ou vos contraintes.*";Le système ne peut pas guider l’utilisateur et suggère de consulter une source externe.;0.0;0.8170255999755175;0.0;0.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;rag
86
+ Quelle équipe à comme code MIA ?;"[""L'équipe avec le code **MIA** est les **Miami Heat**.""]";L'équipe avec le code **MIA** est les **Miami Heat**.;L’équipe ayant le code MIA est l’équipe des Miami Heat.;1.0;0.8386256898163369;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
87
+ Combien de joueurs contient l’équipe des Philadelphia 76ers ?;['L’équipe des **Philadelphia 76ers** contient **23 joueurs**.'];L’équipe des **Philadelphia 76ers** contient **23 joueurs**.;L’équipe des Philadelphia 76ers contient 23 joueurs.;1.0;0.8310625840911822;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
88
+ Quelle est la moyenne d’âge des joueurs d’Atlanta à un chiffre après la virgule ?;['La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.'];La moyenne d’âge des joueurs d’Atlanta est **25,6 ans**.;La moyenne d’âge des joueurs d’Atlanta est de 25,6.;1.0;0.9669817766455188;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
89
+ Quelle est l’équipe qui a inscrit le plus de points ?;['L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec **10 292 points**.'];L’équipe qui a inscrit le plus de points est **Detroit Pistons** avec **10 292 points**.;L’équipe des Detroit Pistons a inscrit le plus de points avec un total de 10292.;1.0;0.7659799693955177;0.9999999999;1.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;sql
90
+ Comment se rendre à San Antonio ?;"[""recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus elderscrollsonline com The Alder Scrolls Jayveesac -15 j Comm. du top 1% Pacers vs. Thunder is gonna be a great and toxic series at the same time 356 Répondre twrs_29 ~15 j Comm. du top 1% doubt it will even be extremely toxic between the Pacers and Thunder fans, mostly just everyone else 210 Répondre Sure_Station9370 ~15 j Tyrese Haliburton has to be one of the biggest shit talkers in the league. wanna see how that goes down on the court when the stakes are highest. 61 Répondre twrs_29 ~15 j Comm. du top 1% wavefree3 ~15 j Comm. du top 1% Rapper_Laugh -15 j https:/lwww. reddit.comlrInbalcomments/ 1kxixihlhow it_that the_two best_teams the playoffsl 11/23 will 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter much shit? know he's always talking; but that doesn't necessarily mean shit talking. It often reads to me more like he's just a very vocal player. I've seen clips of him cheering his teammates on, giving them information; complimenting the other team; speaking up in team huddles; and more; but Im not sure if | can actually remember a clip of him talking shit for real. For what's it worth; Im the rare Bucks fan that loves Hali. Wisconsin kid from my hometown who plays ethical basketball. 0 1"", 'who don\'t actually watch the sport just saying whatever so can post 3 YouTube shorts a 0 3 Répondre hoppergym * -14j Comm. du 1% Who? What nba media? That\'s all I\'m asking: 0 1 Répondre Terrible Shelter 345 -15 j It\'s probably just salty Celtics fans, Knicks fans, Jokic stans, and Ant stans all online: No one in real life would ever be ""tv ratings"" at the bar or the kickback watching a ball game Imao Répondre ND702O -15 j Comm. du 1% https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 19/23 they day top bitching talking top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter that\'s true or not anyway); and 2. Those saying the Thunder will win easily. think (and hope) that\'s wrong. If you believe the Thunder\'s defense will just smother the Pacers, then yes, it will be a snooze, particularly as don\'t play an exciting brand of basketball. BUT the Pacers play very exciting ball, Carlisle is a hell of a coach; their PG doesn\'t turn the ball over, and are great at dictating the pace of games. They\'ve been counted out a lot. Im not counting them out in the finals. U Répondre brob ~15 j I\'d like to understand the rationale of OKC not playing an exciting brand of basketball. They play with higher pace than IND; both in regular season and playoffs. Is it just because OKC has an actual defense? Répondre skj458', '12/06/2025 13.06 Who are teams in the playoffs that have impressed you ? rInba Accéder au contenu principal Rechercher dans r/nba YA Se connecter rInba il y a 1 m MannerSuperb Who are teams in the playoffs that have impressed you ? For me it\'s the Despite awful shooting have really taken the defending champs to the brink. Im a little biased as a Duke fan but Paolo and Franz are absolute dogs and my favorite young wing duo in the league those guys have shown are built for playoff basketball with their shot making and competing defensively. truly hope orl can get those kids some real shooters and a true point theirs another level their games and overall team can reach if simply had some floor spacing and average play around them. 31 236 Partager xometry_europe Sponsorisé(e) ""Si seulement je l\'avais su plus tôt"" , disent souvent les ingénieurs et dessinateurs après Accélérez le avoir découvert les possibilités de prototypage offertes par Xometry. Face aux méthodes développement de vos prototypes avec Xometry traditionnelles; la plateforme Xometry apporte rapidité et flexibilité. oplimsez Vos oroessus fegiuie] eos IioC Sui Marchle Yracrahuorication , aetande En savoir plus pages xometry eu Xometry Rejoindre la conversation Trier par Meilleurs Rechercher des commentaires NotWD . -1 Ant\'s been a machine as expected; but Randle\'s genuinely beating the beyblade allegations and it\'s so nice to see 186 Répondre MG MN Comm. du 1% Randle has been a revelation. His bully ball has worked', ""someone please think of the advertising revenue?? 4 5 Répondre metaldetector6g -15 j Giannis to lakers mock during game finals halftime show. 0 1 Répondre couchtomato62 ~15 j Who care about media. don't even watch pre or post game and turn down the sound during half time: During most of the playoffs was watching the games on league pass. they had a no commentators version with only sounds from the court. It was fantastic. 4 1 Répondre dalivo ~15 j It'Il be a snooze fest because OKC is going to steamroll Indiana https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams_ the playoffsl 10/23 they' they they they pro 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter Which is so ironic because ratings be down (which costs them money and nobody else) because of them directly. 4 1 Répondre WeenisWrinkle . -15 j Right? Big markets, big stars, and big brands get viewers. The hardcore fans want good basketball above all else; but most casual viewers don't. 4 1 Répondre IScraggyBo -14 j medias obsession is just the same as the commenters on reddit's obsession; don't blame the MSM for something prevalent in the 'fans' as well U 1 Répondre BethesdaFR Sponsorisé(e) Salut Reddit... Nous recherchons des aventuriers Quelle serait votre meilleure attaque contre ce dragon Dites-le-nous dans les commentaires ci-dessous. En savoir plus"", ""getting to the line; without appreciating what he does to get there; or what he does with the opportunity. Répondre TheWaySheGoes -15 j https:/lwww reddit.comlrInbalcomments/1kxixih/how_is_it_that_the_two best_teams the playoffsl 12/23 they 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se connecter U 9 Repondre PrayForMojo _ ~15 j Im rooting for Siakam. Répondre RidiculousBacklog -15 j Don't forget that Andrew Nembhard was on Team Canada as well. 4 12 Répondre 3 réponses supplémentaires 2 réponses supplémentaires dreggers -15 j rather see OKC win; Alex Caruso deserves a second 0 -2 Répondre FunkTronto -15 j Pascal getting a second ring would be spicier. 4 11 Répondre GodWhyPlease ~15 j Modifié il y a-15 j BruceBrownMVP ~15 j The same was said at the start of the season about how you guys and Denver fans wouldn't get toxic over the MVP since you have a shared love of Westbrook and we saw how that ended up 13 Répondre GorillaX ~15 j Well it's not our fault that Jokic flops like a fish and plays zero defense 4 -1 Répondre twrs_29 ~15 j Comm; du 19 turkmileymileyturk ~15j https://www reddit.comirinbalcommentsl 1kxixihlhow is_it_that the_two best_teams the playoffsl 13/23 ring top 12/06/2025 13.09 How is it that the two best teams in the playoffs based on stats having chance of playing against each other in the Finals, is Accéder au contenu principal Se""]";"Pour des déplacements liés à la NBA (matchs, entraînements, etc.), voici les options principales pour rejoindre **San Antonio** (Texas) depuis les grandes villes américaines :
91
+
92
+ ### **1. Avion (le plus rapide)**
93
+ - **Aéroport International de San Antonio (SAT)**
94
+ - **Vols directs** depuis :
95
+ - Dallas (DFW/DAL) – ~1h15
96
+ - Houston (IAH/HOU) – ~1h30
97
+ - Los Angeles (LAX) – ~3h
98
+ - New York (JFK/EWR) – ~4h
99
+ - Chicago (ORD) – ~3h
100
+ - **Compagnies aériennes** : American, Southwest, United, Delta, etc.
101
+ - **Conseil** : Vérifiez les correspondances si vous venez d’une ville sans vol direct.
102
+
103
+ ### **2. Train (Amtrak)**
104
+ - **Gare de San Antonio (SAS)**
105
+ - **Lignes principales** :
106
+ - *Texas Eagle* (Chicago → Los Angeles, arrêt à San Antonio).
107
+ - *Sunset Limited* (La Nouvelle-Orléans → Los Angeles, arrêt à San Antonio).
108
+ - **Durée** : ~24h depuis Chicago, ~12h depuis Dallas.
109
+ - **Prix** : À partir de ~50-100$ (selon la classe).
110
+ - **Site** : [Amtrak](https://www.amtrak.com)
111
+
112
+ ### **3. Bus (économique mais long)**
113
+ - **Compagnies** : Greyhound, FlixBus.
114
+ - **Trajet** : Depuis Dallas (~5h), Houston (~4h), Austin (~1h30).
115
+ - **Prix** : ~20-50$.
116
+ - **Site** : [Greyhound](https://www.greyhound.com)
117
+
118
+ ### **4. Voiture (location ou personnelle)**
119
+ - **Distances depuis les villes proches** :
120
+ - **Austin** : ~1h30 (I-35 N).
121
+ - **Dallas** : ~4h30 (I-35 S).
122
+ - **Houston** : ~3h (I-10 W).
123
+ - **Conseils** :
124
+ - Vérifiez les péages (notamment sur l’I-35).
125
+ - Stationnement à San Antonio : Parkings publics ou hôtels (ex : près du **AT&T Center** pour les matchs des Spurs).
126
+
127
+ ### **5. Transport local à San Antonio**
128
+ - **Vélos en libre-service** : B-cycle.
129
+ - **Bus/Metro** : VIA Metropolitan Transit (tarif : ~1.30$).
130
+ - **Uber/Lyft** : Disponibles dans toute la ville.
131
+
132
+ ---
133
+ **Besoin de précisions ?**
134
+ - Si vous voyagez depuis une ville spécifique, précisez-la pour une réponse plus ciblée.
135
+ - Pour les matchs des **Spurs**, l’**AT&T Center** est le lieu principal (adresse : 1 AT&T Center Pkwy, San Antonio, TX 78219).
136
+
137
+ *Source : Données géographiques et transports standard (2024). Pour des horaires actualisés, consultez les sites officiels des compagnies.*";Le système ne peut pas guider l’utilisateur et suggère de consulter une source externe.;0.0;0.8085928639095196;0.0;0.0;1;mistral-small-latest;0.03;mistral-embed;5;1500;150;8;rag
Ragas_results/ragas_results_initial.csv ADDED
The diff for this file is too large to render. See raw diff