[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