Added detailed diagram
This commit is contained in:
parent
251b8316b8
commit
a8f6249d67
3 changed files with 297 additions and 2 deletions
|
|
@ -105,7 +105,9 @@ Meilleur modèle non BERT retenu :
|
|||
### 🐳 Conteneurisation & CI/CD
|
||||
|
||||
L’API FastAPI est packagée via Docker, puis poussée sur DockerHub.
|
||||
Un pipeline CI/CD complet garantit **un déploiement reproductible**.
|
||||
Un [pipeline CI/CD](https://github.com/GrgMdmn/OpenClassrooms_AI_Projects/blob/main/.github/workflows/p7_ci-cd.yml) complet garantit **un déploiement reproductible**. Il assure:
|
||||
- La validation de tests unitaires
|
||||
- La construction et le push de l'api conteneurisée sur dockerhub
|
||||
|
||||

|
||||
---
|
||||
|
|
@ -178,7 +180,7 @@ Une logique d’alerte légère embarquée dans l’API :
|
|||
|
||||
Si **3 erreurs de prédiction** consécutives sont détectées sur une **fenêtre de 5 min**, un rapport est généré automatiquement.
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
|
|
@ -186,6 +188,7 @@ Si **3 erreurs de prédiction** consécutives sont détectées sur une **fenêtr
|
|||
|
||||
## 🧠 Schéma global du pipeline MLOps
|
||||
|
||||
### Schéma synthétique
|
||||
```
|
||||
┌────────────┐
|
||||
│ Données │
|
||||
|
|
@ -217,6 +220,8 @@ Si **3 erreurs de prédiction** consécutives sont détectées sur une **fenêtr
|
|||
│ prédictions) │
|
||||
└────────────────────────┘
|
||||
```
|
||||
### Schéma détaillé
|
||||

|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
290
docs/diagram.drawio
Normal file
290
docs/diagram.drawio
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" version="28.0.4">
|
||||
<diagram name="Page-1" id="gzNJPQwDk8eamCuovkMP">
|
||||
<mxGraphModel dx="888" dy="489" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-62" value="<div>🌍 Google</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="700" y="656" width="390" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-34" value="<div>📦🐳 Dockerhub</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="777" y="100" width="200" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-35" value="🐳 grgmdmn/sentiment_api" style="rounded=1;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="797" y="130" width="170" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-10" value="<table><tbody><tr><td data-col-size="sm" data-end="731" data-start="699"></td></tr></tbody></table><table><tbody><tr><td data-end="760" data-start="731" data-col-size="sm"></td><td data-end="760" data-start="731" data-col-size="sm">🖥️ NAS (homeserver)&nbsp;&nbsp;<br></td></tr></tbody></table>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="791" y="244" width="290" height="352" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-11" value="🐳🧩 Docker Compose" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="801" y="285" width="260" height="291" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-24" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-13" target="vVvrGs-YRXqjEHhurR4v-14">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-26" value="Viewing artifacts" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-24">
|
||||
<mxGeometry x="-0.0245" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-1" y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-13" value="<div>📊 MLFlow</div><div>(MLOps Monitoring)</div>" style="rounded=1;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="888" y="316" width="160" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-15" value="<div>🌐 sentiment_api</div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="888" y="451" width="160" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-16" value="👁️ Watchtower" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="888" y="524" width="160" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-14" value="<div>📦 MinIO&nbsp;</div><div>(Artifacts S3 Buckets)</div>" style="rounded=1;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="888" y="394" width="160" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-38" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.995;exitY=0.555;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-16" target="vVvrGs-YRXqjEHhurR4v-35">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1048" y="554" as="sourcePoint" />
|
||||
<mxPoint x="1120" y="84" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="1110" y="546" />
|
||||
<mxPoint x="1110" y="160" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-40" value="Version&nbsp;<div>monitoring</div>" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-38">
|
||||
<mxGeometry x="0.5689" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="30" y="49" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-41" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-16" target="vVvrGs-YRXqjEHhurR4v-15">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="967.83" y="524" as="sourcePoint" />
|
||||
<mxPoint x="967.83" y="491" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-42" value="Version monitoring + API update" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-41">
|
||||
<mxGeometry x="0.0976" y="3" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-45" value="<div>☁️ Google Cloud</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="920" y="686" width="158" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;fillColor=#60a917;strokeColor=#2D7600;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-47" target="vVvrGs-YRXqjEHhurR4v-13">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="770" y="334" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="970" y="624" />
|
||||
<mxPoint x="771" y="624" />
|
||||
<mxPoint x="771" y="324" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-85" value="Fetching best model + artifacts" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-83">
|
||||
<mxGeometry x="-0.5336" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-14" y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=oval;endFill=1;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-47">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="1140" y="712" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-47" value="<div>🌐 sentiment_api</div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="935" y="698" width="126" height="28" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-48" value="<div>🐙 GitHub</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="429" y="54" width="291" height="240" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-49" value="GrgMdmn/OpenClassRooms_AI_Projects" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="434" y="94" width="270" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-50" value="🐙📁&nbsp;<div>Project 7 Github Repo</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=middle;" vertex="1" parent="1">
|
||||
<mxGeometry x="444" y="134" width="110" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-51" value="<div>🔄 CI/CD&nbsp;</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="574" y="134" width="120" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-52" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;" edge="1" parent="1" target="vVvrGs-YRXqjEHhurR4v-51">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="554" y="194" as="sourcePoint" />
|
||||
<mxPoint x="614" y="204" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-56" target="vVvrGs-YRXqjEHhurR4v-57">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-56" value="1. Tests validation" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="580.5" y="160" width="107" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-57" target="vVvrGs-YRXqjEHhurR4v-35">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="717.5" y="213.5" as="sourcePoint" />
|
||||
<mxPoint x="986" y="138" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="935" y="224" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-60" value="Docker push" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-59">
|
||||
<mxGeometry x="-0.3886" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-57" value="2. Docker build and push" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="580.5" y="209" width="107" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-61" target="vVvrGs-YRXqjEHhurR4v-47">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="490" y="604" />
|
||||
<mxPoint x="1050" y="604" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-76" value="Configuration&nbsp;<div>+</div><div>&nbsp;docker push</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-70">
|
||||
<mxGeometry x="-0.5663" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="-32" y="-51" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-61" value="💻 Local development" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="429" y="334" width="261" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-65" value="<div>📔 Google Colab</div><div>(Analysis + Predictive models training)</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=middle;" vertex="1" parent="1">
|
||||
<mxGeometry x="710" y="687" width="200" height="59" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;fillColor=#60a917;strokeColor=#2D7600;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-66" target="vVvrGs-YRXqjEHhurR4v-47">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="552" y="640" />
|
||||
<mxPoint x="940" y="640" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-73" value="Requesting API" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-72">
|
||||
<mxGeometry x="0.0152" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-207" y="15" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=oval;startFill=1;fillColor=#60a917;strokeColor=#2D7600;strokeWidth=2;" edge="1" parent="1" target="vVvrGs-YRXqjEHhurR4v-15">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="552" y="640" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="552" y="471" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-66" value="<div>👥 Users</div>" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=middle;" vertex="1" parent="1">
|
||||
<mxGeometry x="429" y="674" width="216" height="82" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-67" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.594;entryY=0.997;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.888;exitY=-0.003;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-79">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="665.804" y="348.84000000000003" as="sourcePoint" />
|
||||
<mxPoint x="535" y="254.00000000000006" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="665.66" y="324.36" />
|
||||
<mxPoint x="535.66" y="324.36" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-68" value="Versionning common business" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-67">
|
||||
<mxGeometry x="-0.2992" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="-35" y="-15" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-77" value="<div>✉️</div><div>Mailbox</div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="440" y="364" width="90" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-78" value="<div>🧪 API Development</div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="440" y="414" width="90" height="36" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-79" value="<div>📂&nbsp;</div><div>Project 7 l<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">ocal Git repo</span></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="540" y="364" width="140" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-61" target="vVvrGs-YRXqjEHhurR4v-65">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="706" y="687.826" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="577" y="584" />
|
||||
<mxPoint x="690" y="584" />
|
||||
<mxPoint x="690" y="717" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-82" value="Model Training<div>development</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-81">
|
||||
<mxGeometry x="-0.0679" relative="1" as="geometry">
|
||||
<mxPoint x="3" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-88" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;strokeColor=#2D7600;fillColor=#60a917;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="770" y="408" as="sourcePoint" />
|
||||
<mxPoint x="888" y="408" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-95" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.201;exitY=0.005;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.001;entryY=0.674;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="vVvrGs-YRXqjEHhurR4v-13">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="737.2" y="687.2950000000001" as="sourcePoint" />
|
||||
<mxPoint x="875" y="344.36" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="740" y="344" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-98" value="Sending Experiments logs&nbsp;<div>+ Artifacts<div>Updating Model Registry</div></div>" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-95">
|
||||
<mxGeometry x="-0.2258" relative="1" as="geometry">
|
||||
<mxPoint x="15" y="27" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-96" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" target="vVvrGs-YRXqjEHhurR4v-14">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="740" y="424" as="sourcePoint" />
|
||||
<mxPoint x="869" y="424" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-12" value="<div>🔒&nbsp;</div><div>SWAG (Reverse proxy + SSL)&nbsp;&nbsp;</div><div><br></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="815" y="316" width="60" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-100" value="🛠️ Local docker building" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="540" y="414" width="140" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#60a917;strokeColor=#2D7600;strokeWidth=2;" edge="1" parent="1" source="vVvrGs-YRXqjEHhurR4v-15" target="vVvrGs-YRXqjEHhurR4v-77">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="410" y="384" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="1141" y="471" />
|
||||
<mxPoint x="1141" y="770" />
|
||||
<mxPoint x="410" y="770" />
|
||||
<mxPoint x="410" y="384" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-107" value="Wrong&nbsp;<div>prediction</div><div>report</div>" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="vVvrGs-YRXqjEHhurR4v-102">
|
||||
<mxGeometry x="-0.6286" y="-1" relative="1" as="geometry">
|
||||
<mxPoint x="19" y="76" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#a20025;strokeColor=#6F0000;strokeWidth=2;endArrow=none;endFill=0;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="1120" y="66" as="sourcePoint" />
|
||||
<mxPoint x="1140" y="66" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="1120" y="66" />
|
||||
<mxPoint x="1120" y="66" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-115" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;strokeColor=#2D7600;fillColor=#60a917;endFill=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1120" y="86" as="sourcePoint" />
|
||||
<mxPoint x="1140" y="86" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-117" value="Continuous Deployment" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=9;" vertex="1" parent="1">
|
||||
<mxGeometry x="997" y="56" width="120" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="vVvrGs-YRXqjEHhurR4v-118" value="API normal working" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=9;" vertex="1" parent="1">
|
||||
<mxGeometry x="1017" y="76" width="100" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
BIN
docs/diagram.drawio.png
Normal file
BIN
docs/diagram.drawio.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 137 KiB |
Loading…
Add table
Reference in a new issue