βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TU POSES UNE QUESTION β
β "Comment faire un budget ?" β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ΓTAPE 1: GΓNΓRATION DE L'EMBEDDING DE TA QUESTION β
β β
β Ta question β API Infomaniak (bge_multilingual_gemma2) β
β β β
β βΌ β
β "Comment faire un budget ?" β [0.012, -0.045, 0.089, ... 3584 nombres] β
β β
β Ce vecteur reprΓ©sente le SENS de ta question dans un espace mathΓ©matique β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ΓTAPE 2: RECHERCHE DANS LA BASE VECTORIELLE (SQLite) β
β β
β On compare ton vecteur avec TOUS les vecteurs stockΓ©s : β
β β
β Ta question: [0.012, -0.045, 0.089, ...] β
β vs β
β Chunk 1 "Budget": [0.011, -0.043, 0.091, ...] β SimilaritΓ©: 0.81 β
β
β Chunk 2 "ImpΓ΄ts": [0.089, 0.012, -0.034, ...] β SimilaritΓ©: 0.45 β
β Chunk 3 "Poursuites": [0.067, -0.023, 0.056, ...] β SimilaritΓ©: 0.52 β
β ... β
β β
β Formule: SimilaritΓ© Cosinus = (AΒ·B) / (||A|| Γ ||B||) β
β Plus proche de 1 = plus similaire sΓ©mantiquement β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ΓTAPE 3: SΓLECTION DES 5 MEILLEURS CHUNKS β
β β
β Les chunks les plus pertinents sont retournΓ©s : β
β β
β 1. "Budget (part 2)" - score 0.81 β
β 2. "Adresses utiles" - score 0.65 β
β 3. "Changements de situation" - score 0.58 β
β 4. ... β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ΓTAPE 4: CONSTRUCTION DU PROMPT POUR L'IA β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Tu es un assistant du site "Stop Surendettement GenΓ¨ve". β β
β β Tu rΓ©ponds en franΓ§ais, de maniΓ¨re empathique. β β
β β Base-toi UNIQUEMENT sur le contexte fourni. β β
β β β β
β β CONTEXTE DU SITE: β β
β β [Budget] β β
β β Pour bien gΓ©rer l'argent, on doit faire un budget en notant β β
β β ce qu'on gagne et ce qu'on dΓ©pense... β β
β β Source: https://surendettement.test/eviter-les-dettes/budget/ β β
β β β β
β β [Adresses utiles] β β
β β Adresses oΓΉ trouver de l'aide... β β
β β β β
β β QUESTION: Comment faire un budget ? β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ΓTAPE 5: APPEL Γ L'IA (Mistral 24B) β
β β
β Le prompt complet est envoyΓ© Γ l'API Infomaniak β
β ModΓ¨le: mistral24b (Mistral-Small-3.2-24B-Instruct) β
β β
β L'IA lit le contexte et gΓ©nΓ¨re une rΓ©ponse basΓ©e sur TON contenu β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ΓTAPE 6: RΓPONSE AFFICHΓE β
β β
β "Pour faire un budget, vous devez noter vos revenus et vos dΓ©penses. β
β Commencez par lister ce que vous gagnez chaque mois, puis ce que β
β vous dΓ©pensez. Cela permet de voir si vous pouvez tout payer..." β
β β
β + Sources affichΓ©es : [Budget] [Adresses utiles] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
C'est une reprΓ©sentation mathΓ©matique du SENS d'un texte.
"chat" β [0.1, 0.8, 0.2, ...]
"chien" β [0.15, 0.75, 0.25, ...] β Proche de "chat" (animaux)
"voiture" β [0.9, 0.1, 0.7, ...] β Loin de "chat"
Les mots/phrases avec un sens similaire ont des vecteurs proches !
Mesure l'angle entre deux vecteurs (pas la distance) :
| Score | Signification |
|---|---|
| 1.0 | Identique |
| 0.8+ | Très similaire |
| 0.5 | Moyennement liΓ© |
| 0.0 | Aucun rapport |
Formule :
similaritΓ© = (A Β· B) / (||A|| Γ ||B||)
RAG = Recherche + GΓ©nΓ©ration
1. RECHERCHE : Trouver les infos pertinentes dans TA base
2. GΓNΓRATION : L'IA gΓ©nΓ¨re une rΓ©ponse basΓ©e sur ces infos
Avantage : L'IA ne peut pas "halluciner" car elle se base sur ton contenu !
| Fichier | RΓ΄le |
|---|---|
chatbot-vector-store.php | Base vectorielle SQLite + embeddings |
chatbot-context-generator.php | Proxy API + gΓ©nΓ©ration contexte JSON |
index.js | Frontend chatbot + logique RAG |
chatbot.blade.php | Template UI du chatbot |
Chatbot.php | Bloc Gutenberg ACF |
| Endpoint | Usage |
|---|---|
/1/ai/{product_id}/openai/chat/completions | GΓ©nΓ©ration de texte |
/1/ai/{product_id}/openai/v1/embeddings | GΓ©nΓ©ration d'embeddings |
| Modèle | Type | Usage |
|---|---|---|
mistral24b | LLM | RΓ©ponses du chatbot |
bge_multilingual_gemma2 | Embedding | Vectorisation (3584 dim) |
Fichier : wp-content/uploads/chatbot-vectors.db
chunks| Colonne | Type | Description |
|---|---|---|
id | INTEGER | ClΓ© primaire |
source_type | TEXT | "post" ou "pdf" |
source_id | TEXT | ID du post ou hash du PDF |
title | TEXT | Titre du chunk |
content | TEXT | Contenu texte |
url | TEXT | Lien vers la source |
metadata | TEXT | JSON (post_type, chunk_index, etc.) |
embedding | BLOB | Vecteur sΓ©rialisΓ© (3584 dimensions) |
| Γtape | Temps |
|---|---|
| Embedding de la question | ~200ms |
| Recherche dans les chunks | ~50ms |
| Appel Γ Mistral 24B | ~3-8s |
| Total | ~4-9s |
| Endpoint | MΓ©thode | Description |
|---|---|---|
/wp-json/chatbot/v1/context | GET | Contexte JSON (fallback) |
/wp-json/chatbot/v1/chat | POST | Proxy vers l'IA |
/wp-json/chatbot/v1/search | POST | Recherche sΓ©mantique |
/wp-json/chatbot/v1/stats | GET | Statistiques du store |
Documentation gΓ©nΓ©rΓ©e le 12 dΓ©cembre 2024