Tous les guides
IntermédiaireÀ votre rythmeGuide gratuitSection 20/27

RAG pour entreprise

Explorez l’IA pour les opérations marketing et commerciales : CRM, suivi des prospects, workflows et mesure des résultats. Travaillez les contrôles sur des exemples pédagogiques.

💡

Contenu gratuit, accessible sans compte. Les outils et modèles évoluent : consultez le dossier actuel pour vérifier leurs versions. Modèles et sources

Section 14.6.3 : RAG pour entreprise

🎯 Objectif pédagogique

Implémenter un système RAG (Retrieval-Augmented Generation) pour permettre aux agents IA d'accéder à la knowledge base de l'entreprise et de fournir des réponses précises basées sur les données internes.


RAG : donner de la mémoire à l'IA

Le RAG permet à un LLM de répondre en se basant sur vos documents internes plutôt que sur ses connaissances générales. C'est la technologie fondamentale derrière les agents IA d'entreprise.

Loading diagram…

Implémentation RAG pour RevOps

# RAG pipeline pour knowledge base RevOps

from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Pinecone
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA

# 1. Préparer les documents
def prepare_documents(sources):
    """Charger et découper les documents"""
    all_docs = []

    # Playbooks de vente (Notion)
    playbooks = notion.get_pages(database_id="sales_playbooks")
    all_docs.extend(playbooks)

    # FAQ support (Intercom)
    faqs = intercom.get_articles()
    all_docs.extend(faqs)

    # Documentation produit (Confluence)
    docs = confluence.get_pages(space="PRODUCT")
    all_docs.extend(docs)

    # Découpage en chunks
    splitter = RecursiveCharacterTextSplitter(
        chunk_size=1000,
        chunk_overlap=200,
        separators=["\n## ", "\n### ", "\n\n", "\n", " "]
    )

    chunks = splitter.split_documents(all_docs)
    return chunks

# 2. Indexer dans le vector store
def index_documents(chunks):
    embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
    vectorstore = Pinecone.from_documents(
        chunks,
        embeddings,
        index_name="revops-knowledge"
    )
    return vectorstore

# 3. Créer la chaîne RAG
def create_rag_chain(vectorstore):
    llm = ChatOpenAI(model="gpt-4", temperature=0)
    retriever = vectorstore.as_retriever(
        search_type="mmr",  # Maximum Marginal Relevance
        search_kwargs={"k": 5, "fetch_k": 20}
    )

    chain = RetrievalQA.from_chain_type(
        llm=llm,
        chain_type="stuff",
        retriever=retriever,
        return_source_documents=True
    )

    return chain

# Usage
chain = create_rag_chain(vectorstore)
result = chain({"query": "Quel est le processus de qualification BANT ?"})
print(result["result"])  # Réponse basée sur VOS playbooks
print(result["source_documents"])  # Sources citées

Bonnes pratiques RAG en entreprise

## Pièges courants et solutions

### Piège 1 : Chunks trop grands ou trop petits
- Trop grands : contexte dilué, réponses vagues
- Trop petits : perte de contexte
- Solution : chunks de 500-1500 tokens avec overlap de 100-200

### Piège 2 : Pas de metadata
- Sans metadata, impossible de filtrer par source/date/type
- Solution : toujours ajouter source, date, type, auteur, département

### Piège 3 : Données obsolètes
- Le RAG renvoie des infos périmées (ancien pricing, anciens process)
- Solution : pipeline de sync automatique + date de fraîcheur dans le prompt

### Piège 4 : Hallucinations malgré le RAG
- Le LLM peut "inventer" en combinant des sources incompatibles
- Solution : prompt "Réponds UNIQUEMENT à partir des sources fournies.
  Si l information n est pas dans les sources, dis-le."

### Piège 5 : Sécurité des données
- Tous les employés ne doivent pas voir toutes les données
- Solution : contrôle d accès au niveau du retriever (filtrer par rôle)

Vector databases pour RAG enterprise

BaseTypeForcePrix
PineconeManaged cloudSimple, scalable, rapideFree tier + $70+/mois
WeaviateOpen source / cloudHybrid search (vector + keyword)Free (self-hosted) ou cloud
ChromaOpen sourceSimple, local, bon pour prototypageGratuit
QdrantOpen source / cloudPerformance, filtres avancésFree (self-hosted) ou cloud
pgvectorExtension PostgreSQLSi déjà sur PostgreSQLGratuit (extension)

← Scroll horizontally →

Vérification rapide

Pourquoi le RAG est-il préférable au fine-tuning pour une knowledge base d'entreprise ?

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Votre progression

Cette progression est déclarative et conservée dans votre navigateur. L’attestation finale ne constitue pas un diplôme ni une évaluation indépendante.

Voir ma progression et mon attestation

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Un cas pratique IA dans votre boîte mail

Méthodes, ressources et nouveaux exercices. Gratuit, avec désinscription à tout moment.