Skip to content

Conversation

@spideystreet
Copy link
Collaborator

@spideystreet spideystreet commented Jan 28, 2026

Feature : Embeddings, Classification & Recommandation

Grosse PR qui met en place : calcul d'embeddings vectoriels, classification automatique par SLM et moteur de recommandation (User <-> Project).

Docker & DevOps

  • Startup (scripts/init.sh) : Nouvel entrypoint qui gère l'install des deps dbt et lance dbt build au démarrage. Fini les crashs relation does not exist !
  • Networking : Fix de la com inter-conteneurs

Go Services (Refactor)

  • Architecture : Split propre entre fetcher (récupération brute) et scraper (logique métier)
  • Concurrence : Optimisation des routines de fetch (Readme, Languages, Topics) pour tenir la charge
  • Cleanup : Suppression du code mort et unification des structures de données via common.go

Data Engineering & ML (Dagster)

  • Stratégie : Filtrage renforcé sur la qualité (good-first-issues > 5, activité < 24h, stars 500..1K) pour garantir des projets vivants et qualité
  • Classification Hybride :
    • FastText : Détection de langue (core_github__detect_languages)
    • LLM (Qwen2.5) : Classification sémantique (Domaine/Catégorie) via LLMClassifierResource
  • Embeddings : Vectorisation (384d) des projets et des profils utilisateurs via SentenceTransformer
  • Orchestration : Job run_all_job planifié toutes les 6h pour commencer

Transformation (dbt & SQL)

  • Data Quality : Macros de nettoyage (clean_text, jsonb_to_list) pour préparer le terrain au ML
  • Contexte LLM : Les macros build_project_context build_user_context pour maximiser la pertinence des embeddings
  • Matching Tables:
    • public.match_global_recommendation : Reco globale, Top 5 (Trending/Récents)
    • public.match_user_recommendation : Recos persos (Cosine Similarity sur pgvector)

DB (Prisma & Postgres)

  • Structure : Alignement strict Multi-Schemas (public, github, match, ml)
  • Vector Search : Activation de l'extension vector et support Prisma via Unsupported("vector(384)")
  • Seeding : Fix des imports ESM/CJS pour que npm run seed fonctionne enfin en local sans pleurer

Important

@Olyxz :

  • Vérifier que l'extension pgvector est bien activée sur staging
  • S'assurer que les workers ont assez de RAM pour charger le modèle Qwen ( sinon los problemos )
  • Vérifie qu'on a bien des users avec catégories & domaines dans la db pour tester
  • Lance un run_all_job pour voir si tout passe ok

- Fix incorrect upstream dependency (was pvt_public_project)
- Update column accessors (project_id, rich_context_string)
- Refactor SQL query to constant
- Update Dagster job descriptions to focus on orchestration flow
- Clarify classification asset docstrings
- Enhance DBT ML model descriptions (stg/pvt) to explain business logic over implementation details
- Add multi-stage Dockerfile (Go builder + Python Runtime)
- Add docker-compose.yml with pgvector support
- Add .dockerignore
@spideystreet spideystreet requested a review from Olyxz16 January 28, 2026 14:31
@spideystreet spideystreet self-assigned this Jan 28, 2026
@spideystreet spideystreet added the enhancement New feature or request label Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants