Files

61 lines
4.2 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="420" viewBox="0 0 1200 420" role="img" aria-labelledby="title desc">
<title id="title">ForgeLM</title>
<desc id="desc">ForgeLM: um arquivo .gguf entra no llama.cpp, que divide as camadas entre GPU e CPU, e a resposta sai em streaming pela API local na porta 8080, em /v1/chat/completions.</desc>
<rect width="1200" height="420" rx="24" fill="#171717"/>
<g id="title-block" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif">
<text x="64" y="170" font-size="64" font-weight="700" fill="#F3F4F6">ForgeLM</text>
<text x="64" y="226" font-size="28" fill="#F3F4F6">Rode modelos .gguf na sua máquina</text>
<text x="64" y="264" font-size="28" fill="#F3F4F6">com uma API no estilo OpenAI.</text>
<text x="64" y="322" font-size="20" fill="#9CA3AF" font-family="ui-monospace, 'SF Mono', Consolas, monospace">Rust · llama.cpp · Axum · Tauri 2</text>
</g>
<g id="model-file" font-family="ui-monospace, 'SF Mono', Consolas, monospace">
<path d="M584 152 h60 l28 28 v88 h-88 z" fill="#262626" stroke="#313944" stroke-width="2"/>
<path d="M644 152 v28 h28" fill="none" stroke="#313944" stroke-width="2"/>
<text x="628" y="234" font-size="20" fill="#F3F4F6" text-anchor="middle">.gguf</text>
<text x="628" y="304" font-size="18" fill="#9CA3AF" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif">modelo</text>
</g>
<g id="arrows" fill="none" stroke="#9CA3AF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M682 210 h26 M700 202 l8 8 l-8 8"/>
<path d="M836 210 h20 M848 202 l8 8 l-8 8"/>
</g>
<g id="layers" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif">
<text x="772" y="110" font-size="20" font-weight="700" fill="#F3F4F6" text-anchor="middle">llama.cpp</text>
<rect x="716" y="126" width="112" height="28" rx="6" fill="#4b86ff"/>
<rect x="716" y="162" width="112" height="28" rx="6" fill="#4b86ff"/>
<rect x="716" y="198" width="112" height="28" rx="6" fill="#4b86ff"/>
<rect x="716" y="234" width="112" height="28" rx="6" fill="#4b86ff"/>
<rect x="716" y="270" width="112" height="28" rx="6" fill="#333333"/>
<rect x="716" y="306" width="112" height="28" rx="6" fill="#333333"/>
<text x="772" y="146" font-size="18" font-weight="700" fill="#0d0d10" text-anchor="middle">GPU</text>
<text x="772" y="326" font-size="18" font-weight="700" fill="#F3F4F6" text-anchor="middle">CPU</text>
</g>
<g id="api-stream" font-family="ui-monospace, 'SF Mono', Consolas, monospace">
<rect x="864" y="96" width="272" height="244" rx="14" fill="#0d0d10" stroke="#313944" stroke-width="2"/>
<circle cx="890" cy="128" r="6" fill="#30d158"/>
<text x="906" y="135" font-size="20" fill="#F3F4F6">:8080</text>
<text x="1116" y="135" font-size="18" fill="#9CA3AF" text-anchor="end">SSE</text>
<path d="M864 154 h272" stroke="#232a33" stroke-width="2"/>
<text x="884" y="186" font-size="18" fill="#9CA3AF">/v1/chat/completions</text>
<g font-family="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif" font-size="20" fill="#F3F4F6">
<rect x="884" y="204" width="58" height="34" rx="8" fill="#101c2d" stroke="#203451" stroke-width="2"/>
<text x="913" y="228" text-anchor="middle">Olá</text>
<rect x="950" y="204" width="30" height="34" rx="8" fill="#101c2d" stroke="#203451" stroke-width="2"/>
<text x="965" y="228" text-anchor="middle">,</text>
<rect x="988" y="204" width="68" height="34" rx="8" fill="#101c2d" stroke="#203451" stroke-width="2"/>
<text x="1022" y="228" text-anchor="middle">tudo</text>
<rect x="884" y="248" width="62" height="34" rx="8" fill="#101c2d" stroke="#203451" stroke-width="2"/>
<text x="915" y="272" text-anchor="middle">bem</text>
<rect x="954" y="248" width="30" height="34" rx="8" fill="#101c2d" stroke="#203451" stroke-width="2"/>
<text x="969" y="272" text-anchor="middle">?</text>
<rect x="994" y="252" width="12" height="26" rx="2" fill="#4b86ff"/>
</g>
<text x="884" y="318" font-size="18" fill="#9CA3AF">"stream": true</text>
</g>
</svg>