P R O J E K T YK O N T A K T

[01]

PRZESZUKIWANI TRENERZY

TIER A · ROK 2026 · STATUS: DZIAŁA · JĘZYKI: PYTHON / TYPESCRIPT

Semantyczna wyszukiwarka trenerów: hybrydowy RAG + ranking biznesowy

[FIG. 1] MISJA

Wyszukiwarka semantyczna trenerów po połączonych danych (CV + zakresy szkoleń). Pipeline zasila vision-LLM (Gemini 2.5 Flash) czytający skany i arkusze → jeden profil JSON na trenera → dwa wektory: dense (Qwen3-Embedding-8B, 4096D) łapie znaczenie i sparse (BM25) łapie akronimy (ITIL, NIS2, RODO). Warstwa A robi recall: dense+sparse → fuzja RRF → reranker Cohere. Warstwa B przestawia wynik po sygnałach biznesowych (współpraca z Asseco > temat > lata doświadczenia) z konfigurowalnymi wagami. Jakość mierzona golden setem (`eval.py`) i benchmarkiem modeli, dane PII trzymane poza repo z osobnym RODO.md. Python/FastAPI + Qdrant + Next.js, docker-compose.

[FIG. 2] ARCHITEKTURA

najedź na blok, by zobaczyć opis

[FIG. 2A] RANKING NA ŻYWO

  • 01TRENER M-311CLOUD · AZURE ARCH88%
  • 02TRENER A-042DEVOPS · TERRAFORM83%
  • 03TRENER K-107KUBERNETES · CKA · 6 LAT71%
  • 04TRENER T-023K8S · ASSECO ×366%
  • 05TRENER B-559NIS2 · AUDYT · ITIL45%

sam wektor gęsty — łapie znaczenie, gubi akronimy

[FIG. 3] WYZWANIA

[+][CH-01]

Akronimy vs znaczenie — hybryda dense+sparse (BM25 łapie „NIS2”, dense łączy „asertywność” z „komunikacją”), fuzja RRF i reranker Cohere na wierzchu.

[+][CH-02]

Sygnały biznesowe poza recall — osobna warstwa rankingu z konfigurowalnymi wagami, żeby „kto współpracuje z Asseco” nie zaszumiał wektora semantycznego.

[+][CH-03]

Brudne, mieszane wejście — vision-OCR dla skanów PDF, jedno wywołanie LLM na spójny profil JSON, ingestia inkrementalna po hashu treści.

[FIG. 4] WARSTWA AI

Semantyczna wyszukiwarka trenerów: hybrydowy RAG + ranking biznesowy

[FIG. 5] GALERIA

SCREENY W DRODZE — patrz SHOTS-WANTED

[FIG. 6] STACK & LINKI

PYTHONFASTAPIQDRANTQWEN3-EMBEDDING-8BBM25RRFCOHERE RERANKERGEMINI 2.5 FLASH (VISION)OPENROUTERNEXT.JSSHADCN/UIDOCKER COMPOSE
[ZASTRZEŻONE — PROJEKT KLIENCKI]