All guides
IntermediateSelf-pacedFree GuideSection 20/27

RAG pour entreprise

Explore AI for marketing and sales operations: CRM, prospect follow-up, workflows and measurement. Practise checks using educational examples.

The full lessons for this course are currently available in French. Use the section menu to navigate the French course.

💡

Free content, available without an account. Tools and models change: use the current model guide to check their versions. Models and 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 →

Quick Check

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

Learn AI, from prompts to agents

15 free guidesQuizzes, diagrams and workshopsNo account needed

Your progress

Progress is self-reported and stored in your browser. The final completion record is not a qualification or an independent assessment.

View progress and completion record

Learn AI, from prompts to agents

15 free guidesQuizzes, diagrams and workshopsNo account needed

One practical AI workflow in your inbox

Methods, resources and new exercises. Free, unsubscribe at any time.