Skip to main content

Qu’est-ce que la RAG?

La génération augmentée par récupération (RAG, pour Retrieval-Augmented Generation) fournit aux grands modèles de langage (LLM) des renseignements pertinents et à jour tirés de sources de données externes, comme la base de connaissances interne ou le référentiel de documents d’une entreprise. Sans contrôles d’accès adéquats, un pipeline RAG pourrait récupérer des documents contenant des renseignements sensibles (p. ex., rapports financiers, documents RH, plans stratégiques) et s’en servir pour générer une réponse destinée à un utilisateur qui ne devrait pas avoir accès à ces données. Il pourrait en résulter de graves violations de données et des manquements à la conformité. Un simple filtrage fondé sur les rôles des utilisateurs suffit rarement à gérer les autorisations complexes, basées sur les relations, qu’on retrouve dans les applications concrètes.

Qu’est-ce que l’autorisation pour la RAG?

Auth0 Fine-Grained Authorization (FGA) met en œuvre le contrôle d’accès basé sur les relations (ReBAC) dans vos pipelines RAG en dissociant votre logique d’autorisation du code de votre application. Plutôt que d’intégrer des règles d’autorisation complexes directement dans votre application, vous définissez un modèle d’autorisation et stockez les données relationnelles dans Auth0 FGA. Votre application peut ensuite interroger Auth0 FGA lors de l’exécution pour prendre des décisions d’accès en temps réel.

Fonctionnement

L’intégration d’Auth0 FGA dans votre pipeline RAG garantit que chaque document est vérifié en fonction des autorisations de l’utilisateur avant d’être transmis au LLM.
Autorisation pour RAGAutorisation pour RAG

Autorisation pour RAG

Le flux Auth0 FGA comporte les étapes suivantes :
1

Modèle d’autorisation

Vous commencez par définir votre modèle d’autorisation dans Auth0 FGA. Ce modèle précise les types d’objets (p. ex., document), les relations possibles entre les utilisateurs et les objets (p. ex., owner, editor, viewer) ainsi que les règles qui régissent l’accès.
2

Stocker les relations

Vous stockez les autorisations sous forme de « tuples » dans Auth0 FGA. Le tuple est l’élément de données fondamental : il représente une relation précise au format (user, relation, object). Par exemple, user:anne est un viewer de document:2024-financials.
3

Récupérer et filtrer

Lorsqu’un utilisateur soumet une requête à votre agent d’IA, votre système côté serveur récupère d’abord les documents pertinents dans une base de données vectorielle, puis appelle Auth0 FGA pour vérifier les autorisations. Cet appel pose la question : « Cet utilisateur a-t-il le droit de consulter ces documents? » Nos SDK pour cadres d’applications d’IA s’occupent de cette étape pour vous : il suffit d’ajouter un filtre à votre outil de récupération.
4

Récupération sécurisée

Auth0 FGA détermine si l’utilisateur est autorisé à accéder aux documents. Le système côté serveur de votre application utilise ces données pour filtrer les résultats de la base de données vectorielle et n’envoie au LLM que les documents autorisés.

Premiers pas

Pour commencer à utiliser Auth0 FGA dans vos agents d’IA, consultez les ressources suivantes :

Guides de démarrage rapide

Autorisation pour la RAG

Premiers pas avec Auth0 FGA

Exemples d’applications

Assistant0 : Next.js + Vercel AI SDK

Assistant0 : Next.js + LangGraph

Assistant0 : FastAPI + LangGraph

Assistant0 : Next.js + LlamaIndex

Assistant0 : FastAPI + LlamaIndex

SmartHR Assistant : Next.js + LangChain

Exemples d'IA : plusieurs cadres d'applications

Exemples TypeScript du SDK Auth0 AI

Exemples Python du SDK Auth0 AI

Apprendre davantage

Documentation d'Auth0 FGA

Documentation d'OpenFGA