
Comment effectuer une récupération d’informations agent
est une tâche importante et essentielle à réaliser, compte tenu de la grande quantité de contenu disponible aujourd’hui. Une tâche de récupération d’informations est, par exemple, chaque fois que vous recherchez quelque chose sur Google ou que vous demandez à ChatGPT une réponse à une question. Les informations que vous recherchez peuvent provenir d’un ensemble de données fermé de documents ou de l’intégralité d’Internet.
Dans cet article, je discuterai de la recherche d’informations agentique, en expliquant comment la récupération d’informations a changé avec la sortie des LLM, et en particulier avec la montée en puissance des agents IA, qui sont beaucoup plus capables de trouver des informations que ce que nous avons vu jusqu’à présent. Je parlerai d’abord de RAG, car il s’agit d’un élément fondamental de la recherche d’informations agentiques. Je continuerai ensuite en discutant de manière générale de la manière dont les agents d’IA peuvent être utilisés pour trouver des informations.

Pourquoi avons-nous besoin de recherche d’informations agent
La recherche d’informations est une tâche relativement ancienne. TF-IDF est le premier algorithme utilisé pour rechercher des informations dans un vaste corpus de documents. Il fonctionne en indexant vos documents en fonction de la fréquence des mots dans des documents spécifiques et de la fréquence d’un mot dans tous les documents.
Si un utilisateur recherche un mot et que ce mot apparaît fréquemment dans quelques documents, mais rarement dans tous les documents, cela indique une forte pertinence pour ces quelques documents.
La récupération d’informations est une tâche très critique car, en tant qu’êtres humains, nous dépendons grandement de la recherche rapide d’informations pour résoudre différents problèmes. Ces problèmes pourraient être :
- Comment cuisiner un repas spécifique
- Comment implémenter un certain algorithme
- Comment se rendre de l’emplacement A -> B
TF-IDF fonctionne toujours étonnamment bien, même si nous avons maintenant découvert des approches encore plus puissantes pour trouver des informations. La génération augmentée de récupération (RAG) est une technique efficace, s’appuyant sur la similarité sémantique pour trouver des documents utiles.
La recherche d’informations agentiques utilise différentes techniques telles que la recherche par mot-clé (TF-IDF, par exemple, mais généralement des versions modernisées de l’algorithme, telles que BM25) et RAG, pour trouver des documents pertinents, les parcourir et renvoyer les résultats à l’utilisateur.
Construisez votre propre RAG

Construire votre propre RAG est étonnamment simple avec toute la technologie et les outils disponibles aujourd’hui. Il existe de nombreux packages qui vous aident à implémenter RAG. Cependant, ils reposent tous sur la même technologie sous-jacente, relativement basique :
- Intégrez votre corpus de documents (vous divisez également généralement les documents)
- Stocker les intégrations dans une base de données vectorielle
- L’utilisateur saisit une requête de recherche
- Intégrer la requête de recherche
- Recherchez la similarité d’intégration entre le corpus de documents et la requête de l’utilisateur, et renvoyez les documents les plus similaires.
Cela peut être mis en œuvre en quelques heures seulement si vous savez ce que vous faites. Pour embarquer vos données et requêtes utilisateurs, vous pouvez par exemple utiliser :
- Services gérés tels que
- Text-embedding-large-3 d’OpenAI
- gemini-embedding-001 de Google
- Options open source comme
- Qwen-embedding-8B d’Alibaba
- Linq-Embed-Mistral de Mistral
Après avoir intégré vos documents, vous pouvez les stocker dans une base de données vectorielle telle que :
Après cela, vous êtes pratiquement prêt à exécuter RAG. Dans la section suivante, je couvrirai également les solutions RAG entièrement gérées, dans lesquelles il vous suffit de télécharger un document et où toutes les tâches de segmentation, d’intégration et de recherche sont gérées pour vous.
Services RAG gérés
Si vous souhaitez une approche plus simple, vous pouvez également utiliser des solutions RAG entièrement gérées. Voici quelques options :
- Ragie.ai
- Outil de recherche de fichiers Gemini
- Outil de recherche de fichiers OpenAI
Ces services simplifient considérablement le processus RAG. Vous pouvez télécharger des documents vers n’importe lequel de ces services, et les services gèrent automatiquement le regroupement, l’intégration et l’inférence pour vous. Tout ce que vous avez à faire est de télécharger vos documents bruts et de fournir la requête de recherche que vous souhaitez exécuter. Le service vous fournira ensuite les documents pertinents à vos requêtes, que vous pourrez alimenter dans un LLM pour répondre aux questions des utilisateurs.
Même si le RAG géré simplifie considérablement le processus, je voudrais également souligner quelques inconvénients :
Si vous ne disposez que de fichiers PDF, vous pouvez les télécharger directement. Cependant, certains types de fichiers ne sont actuellement pas pris en charge par les services RAG gérés. Certains d’entre eux ne prennent pas en charge les fichiers PNG/JPG, par exemple, ce qui complique le processus. Une solution consiste à effectuer une OCR sur l’image et à télécharger le fichier txt (qui est pris en charge), mais cela complique bien sûr votre application, ce qui est exactement la chose que vous souhaitez éviter lorsque vous utilisez RAG géré.
Un autre inconvénient bien sûr est que vous devez télécharger des documents bruts vers les services. Ce faisant, vous devez vous assurer de rester conforme, par exemple, aux réglementations GDPR de l’UE. Cela peut être un défi pour certains services RAG gérés, même si je sais qu’OpenAI prend au moins en charge la résidence dans l’UE.
Je vais également fournir un exemple d’utilisation Outil de recherche de fichiers d’OpenAIqui est naturellement très simple à utiliser.
Tout d’abord, vous créez un magasin de vecteurs et téléchargez des documents :
from openai import OpenAI
client = OpenAI()
# Create vector store
vector_store = client.vector_stores.create(
name="<your vector store name>",
)
# Upload file and add it to the vector store
client.vector_stores.files.upload_and_poll(
vector_store_id=vector_store.id,
file=open("filename.txt", "rb")
)
Après avoir téléchargé et traité les documents, vous pouvez les interroger avec :
user_query = "What is the meaning of life?"
results = client.vector_stores.search(
vector_store_id=vector_store.id,
query=user_query,
)
Comme vous pouvez le remarquer, ce code est beaucoup plus simple que de configurer des modèles d’intégration et des bases de données vectorielles pour créer vous-même RAG.
Outils de recherche d’informations
Maintenant que nous disposons des outils de recherche d’informations facilement disponibles, nous pouvons commencer à effectuer une recherche d’informations agentique. Je commencerai par l’approche initiale consistant à utiliser les LLM pour la recherche d’informations, avant de continuer avec l’approche améliorée et mise à jour.
Récupération, puis réponse
La première approche consiste à commencer par récupérer les documents pertinents et à transmettre ces informations à un LLM avant qu’il ne réponde à la question de l’utilisateur. Cela peut être fait en exécutant à la fois une recherche par mot-clé et une recherche RAG, en trouvant les X documents les plus pertinents et en introduisant ces documents dans un LLM.
Tout d’abord, trouvez quelques documents avec RAG :
user_query = "What is the meaning of life?"
results_rag = client.vector_stores.search(
vector_store_id=vector_store.id,
query=user_query,
)
Ensuite, trouvez quelques documents avec une recherche par mot-clé
def keyword_search(query):
# keyword search logic ...
return results
results_keyword_search = keyword_search(query)
Ajoutez ensuite ces résultats, supprimez les documents en double et transmettez le contenu de ces documents à un LLM pour y répondre :
def llm_completion(prompt):
# llm completion logic
return response
prompt = f"""
Given the following context {document_context}
Answer the user query: {user_query}
"""
response = llm_completion(prompt)
Dans de nombreux cas, cela fonctionne très bien et fournira des réponses de haute qualité. Cependant, il existe une meilleure façon d’effectuer une recherche d’informations agentique.
La recherche d’informations fonctionne comme un outil
Les LLM les plus récents sont tous formés en pensant au comportement agent. Cela signifie que les LLM sont très doués pour utiliser des outils pour répondre aux requêtes. Vous pouvez fournir à un LLM une liste d’outils, qu’il décide lui-même quand utiliser et qu’il peut utiliser pour répondre aux requêtes des utilisateurs.
La meilleure approche consiste donc à fournir des outils de recherche RAG et par mots clés pour vos LLM. Pour GPT-5, vous pouvez, par exemple, procéder comme ci-dessous :
# define a custom keyword search function, and provide GPT-5 with both
# keyword search and RAG (file search tool)
def keyword_search(keywords):
# perform keyword search
return results
user_input = "What is the meaning of life?"
tools = [
{
"type": "function",
"function": {
"name": "keyword_search",
"description": "Search for keywords and return relevant results",
"parameters": {
"type": "object",
"properties": {
"keywords": {
"type": "array",
"items": {"type": "string"},
"description": "Keywords to search for"
}
},
"required": ["keywords"]
}
}
},
{
"type": "file_search",
"vector_store_ids": ["<vector_store_id>"],
}
]
response = client.responses.create(
model="gpt-5",
input=user_input,
tools=tools,
)
Cela fonctionne beaucoup mieux car vous n’exécutez pas une recherche d’informations ponctuelle avec une recherche RAG/mot-clé, puis vous répondez à la question de l’utilisateur. Cela fonctionne bien parce que :
- L’agent peut décider lui-même quand utiliser les outils. Certaines requêtes, par exemple, ne nécessitent pas de recherche vectorielle
- OpenAI effectue automatiquement la réécriture des requêtes, ce qui signifie qu’il exécute des requêtes RAG parallèles avec différentes versions de la requête utilisateur (qu’il écrit lui-même, en fonction de la requête utilisateur).
- L’agent peut décider d’exécuter davantage de requêtes RAG/recherches par mots clés s’il estime ne pas disposer de suffisamment d’informations.
Le dernier point de la liste ci-dessus est le point le plus important pour la recherche d’informations agentiques. Parfois, vous ne trouvez pas l’information que vous recherchez lors de la requête initiale. L’agent (GPT-5) peut déterminer que tel est le cas et choisir de lancer davantage de requêtes de recherche RAG/mot-clé s’il le juge nécessaire. Cela conduit souvent à de bien meilleurs résultats et rend l’agent plus susceptible de trouver les informations que vous recherchez.
Conclusion
Dans cet article, j’ai couvert les bases de la récupération agentique d’informations. J’ai commencé par expliquer pourquoi les informations agents sont si importantes, en soulignant à quel point nous sommes fortement dépendants d’un accès rapide à l’information. De plus, j’ai couvert les outils que vous pouvez utiliser pour la récupération d’informations avec la recherche par mot clé et RAG. J’ai ensuite souligné que vous pouvez exécuter ces outils de manière statique avant de transmettre les résultats à un LLM, mais la meilleure approche consiste à transmettre ces outils à un LLM, ce qui en fait un agent capable de trouver des informations. Je pense que la recherche d’informations agentiques sera de plus en plus importante à l’avenir, et comprendre comment utiliser les agents d’IA sera une compétence importante pour créer de puissantes applications d’IA dans les années à venir.
👉 Retrouvez-moi sur les réseaux sociaux :
💻 Mon webinaire sur les modèles de langage de vision
📩 Abonnez-vous à ma newsletter
✍️ Moyen
Vous pouvez également lire mes autres articles :



