01
📖 Qu'est-ce qu'un agent IA sémantique ?
Un agent IA sémantique est un système autonome qui utilise un LLM pour raisonner, planifier et agir sur un graphe de connaissances. Contrairement à un simple chatbot, un agent peut exécuter des requêtes, interroger des APIs et naviguer dans des graphes pour accomplir des objectifs complexes.
💡 À retenir : Un agent IA = LLM + outils + boucle de raisonnement. Le graphe de connaissances est l'un des outils les plus puissants à sa disposition.
🔄 Boucle de raisonnement d'un agent :
[Objectif] → [Penser] → [Agir (outil)] → [Observer] → [Penser] → ... → [Objectif atteint]
📝 Exemple :
Objectif : "Trouve les discours de Charles de Gaulle sur la résistance"
1. L'agent analyse la requête
2. Il décide d'utiliser l'outil "query_graph"
3. Il exécute une requête SPARQL/Cypher sur le graphe
4. Il analyse les résultats et les présente à l'utilisateur
02
🏗️ Architecture d'un agent IA
📊 Composants d'un agent :
┌─────────────────────────────────────────────────────────────┐
│ 🤖 LLM (cerveau) │
│ └── Compréhension, raisonnement, planification, génération │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 🧠 Mémoire │
│ └── Contexte de la conversation, historique des actions │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 🛠️ Outils │
│ ├── Query Graph (SPARQL/Cypher) │
│ ├── Vector Search (FAISS) │
│ ├── Web Search │
│ ├── API calls │
│ └── Code execution │
└─────────────────────────────────────────────────────────────┘
Les 4 étapes du raisonnement
1️⃣ Penser (Think) : L'agent analyse la situation et détermine la prochaine action.
2️⃣ Agir (Act) : L'agent exécute l'action via un outil.
3️⃣ Observer (Observe) : L'agent analyse le résultat de l'action.
4️⃣ Boucler (Loop) : Retour à l'étape 1 jusqu'à résolution de l'objectif.
03
🛠️ Outils et capacités
💡 Notre focus : Le graphe de connaissances est l'outil central pour notre agent. Il lui permet d'accéder à des connaissances structurées et de raisonner sur les relations.
04
🕸️ Agent sur graphe de connaissances
Un agent spécialisé sur un graphe de connaissances peut :
- ✅ Naviguer : explorer les relations entre entités
- ✅ Inférer : déduire des connaissances implicites
- ✅ Planifier : décomposer une requête complexe en étapes
- ✅ Expliquer : justifier ses réponses par le chemin dans le graphe
Exemple de raisonnement
Objectif: "Quels orateurs ont influencé Victor Hugo ?"
Étape 1: L'agent cherche les relations "influence" dans le graphe
Étape 2: Il trouve Victor Hugo → a été influencé par → François-René de Chateaubriand
Étape 3: Il continue la navigation: Chateaubriand → a influencé → Victor Hugo
Étape 4: Synthèse: "Victor Hugo a été influencé par Chateaubriand"
Le graphe permet de naviguer de relation en relation jusqu'à trouver la réponse.
📊 Avantage par rapport au RAG simple :
- RAG : trouve des documents pertinents, puis répond
- Agent : peut enchaîner plusieurs actions (requêtes, analyses, nouvelles requêtes)
- Exemple : "Compare les discours de De Gaulle et de Macron sur l'Europe"
- → L'agent exécute 2 requêtes, compare les résultats, synthétise
05
🧩 Frameworks de développement
| Framework | Langage | Description |
| LangChain
| Python
| Le plus populaire. Agents, outils, chaînes, mémoire
|
| AutoGen (Microsoft)
| Python
| Agents conversationnels multi-agents
|
| CrewAI
| Python
| Équipes d'agents spécialisés
|
| Semantic Kernel
| C#/Python
| Framework Microsoft, intégration avec leurs services
|
💡 Notre recommandation : LangChain est le framework le plus mature et le mieux documenté pour construire des agents sur graphes de connaissances.
06
💻 Implémentation pratique
Agent simple avec LangChain et Neo4j
from langchain.agents import create_agent
from langchain_community.graphs import Neo4jGraph
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
# Connexion au graphe
graph = Neo4jGraph(
url="bolt://localhost:7687",
username="neo4j",
password="password"
)
# Outil pour interroger le graphe
def query_graph(query: str) -> str:
results = graph.query(query)
return str(results)
graph_tool = Tool(
name="query_graph",
func=query_graph,
description="Exécute une requête Cypher sur le graphe de connaissances"
)
# Agent
llm = ChatOpenAI(model="gpt-4", temperature=0)
agent = create_agent(
llm=llm,
tools=[graph_tool],
system_prompt="Tu es un expert en histoire des discours. Utilise le graphe pour répondre."
)
# Exécution
result = agent.run("Quels sont les discours de Charles de Gaulle sur la résistance ?")
print(result)
Agent avec mémoire et planification
from langchain.memory import ConversationBufferMemory
from langchain.agents import AgentExecutor, create_react_agent
# Mémoire pour suivre la conversation
memory = ConversationBufferMemory(
memory_key="chat_history",
return_messages=True
)
# Agent avec planification
agent_executor = AgentExecutor.from_agent_and_tools(
agent=agent,
tools=[graph_tool, vector_search_tool],
memory=memory,
verbose=True,
max_iterations=5 # limite le nombre d'étapes
)
result = agent_executor.invoke({
"input": "Compare les discours de De Gaulle et Macron sur l'Europe"
})
Agent LangGraph (nouvelle génération)
from langgraph.graph import StateGraph, MessageGraph
# Définition du graphe d'états
workflow = StateGraph(AgentState)
# Ajout des nœuds
workflow.add_node("reason", reason_node) # raisonnement
workflow.add_node("act", act_node) # action (outil)
workflow.add_node("observe", observe_node) # observation
# Ajout des transitions
workflow.add_edge("reason", "act")
workflow.add_edge("act", "observe")
workflow.add_conditional_edge("observe", should_continue)
# Compilation et exécution
app = workflow.compile()
result = app.invoke({"input": "Qui a influencé Victor Hugo ?"})
07
🎯 Cas d'usage des agents IA sémantiques
1. Assistant de recherche académique
Agent qui navigue dans les articles, citations, auteurs et conférences.
2. Support client multi-étapes
Agent qui interroge la base de connaissances, puis une API de stock, puis propose une solution.
3. Analyse financière
Agent qui collecte des données, les analyse, génère des rapports.
4. Gestion de projet automatisée
Agent qui planifie, assigne des tâches, suit l'avancement.
5. Exploration de graphe (notre cas)
Agent qui navigue dans notre graphe d'orateurs et discours pour répondre à des questions complexes.
🚀 Chez Le Monde Sémantique
Nous développons un agent IA capable de naviguer dans notre graphe de 50+ orateurs et 100+ discours pour répondre à des questions complexes et multi-étapes.
📡 Découvrir notre API RAG →