Polish architecture overview diagram

This commit is contained in:
Jino Jose 2026-07-07 10:49:57 +05:30
parent 0d4d8d2c0b
commit 42cb891b94

View File

@ -1,105 +1,110 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900" role="img" aria-labelledby="title desc">
<title id="title">Nexus One AI Architecture Overview</title>
<desc id="desc">High level view of Nexus One AI components from users through portal, services, and infrastructure.</desc>
<desc id="desc">Professional architecture diagram showing users, portal access, inference, knowledge retrieval, control plane, observability, and deployment substrate for Nexus One AI.</desc>
<defs>
<linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
<stop offset="0%" stop-color="#14213D"/>
<stop offset="100%" stop-color="#1F2F57"/>
<linearGradient id="hero" x1="0" x2="1" y1="0" y2="1">
<stop offset="0%" stop-color="#12284A"/>
<stop offset="100%" stop-color="#1C3B66"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="10" stdDeviation="18" flood-color="#091224" flood-opacity="0.28"/>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="160%">
<feDropShadow dx="0" dy="8" stdDeviation="14" flood-color="#10233f" flood-opacity="0.12"/>
</filter>
<marker id="arrow" viewBox="0 0 12 12" refX="10" refY="6" markerWidth="10" markerHeight="10" orient="auto-start-reverse">
<path d="M1 1 L11 6 L1 11 Z" fill="#2C7DA0"/>
</marker>
<style>
.label { font: 700 18px Arial, sans-serif; letter-spacing: 0.08em; fill: #1BC5BD; }
.title { font: 700 58px Arial, sans-serif; fill: #F8FAFC; }
.subtitle { font: 400 24px Arial, sans-serif; fill: #CBD5E1; }
.boxTitle { font: 700 28px Arial, sans-serif; fill: #F8FAFC; }
.boxText { font: 400 20px Arial, sans-serif; fill: #D8E0EA; }
.pill { font: 700 18px Arial, sans-serif; fill: #E6FFFB; }
.small { font: 400 18px Arial, sans-serif; fill: #9FB1C7; }
.kicker { font: 700 18px Arial, sans-serif; letter-spacing: 0.14em; fill: #57D3C3; }
.title { font: 700 44px Arial, sans-serif; fill: #F8FBFF; }
.subtitle { font: 400 22px Arial, sans-serif; fill: #D4DDEA; }
.sectionLabel { font: 700 14px Arial, sans-serif; letter-spacing: 0.12em; fill: #4A6788; }
.cardTitle { font: 700 24px Arial, sans-serif; fill: #15304F; }
.cardText { font: 400 18px Arial, sans-serif; fill: #49627C; }
.cardTextStrong { font: 600 18px Arial, sans-serif; fill: #2C435E; }
.footLabel { font: 700 16px Arial, sans-serif; letter-spacing: 0.08em; fill: #0F766E; }
.footText { font: 400 18px Arial, sans-serif; fill: #4B5F73; }
.small { font: 400 16px Arial, sans-serif; fill: #668099; }
</style>
</defs>
<rect width="1600" height="900" fill="url(#bg)"/>
<rect width="1600" height="900" fill="#F4F7FB"/>
<rect x="40" y="36" width="1520" height="192" rx="28" fill="url(#hero)"/>
<text x="88" y="92" class="kicker">NEXUS ONE AI · ARCHITECTURE OVERVIEW</text>
<text x="88" y="146" class="title">
<tspan x="88" dy="0">Private AI Platform on</tspan>
<tspan x="88" dy="52">Customer-Controlled Infrastructure</tspan>
</text>
<text x="88" y="220" class="subtitle">Portal access, local inference, document retrieval, administration, and observability in one deployable stack.</text>
<text x="90" y="92" class="label">NEXUS ONE AI · ARCHITECTURE OVERVIEW</text>
<text x="90" y="170" class="title">Private AI Platform On Customer-Controlled Infrastructure</text>
<text x="90" y="215" class="subtitle">Portal, inference, retrieval, administration, and observability packaged for on-premises deployment.</text>
<text x="88" y="280" class="sectionLabel">ENTRY POINT</text>
<text x="418" y="280" class="sectionLabel">EXPERIENCE LAYER</text>
<text x="838" y="280" class="sectionLabel">CORE SERVICES</text>
<text x="1228" y="280" class="sectionLabel">CONTROL SURFACES</text>
<g filter="url(#shadow)">
<rect x="90" y="300" rx="26" ry="26" width="320" height="210" fill="#243B67" stroke="#36598C" stroke-width="2"/>
<text x="120" y="350" class="boxTitle">Users &amp; Review Teams</text>
<text x="120" y="395" class="boxText">Admins</text>
<text x="120" y="430" class="boxText">Department Users</text>
<text x="120" y="465" class="boxText">Procurement / IT / Security</text>
<rect x="88" y="304" width="250" height="208" rx="22" fill="#FFFFFF" stroke="#D5E0EC" stroke-width="2"/>
<text x="118" y="350" class="cardTitle">Users</text>
<text x="118" y="390" class="cardTextStrong">Admins</text>
<text x="118" y="424" class="cardText">Department teams</text>
<text x="118" y="458" class="cardText">Procurement reviewers</text>
<text x="118" y="492" class="cardText">IT and security stakeholders</text>
</g>
<g filter="url(#shadow)">
<rect x="490" y="270" rx="26" ry="26" width="370" height="270" fill="#1A6B6A" stroke="#29B9B3" stroke-width="2"/>
<text x="525" y="325" class="boxTitle">Portal &amp; Access Layer</text>
<text x="525" y="372" class="boxText">Nexus One AI Portal</text>
<text x="525" y="407" class="boxText">Open WebUI</text>
<text x="525" y="442" class="boxText">Authentication / Sessions</text>
<text x="525" y="477" class="boxText">Prompt Workflows / Admin UI</text>
<rect x="418" y="274" width="340" height="268" rx="24" fill="#FFFFFF" stroke="#B7D7D2" stroke-width="2"/>
<rect x="418" y="274" width="340" height="56" rx="24" fill="#E7F6F3"/>
<text x="450" y="311" class="cardTitle">Portal and Access Layer</text>
<text x="450" y="370" class="cardTextStrong">Nexus One AI Portal</text>
<text x="450" y="406" class="cardText">Open WebUI</text>
<text x="450" y="442" class="cardText">Authentication and session control</text>
<text x="450" y="478" class="cardText">Prompt workflows and admin UI</text>
</g>
<g filter="url(#shadow)">
<rect x="930" y="255" rx="26" ry="26" width="285" height="190" fill="#314873" stroke="#4A6698" stroke-width="2"/>
<text x="960" y="308" class="boxTitle">Inference</text>
<text x="960" y="353" class="boxText">Ollama</text>
<text x="960" y="388" class="boxText">Local Model Catalog</text>
<rect x="838" y="304" width="312" height="160" rx="22" fill="#FFFFFF" stroke="#D5E0EC" stroke-width="2"/>
<text x="870" y="348" class="cardTitle">Inference</text>
<text x="870" y="388" class="cardTextStrong">Ollama</text>
<text x="870" y="422" class="cardText">Local model catalog and runtime</text>
</g>
<g filter="url(#shadow)">
<rect x="930" y="475" rx="26" ry="26" width="285" height="190" fill="#314873" stroke="#4A6698" stroke-width="2"/>
<text x="960" y="528" class="boxTitle">Knowledge Retrieval</text>
<text x="960" y="573" class="boxText">ChromaDB</text>
<text x="960" y="608" class="boxText">Upload / RAG Pipeline</text>
<rect x="838" y="494" width="312" height="170" rx="22" fill="#FFFFFF" stroke="#D5E0EC" stroke-width="2"/>
<text x="870" y="538" class="cardTitle">Knowledge Retrieval</text>
<text x="870" y="578" class="cardTextStrong">ChromaDB</text>
<text x="870" y="612" class="cardText">Upload and RAG pipeline</text>
</g>
<g filter="url(#shadow)">
<rect x="1280" y="220" rx="26" ry="26" width="230" height="220" fill="#243B67" stroke="#36598C" stroke-width="2"/>
<text x="1310" y="274" class="boxTitle">Control Plane</text>
<text x="1310" y="320" class="boxText">FastAPI Backend</text>
<text x="1310" y="355" class="boxText">Audit / Backup</text>
<text x="1310" y="390" class="boxText">Settings / Licensing</text>
<rect x="1228" y="304" width="284" height="180" rx="22" fill="#FFFFFF" stroke="#D5E0EC" stroke-width="2"/>
<text x="1260" y="348" class="cardTitle">Control Plane</text>
<text x="1260" y="388" class="cardTextStrong">FastAPI backend</text>
<text x="1260" y="422" class="cardText">Audit and backup</text>
<text x="1260" y="456" class="cardText">Settings and licensing</text>
</g>
<g filter="url(#shadow)">
<rect x="1280" y="495" rx="26" ry="26" width="230" height="170" fill="#243B67" stroke="#36598C" stroke-width="2"/>
<text x="1310" y="548" class="boxTitle">Observability</text>
<text x="1310" y="593" class="boxText">Grafana / Prometheus</text>
<text x="1310" y="628" class="boxText">GPU &amp; System Metrics</text>
<rect x="1228" y="514" width="284" height="150" rx="22" fill="#FFFFFF" stroke="#D5E0EC" stroke-width="2"/>
<text x="1260" y="558" class="cardTitle">Observability</text>
<text x="1260" y="598" class="cardTextStrong">Grafana and Prometheus</text>
<text x="1260" y="632" class="cardText">GPU and system metrics</text>
</g>
<g filter="url(#shadow)">
<rect x="490" y="640" rx="26" ry="26" width="1020" height="155" fill="#0F1A31" stroke="#273A60" stroke-width="2"/>
<text x="525" y="695" class="boxTitle">Deployment Substrate</text>
<text x="525" y="735" class="boxText">Ubuntu 22.04 • Bootable ISO or Scripted Installer • CPU or NVIDIA GPU Infrastructure • Internal Network / Air-Gapped Friendly</text>
<rect x="418" y="718" width="1094" height="112" rx="24" fill="#FFFFFF" stroke="#D5E0EC" stroke-width="2"/>
<text x="450" y="758" class="footLabel">DEPLOYMENT SUBSTRATE</text>
<text x="450" y="794" class="footText">Ubuntu 22.04 • Bootable ISO or scripted installer • CPU or NVIDIA GPU infrastructure • Internal network / air-gapped friendly</text>
</g>
<line x1="410" y1="405" x2="490" y2="405" stroke="#6EE7E0" stroke-width="6" stroke-linecap="round"/>
<polygon points="490,405 468,392 468,418" fill="#6EE7E0"/>
<line x1="338" y1="408" x2="418" y2="408" stroke="#2C7DA0" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<line x1="758" y1="408" x2="838" y2="384" stroke="#2C7DA0" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<line x1="758" y1="452" x2="838" y2="579" stroke="#2C7DA0" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<line x1="1150" y1="384" x2="1228" y2="384" stroke="#2C7DA0" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<line x1="1150" y1="579" x2="1228" y2="589" stroke="#2C7DA0" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<line x1="588" y1="542" x2="588" y2="718" stroke="#2C7DA0" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<line x1="860" y1="360" x2="930" y2="350" stroke="#6EE7E0" stroke-width="6" stroke-linecap="round"/>
<polygon points="930,350 906,341 910,366" fill="#6EE7E0"/>
<line x1="994" y1="664" x2="994" y2="718" stroke="#B8C7D8" stroke-width="3" stroke-dasharray="8 8"/>
<line x1="1370" y1="664" x2="1370" y2="718" stroke="#B8C7D8" stroke-width="3" stroke-dasharray="8 8"/>
<line x1="860" y1="450" x2="930" y2="560" stroke="#6EE7E0" stroke-width="6" stroke-linecap="round"/>
<polygon points="930,560 907,548 928,533" fill="#6EE7E0"/>
<line x1="1215" y1="340" x2="1280" y2="330" stroke="#6EE7E0" stroke-width="6" stroke-linecap="round"/>
<polygon points="1280,330 1256,321 1260,346" fill="#6EE7E0"/>
<line x1="1215" y1="565" x2="1280" y2="580" stroke="#6EE7E0" stroke-width="6" stroke-linecap="round"/>
<polygon points="1280,580 1256,567 1251,591" fill="#6EE7E0"/>
<line x1="675" y1="540" x2="675" y2="640" stroke="#6EE7E0" stroke-width="6" stroke-linecap="round"/>
<polygon points="675,640 662,616 688,616" fill="#6EE7E0"/>
<line x1="1070" y1="665" x2="1070" y2="445" stroke="#314873" stroke-width="3" stroke-dasharray="8 10"/>
<line x1="1390" y1="665" x2="1390" y2="440" stroke="#314873" stroke-width="3" stroke-dasharray="8 10"/>
<rect x="92" y="820" rx="18" ry="18" width="248" height="42" fill="#1B8F88"/>
<text x="132" y="848" class="pill">PRIVATE AI · PACKAGED STACK</text>
<text x="1240" y="848" class="small">Powered by Cezen</text>
<rect x="88" y="744" width="244" height="56" rx="18" fill="#DFF6F2"/>
<text x="128" y="778" class="footLabel">PRIVATE AI · PACKAGED STACK</text>
<text x="1360" y="778" text-anchor="end" class="small">Powered by Cezen</text>
</svg>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB