BYO-LLM: cum integrezi Llama 3.3 și Qwen 3 în SaaS fără lock-in
Un CTO dintr-un SaaS RegTech din București mi-a scris săptămâna trecută: factura OpenAI a trecut de €38k/lună, iar clientul enterprise cere ca datele să nu părăsească UE. Răspunsul nu e „migrăm tot pe self-hosted".
BYO-LLM: cum integrezi Llama 3.3 și Qwen 3 în SaaS fără lock-in
Un CTO dintr-un SaaS RegTech din București mi-a scris săptămâna trecută: factura OpenAI a trecut de €38k/lună, iar clientul enterprise cere ca datele să nu părăsească UE. Răspunsul nu e „migrăm tot pe self-hosted”. Răspunsul e BYO-LLM — un pattern de adapter care lasă clientul (sau tine) să aleagă backend-ul per tenant, per feature, per request.
Ce înseamnă BYO-LLM, concret
„Bring Your Own LLM” separă contractul (prompt + output schema) de execuție (Llama 3.3 70B pe vLLM, Qwen 3 32B pe SGLang, GPT-4o pe API, Claude Sonnet pe Bedrock). Aplicația vede un singur port: POST /v1/chat/completions cu payload OpenAI-compatibil. Router-ul decide unde merge cererea pe baza tenantului, sensibilității datelor și cost-țintei.
Llama 3.3 70B Instruct e sub Llama 3.3 Community License — permite uz comercial până la 700M MAU. Qwen 3 e sub Apache 2.0, fără plafon. Ambele expun API OpenAI-compatibil prin vLLM, ceea ce elimină 90% din munca de integrare.
# router.yaml — decizie per tenant
tenants:
acme-eu-health:
residency: eu-only
backend: llama-3.3-70b@vllm-fra1
fallback: qwen3-32b@vllm-fra2
acme-us-marketing:
residency: any
backend: gpt-4o@openai
fallback: llama-3.3-70b@vllm-fra1
budgets:
llama-3.3-70b: {max_tokens_per_min: 120000, p95_ms: 2400}
qwen3-32b: {max_tokens_per_min: 180000, p95_ms: 1900}
Arhitectura pe care o rulăm în producție
Trei componente contează: adapter layer (traduce request-ul aplicației la dialectul fiecărui backend — Bedrock nu e 1:1 cu OpenAI, Vertex nici atât), policy engine (unde citim clauza de rezidență din contractul MSA și o mapăm pe backend) și observabilitate cu tokens/€ per tenant, altfel nu vezi când un customer inocent îți arde marja.
Reglementările europene forțează pattern-ul: EU AI Act, Art. 53 cere transparență asupra modelului GPAI folosit; NIS2, Art. 21(2)(d) cere control pe supply chain-ul software — inclusiv pe modelul de inferență. Dacă vendorul de LLM e „black box us-east-1”, auditul te taie.
De ce contează pentru arhitectura ta
Pattern-ul se leagă direct de routing-ul cost-aware între Opus, Sonnet și open-source — BYO-LLM e substratul, routing-ul e politica. Dacă rulezi și agenți multi-tool, citește cum A2A și MCP rezolvă probleme complet diferite — BYO-LLM nu înlocuiește niciunul.
Poziția noastră la CAI: nu recomandăm self-hosted pentru toată lumea. Recomandăm adapter-ul de la ziua unu, chiar dacă backend-ul e un singur API comercial. Costul de a-l adăuga acum e două sprint-uri; costul de a-l retrofita când clientul enterprise cere on-prem e o rescriere.
Dacă vrei să vezi cum arată contractele de adapter pe care le livrăm, treci prin pillarul Demeter — acolo publicăm referințele de implementare deschise.