Packages

Vector embeddings service for the NSAI ecosystem

Current section

Files

Jump to
embed_ex assets embed_ex.svg
Raw

assets/embed_ex.svg

<svg width="400" height="460" viewBox="0 0 400 460" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Gradient definitions -->
<linearGradient id="hexGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#8B5CF6;stop-opacity:1" />
<stop offset="50%" style="stop-color:#A855F7;stop-opacity:1" />
<stop offset="100%" style="stop-color:#EC4899;stop-opacity:1" />
</linearGradient>
<linearGradient id="innerGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#EC4899;stop-opacity:0.8" />
<stop offset="100%" style="stop-color:#8B5CF6;stop-opacity:0.8" />
</linearGradient>
<radialGradient id="glowGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" style="stop-color:#EC4899;stop-opacity:0.6" />
<stop offset="100%" style="stop-color:#8B5CF6;stop-opacity:0" />
</radialGradient>
<!-- Filter for glow effect -->
<filter id="glow">
<feGaussianBlur stdDeviation="3" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Background hexagon with gradient -->
<polygon points="200,20 350,110 350,290 200,380 50,290 50,110"
fill="url(#hexGradient)"
stroke="#0F172A"
stroke-width="4"
filter="url(#glow)"/>
<!-- Inner hexagon for depth -->
<polygon points="200,60 320,130 320,270 200,340 80,270 80,130"
fill="none"
stroke="url(#innerGradient)"
stroke-width="2"
opacity="0.6"/>
<!-- Central glow circle -->
<circle cx="200" cy="200" r="80" fill="url(#glowGradient)" opacity="0.4"/>
<!-- Vector space visualization - dots and connections representing embeddings -->
<!-- Cluster 1 (top-left) -->
<circle cx="120" cy="140" r="5" fill="#EC4899" opacity="0.9"/>
<circle cx="130" cy="155" r="4" fill="#EC4899" opacity="0.8"/>
<circle cx="110" cy="160" r="4" fill="#EC4899" opacity="0.8"/>
<line x1="120" y1="140" x2="130" y2="155" stroke="#EC4899" stroke-width="1" opacity="0.5"/>
<line x1="120" y1="140" x2="110" y2="160" stroke="#EC4899" stroke-width="1" opacity="0.5"/>
<line x1="130" y1="155" x2="110" y2="160" stroke="#EC4899" stroke-width="1" opacity="0.5"/>
<!-- Cluster 2 (top-right) -->
<circle cx="280" cy="145" r="5" fill="#A855F7" opacity="0.9"/>
<circle cx="270" cy="160" r="4" fill="#A855F7" opacity="0.8"/>
<circle cx="290" cy="165" r="4" fill="#A855F7" opacity="0.8"/>
<line x1="280" y1="145" x2="270" y2="160" stroke="#A855F7" stroke-width="1" opacity="0.5"/>
<line x1="280" y1="145" x2="290" y2="165" stroke="#A855F7" stroke-width="1" opacity="0.5"/>
<line x1="270" y1="160" x2="290" y2="165" stroke="#A855F7" stroke-width="1" opacity="0.5"/>
<!-- Cluster 3 (bottom-left) -->
<circle cx="115" cy="240" r="5" fill="#8B5CF6" opacity="0.9"/>
<circle cx="125" cy="255" r="4" fill="#8B5CF6" opacity="0.8"/>
<circle cx="105" cy="260" r="4" fill="#8B5CF6" opacity="0.8"/>
<line x1="115" y1="240" x2="125" y2="255" stroke="#8B5CF6" stroke-width="1" opacity="0.5"/>
<line x1="115" y1="240" x2="105" y2="260" stroke="#8B5CF6" stroke-width="1" opacity="0.5"/>
<line x1="125" y1="255" x2="105" y2="260" stroke="#8B5CF6" stroke-width="1" opacity="0.5"/>
<!-- Cluster 4 (bottom-right) -->
<circle cx="285" cy="245" r="5" fill="#EC4899" opacity="0.9"/>
<circle cx="275" cy="260" r="4" fill="#EC4899" opacity="0.8"/>
<circle cx="295" cy="265" r="4" fill="#EC4899" opacity="0.8"/>
<line x1="285" y1="245" x2="275" y2="260" stroke="#EC4899" stroke-width="1" opacity="0.5"/>
<line x1="285" y1="245" x2="295" y2="265" stroke="#EC4899" stroke-width="1" opacity="0.5"/>
<line x1="275" y1="260" x2="295" y2="265" stroke="#EC4899" stroke-width="1" opacity="0.5"/>
<!-- Central neural network visualization -->
<!-- Input layer -->
<circle cx="170" cy="180" r="6" fill="#FFFFFF" opacity="0.9"/>
<circle cx="170" cy="200" r="6" fill="#FFFFFF" opacity="0.9"/>
<circle cx="170" cy="220" r="6" fill="#FFFFFF" opacity="0.9"/>
<!-- Hidden layer -->
<circle cx="200" cy="175" r="6" fill="#EC4899" opacity="0.9"/>
<circle cx="200" cy="200" r="6" fill="#A855F7" opacity="0.9"/>
<circle cx="200" cy="225" r="6" fill="#8B5CF6" opacity="0.9"/>
<!-- Output layer -->
<circle cx="230" cy="180" r="6" fill="#FFFFFF" opacity="0.9"/>
<circle cx="230" cy="200" r="6" fill="#FFFFFF" opacity="0.9"/>
<circle cx="230" cy="220" r="6" fill="#FFFFFF" opacity="0.9"/>
<!-- Neural connections -->
<line x1="170" y1="180" x2="200" y2="175" stroke="#EC4899" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="180" x2="200" y2="200" stroke="#A855F7" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="180" x2="200" y2="225" stroke="#8B5CF6" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="200" x2="200" y2="175" stroke="#EC4899" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="200" x2="200" y2="200" stroke="#A855F7" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="200" x2="200" y2="225" stroke="#8B5CF6" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="220" x2="200" y2="175" stroke="#EC4899" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="220" x2="200" y2="200" stroke="#A855F7" stroke-width="1.5" opacity="0.4"/>
<line x1="170" y1="220" x2="200" y2="225" stroke="#8B5CF6" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="175" x2="230" y2="180" stroke="#EC4899" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="175" x2="230" y2="200" stroke="#A855F7" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="175" x2="230" y2="220" stroke="#8B5CF6" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="200" x2="230" y2="180" stroke="#EC4899" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="200" x2="230" y2="200" stroke="#A855F7" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="200" x2="230" y2="220" stroke="#8B5CF6" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="225" x2="230" y2="180" stroke="#EC4899" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="225" x2="230" y2="200" stroke="#A855F7" stroke-width="1.5" opacity="0.4"/>
<line x1="200" y1="225" x2="230" y2="220" stroke="#8B5CF6" stroke-width="1.5" opacity="0.4"/>
<!-- Decorative particles showing dimensionality -->
<circle cx="145" cy="120" r="2" fill="#EC4899" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.3;0.7" dur="3s" repeatCount="indefinite"/>
</circle>
<circle cx="255" cy="125" r="2" fill="#A855F7" opacity="0.7">
<animate attributeName="opacity" values="0.3;0.7;0.3" dur="3s" repeatCount="indefinite"/>
</circle>
<circle cx="140" cy="280" r="2" fill="#8B5CF6" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.3;0.7" dur="2.5s" repeatCount="indefinite"/>
</circle>
<circle cx="260" cy="275" r="2" fill="#EC4899" opacity="0.7">
<animate attributeName="opacity" values="0.3;0.7;0.3" dur="2.5s" repeatCount="indefinite"/>
</circle>
</svg>