Pranojmë projekte për Q3 2026

Case study · Banking · Fintech (NDA)

Asistent AI për një bankë sistemike

Asistent virtual gjuhësor për një nga bankat më të mëdha në Shqipëri (NDA): pipeline RAG me shumë shtresa mbrojtëse, 11 paketa rregullash kundër halucinacionit, vlerësues automatik LLM-as-judge, dhe një widget 30 kB që ngarkohet në çdo faqe të bankës. Përgjigje në shqip dhe anglisht, 24/7, pa shtuar asnjë server të ri në infrastrukturën e bankës.

(Viti)2026 → aktiv
(Kohëzgjatja)Iterim i vazhdueshëm
(Roli)Strategji, arkitekturë e plotë, zhvillim, eval & guardrails
(Statusi)Në prodhim · NDA
Asistent
Si e hap një llogari rrjedhëse?
Për të hapur një llogari rrjedhëse ju nevojitet:
• Letërnjoftim ose pasaportë
• Vërtetim banimi
• Depozitë fillestare prej 500 lekësh
Sa kushton?
Pyet diçka...

Një bankë sistemike merr çdo ditë mijëra pyetje të përsëritura në web, telefon dhe rrjete sociale: "si e hap një llogari?", "ku është dega më e afërt?", "si funksionon kredia konsumatore?". Përgjigjet ekzistojnë tashmë në dokumente zyrtare, por janë të shpërndara në PDF-të e komisioneve, faqet e produkteve, FAQ dhe rregullore të brendshme. Një AI naive që përgjigjet me njohurinë e vet të përgjithshme do të ishte një rrezik real ligjor dhe reputacional: gabimi më i vogël për një normë interesi, një komision ose një limit karte mund të kthehet në ankesë formale ose në shkelje rregullatore.

  • Çdo përgjigje duhet të jetë e rrënjosur në dokumente zyrtare; halucinacioni i një figure financiare është i papranueshëm.
  • Klientët shkruajnë me zhargon, gabime drejtshkrimore dhe shkurtime ("flm", "klm", "psh", "pershendetje", "lingtona"); sistemi duhet t'i kuptojë pa qarkullim te modeli.
  • Disa pyetje janë specifike për llogarinë e klientit (kartë e bllokuar, debitim i pakuptuar, problem PIN-i): asistenti nuk duhet t'i diagnostikojë kurrë vetë.
  • Dokumentacioni ndryshon javë pas jave; sistemi duhet të rifreskohet pa redeploy.
  • Banka kërkon zero vendor lock-in: backend brenda perimetrit të saj, pa varësi nga shërbime SaaS jashtë OpenAI API.
  • Dy gjuhë (shqip dhe anglisht), me detektim automatik dhe përgjigje në gjuhën e pyetësit.

E ndërtuam asistentin si një pipeline të strukturuar në shumë shtresa, ku çdo shtresë ka një përgjegjësi të vetme dhe një grup testesh të dedikuara. Çdo pyetje e përdoruesit kalon nga sanitizimi, normalizimi i typove, një ruter intencional deterministik, një klasifikues LLM, një reformulator query-sh, retrieval semantik me kufij të rreptë, dhe një LLM final me prompt-of-record të blinduar. Mbi pipeline-in punon një vlerësues automatik LLM-as-judge që kalon çdo bisedë të prodhimit, kategorizon shkeljet sipas 11 paketave rregullash dhe kthen një feedback loop drejt prompt-it dhe ruterit.

Pipeline RAG me shumë shtresa

Sanitizim kundër prompt injection (system:, [INST], <|im_start|>) → normalizim typosh → ruter intencional deterministik → klasifikues LLM (4 klasa) → reformulator query-stand-alone → embedding → retrieval semantik me threshold 0.30 → top-5 chunks → LLM final me streaming. Çdo hap regjistrohet me latencën, query-n e reformuluar dhe scores e chunk-eve të tërhequr.

Ruter deterministik që ruan ~16% të turneve nga LLM

Përshëndetje, falënderime, mbyllje, kërkesa kontakti, kode SWIFT, pyetje për takime, fjalë të vetme si "whatsapp" ose "facebook", emra fakë produktesh dhe çështje specifike llogarie kapen para çdo thirrjeje LLM. Rezultati: ~16% e turneve të prodhimit i përgjigjen nga rregulla deterministe me kosto zero, latencë afër 0 ms, dhe pa rrezik halucinacioni.

Strategji dy-modelesh për kosto

GPT-4.1-nano (klasifikim, reformulim, përshëndetje) për detyra ndihmëse që duhen të jenë të lira dhe të shpejta. GPT-4.1-mini (cilësi e lartë) vetëm për përgjigjen përfundimtare RAG. Kjo ulet kosto për bisedë në mënyrë domethënëse pa prekur cilësinë e përgjigjes së dukshme nga klienti.

11 paketa rregullash kundër halucinacionit

Politikë e koduar drejtpërdrejt në system prompt + ruter: ndalimi absolut i kuotimit të figurave financiare (norma, komisione, tarifa, limite, kurse), redirect tek dokumentet zyrtare; kurrë mos diagnostiko probleme të llogarisë; kurrë mos krahaso me banka konkurrente; kurrë mos shpik emra produktesh ("Premium Black", "Smart Future", emra në thonjëza që nuk ekzistojnë); kurrë mos premto veçori online që banka nuk ofron; pas turnit të 5-të, propozo një kalim te operatori njerëzor (WhatsApp + telefon).

Vlerësues automatik LLM-as-judge

Një harness i veçantë audit-on dhe gradon bisedat e prodhimit kundrejt 11 rregullave të emërtuara (no-financial-figures, trajnim-3-invented-product, trajnim-9-fallback-on-slang, trajnim-11-diagnosed-account-issue, …). Çdo shkelje regjistrohet me severity dhe note shpjeguese, dhe rezultatet bëhen baza për iterimin e prompt-it dhe ruterit.

Memorie bisede me reformulim follow-up-ësh

Pyetjet e shkurtra që varen nga konteksti ("po për biznes?", "sa zgjat?", "okay vazhdo") riformulohen në një query banking-stand-alone para se të prekë retrieval-in. Sessioni ruhet me ID anonim, fshihet automatikisht pas 90 ditësh me MongoDB TTL — bashkëpunim me kërkesat e privatësisë.

Widget 30 kB pa varësi

Një file JavaScript vanilla që ngarkohet me një rresht <script> në cilëndo faqe të bankës. Pa iframe, pa konflikte me CMS-në, pa tracker. Streaming i token-ve për një ndjesi "live", rate-limit 20 mesazhe/minutë për session, CORS allowlist për origin.

Self-hosted brenda perimetrit të bankës

Backend Node.js + Express + LangChain mbi MongoDB Atlas, Docker compose, Nginx si reverse proxy. Asnjë vendor proprietar përtej OpenAI API. Banka mban kontrollin e plotë mbi logs, knowledge base dhe çelësat e API-ve.

Si rrjedh një pyetje nga klienti në përgjigje të rrënjosur

01SanitizeAnti-injection + typo repair
02RouterIntent deterministik · 11 paketa
03ClassifyGPT-4.1-nano · 4 klasa
04ReformulateFollow-up → query stand-alone
05RetrieveEmbedding + cosine + threshold
06AnswerGPT-4.1-mini + streaming + burimi

Përgjigje me streaming

Token-at vijnë në UI ndërsa modeli mendon. TTFB mesatarisht ~3s; përdoruesi sheh fjalën e parë para se backend-i të mbarojë gjenerimin.

Latencë e kontrolluar

p50 nën 5s, p95 nën 8s për përgjigjet e plota RAG. Hapat e ruterit deterministik kthejnë në më pak se 100 ms.

Citim i burimit zyrtar

Çdo chunk i tërhequr mban URL-në origjinale ([Burimi: ...]); modeli e kthen si link [text](URL) brenda përgjigjes, që klienti mund t'i hapë drejtpërdrejt te dokumenti zyrtar.

Refuzim i sigurt për figurat financiare

Edhe nëse një numër interesi ose komisioni ndodhet në kontekst (mund të ketë skaduar), modeli udhëzohet ta refuzojë dhe të redirektojë tek dokumentet zyrtare të bankës. Mbron bankën nga pretendime për informacion të vjetër.

Diversion automatik te operatori

Pyetjet që kërkojnë verifikim llogarie ose probleme operacionale (kartë e bllokuar, debitim i pakuptuar, login i dështuar) kalohen menjëherë te telefoni dhe WhatsApp i shërbimit të klientit, pa asnjë diagnozë nga AI.

Bilingual sq/en

Detektim automatik i gjuhës; përgjigjet vijnë në gjuhën e pyetjes me të njëjtin kontekst nga e njëjta bazë njohurish.

Eval i automatizuar i prodhimit

Skripte të dedikuara (audit-conversations, grade-conversations, replay-and-grade) që ekzekutohen periodikisht, kthejnë violation reports dhe formojnë regression suite-in para çdo prompt change.

Per-turn observability

Çdo turn ruhet në chat_logs me query e reformuluar, chunk-et e tërhequra, scores, klasën e klasifikuesit, intentin e ruterit, latencat (TTFB, retrieval, classifier), dhe modelin e përdorur. Bashkëngjitur është një dashboard admin që e bën të kërkueshëm.

Crawler & re-ingest inkremental

Skripte ingest dhe crawl që marrin gjithë sajtin publik të bankës, normalizojnë URL-të, parse-ojnë PDF-të dhe ringarkojnë vetëm chunk-et e ndryshuara. Përditësimi i bazës së njohurive bëhet pa redeploy.

Mbrojtje nga prompt injection

Sanitizim i input-it për tokens si system:, assistant:, [INST], <|im_start|>; rregull i prerë në system prompt që modeli kurrë nuk zbulon konfigurimin e brendshëm; klasifikues që ridrejton përpjekjet për "ignore previous instructions" tek tematika bankare.

Backend

Node.jsExpressLangChain (chains + RunnableWithMessageHistory)Zod (structured output)multer (PDF upload)

AI / Embeddings

OpenAI GPT-4.1-mini (RAG)OpenAI GPT-4.1-nano (utility)OpenAI text-embedding-3Streaming token output

Retrieval

Cosine similarity in-processScore threshold 0.30Top-5 chunk windowQuery reformulation chain

Knowledge pipeline

Web crawler (cheerio)PDF parsing (pdf-parse)Recursive character text splitterSources + chunks collections

Eval & QA

LLM-as-judge auditor11 named rule packsReplay-and-grade harnessPer-turn chat_logs me retrieval traces

Të dhëna

MongoDB AtlasTTL retention 90 ditëIndexes mbi conversationId, classifierClass, ts

Siguria

JWT adminAPI key per originRate limiting (express-rate-limit)CORS allowlistPrompt-injection sanitizer

Frontend

Vanilla JS widgetZero dependencies~30 kB gzippedStreaming UI

Infrastrukturë

Self-hosted brenda perimetritDocker composeNginx reverse proxyPa vendor lock-in

24/7

Disponibilitet pa staf njerëzor

~16%

Turne që shërbehen pa LLM (kosto zero)

~3s

TTFB mesatar me streaming

p95 < 8s

Latencë e kontrolluar e përgjigjes së plotë

11

Paketa rregullash kundër halucinacionit

2 modele

Strategji nano + mini për kosto/cilësi

90 ditë

TTL retention bashkëpunim me privatësinë

0 vendor

Lock-in përtej OpenAI API

Faza tjetër: integrim me CRM-in e brendshëm për pyetje të autentikuara llogarie (pas 2FA me app-in e bankës), zgjerim i ruterit deterministik me intentet që dalin më shumë në eval, dhe një dashboard për ekipin e prodhimit që ndjek violation rate, latency budgets dhe cost-per-conversation në kohë reale.

Tjetër?

Po ndërton diçka të ngjashme?

Le të bëjmë diçka të mirëfilltë bashkë.

Hapur për 1–2 projekte të reja për Q3 2026. Brenda 24 orëve kthehemi me një vlerësim të shkurtër ose një bisedë 30-minutëshe.

ose shkruaj në