01
📖 Introduction
Les LLM (Large Language Models) comme GPT-4, Mistral ou Llama sont exceptionnels pour comprendre et générer du texte. Mais ils ont une faiblesse majeure : ils ne savent pas raisonner sur des relations complexes ni vérifier leurs faits en temps réel.
💡 À retenir : Les graphes de connaissances apportent la structure relationnelle et les faits vérifiés que les LLM ne possèdent pas. Ensemble, ils forment une IA plus intelligente, plus fiable et plus explicable.
📊 Synergie LLM + Graphe :
[LLM] → (texte, compréhension, génération)
[Graphe] → (faits, relations, raisonnement, inférence)
[Ensemble] → (IA contextuelle, fiable, explicable)
03
🏗️ Architectures d'intégration
1. RAG (Retrieval-Augmented Generation)
Le LLM interroge le graphe à la volée pour chaque requête.
Question → Requête SPARQL/Cypher → Résultats → Contexte → LLM → Réponse
2. KG-Augmented Fine-tuning
On utilise le graphe pour enrichir les données d'entraînement du LLM.
Graphe → Extraction de triplets → Dataset enrichi → Fine-tuning → LLM spécialisé
3. Graph-based Reasoning (Agent)
Le LLM agit comme un agent qui navigue dans le graphe.
Question → LLM (plan) → Requêtes SPARQL → Résultats → LLM (synthèse) → Réponse
🎯 Notre recommandation : Commencez par l'architecture RAG (simple, efficace, sans réentraînement). Pour des cas plus complexes, ajoutez une couche agent.
05
💻 Implémentation pratique
Avec LangChain et Neo4j
from langchain.chains import GraphCypherQAChain
from langchain_community.graphs import Neo4jGraph
from langchain_openai import ChatOpenAI
# Connexion au graphe Neo4j
graph = Neo4jGraph(
url="bolt://localhost:7687",
username="neo4j",
password="password"
)
# LLM (GPT-4, Mistral, etc.)
llm = ChatOpenAI(model="gpt-4", temperature=0)
# Chaîne RAG sur graphe
chain = GraphCypherQAChain.from_llm(
graph=graph,
llm=llm,
verbose=True,
return_intermediate_steps=True
)
# Question
result = chain.invoke(
"Quels discours de Charles de Gaulle parlent de la résistance ?"
)
print(result["result"])
print(result["intermediate_steps"]) # Affiche la requête Cypher générée
Avec RDF et SPARQL
from langchain.chains import GraphSparqlQAChain
from langchain_community.graphs import RdfGraph
from langchain_openai import ChatOpenAI
# Connexion au triple store
graph = RdfGraph(
query_endpoint="http://localhost:3030/ds/sparql",
update_endpoint="http://localhost:3030/ds/update"
)
chain = GraphSparqlQAChain.from_llm(
graph=graph,
llm=ChatOpenAI(model="gpt-4")
)
result = chain.invoke("Qui a prononcé l'Appel du 18 juin ?")
Version locale avec Ollama + Neo4j
from langchain_community.llms import Ollama
from langchain.chains import GraphCypherQAChain
# LLM local (Mistral, Llama)
llm = Ollama(model="mistral", temperature=0)
chain = GraphCypherQAChain.from_llm(
graph=graph,
llm=llm,
verbose=True
)
result = chain.invoke("Quels sont les discours de Victor Hugo ?")
06
🧠 Raisonnement augmenté par graphe
Les LLM seuls échouent sur les tâches de raisonnement relationnel. Le graphe résout ce problème.
🔍 Exemple : Raisonnement transitif
Question : "Est-ce que Victor Hugo est un auteur du XIXe siècle ?"
Données dans le graphe :
Victor Hugo → a écrit → Les Misérables
Les Misérables → publié en → 1862
1862 → est dans le → XIXe siècle
Inférence (graphe) : Victor Hugo → est un auteur du → XIXe siècle
LLM + Graphe : "Oui, Victor Hugo est un auteur du XIXe siècle car Les Misérables a été publié en 1862." (source citée)
🔍 Exemple : Parcours multi-relations
Question : "Quels discours citent l'Appel du 18 juin ?"
Graphe : DiscoursX → cite → DiscoursY
Parcours des relations "cite" pour trouver tous les discours qui citent l'Appel du 18 juin.
LLM seul : Impossible (connaissance non mémorisée)
LLM + Graphe : Succès (navigation dans les relations)
07
🎯 Cas d'usage concrets
1. Recherche documentaire augmentée
Un LLM qui interroge un graphe de documents (relations de citation, référence, dépendance).
2. Assistant juridique
Navigation dans les lois, arrêts, jurisprudences avec leurs relations (abroge, modifie, cite).
3. Support client produit
LLM + graphe de produits (compatibilités, alternatives, composants).
4. Gestion des connaissances d'entreprise
LLM + graphe des employés, projets, compétences, documents.
5. Patrimoine culturel (notre cas)
LLM + graphe des discours, orateurs, événements historiques.
🚀 Chez Le Monde Sémantique
Nous combinons LLM (GPT-4 / Mistral) avec notre graphe RDF de 50+ orateurs et 100+ discours pour une recherche sémantique et un assistant IA spécialisé.
📡 Découvrir notre API RAG →