> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Base de connaissances (RAG)

> Permettez aux assistants de répondre à partir de vos documents grâce à la génération augmentée par récupération

Une base de connaissances rend vos documents consultables **pendant un appel en direct**. Lorsque l'appelant pose une question couverte par vos contenus — tarifs, politiques, horaires d'ouverture, détails produits —, l'assistant récupère les passages pertinents et y puise sa réponse au lieu de deviner.

## Fonctionnement

1. **Importez** des documents dans une base de connaissances : PDF, Word (DOCX), HTML ou texte brut.
2. La plateforme **extrait le texte, le découpe en fragments qui se chevauchent** (environ 500 tokens) et calcule les embeddings vectoriels.
3. Chaque document suit une chaîne de statuts : `processing → ready` (ou `error` avec un message). Mettre à jour un document déclenche automatiquement sa réindexation.
4. Associez la base de connaissances à un assistant. Pendant les appels, l'assistant dispose d'un outil `search_knowledgebase` qu'il utilise chaque fois que la question le justifie.
5. La récupération est sémantique (similarité vectorielle) : l'appelant n'a donc pas besoin d'utiliser la formulation exacte de votre document.

<Note>
  Pendant qu'il effectue une recherche, l'assistant peut prononcer une courte phrase de transition (« Laissez-moi vérifier ça… ») pour que l'appelant n'entende jamais de silence. Chaque recherche est enregistrée comme un événement d'appel, visible dans le détail de l'appel.
</Note>

## Créer une base de connaissances

<Steps>
  <Step title="Créer">
    Allez dans **Bases de connaissances → Nouveau**, donnez-lui un nom et une brève description. Cette description est présentée à l'assistant — rédigez-la comme un indice : *« Tarifs, horaires d'ouverture et politique d'annulation d'Example GmbH. »*
  </Step>

  <Step title="Importer les documents">
    Glissez-déposez vos fichiers PDF, DOCX, HTML ou texte. Attendez que chacun atteigne le statut **ready**.
  </Step>

  <Step title="Tester la recherche">
    Utilisez la **recherche de test** intégrée pour poser des questions types à l'index et vérifier quels fragments remontent — avant qu'un appelant ne le fasse.
  </Step>

  <Step title="Associer à un assistant">
    Dans l'éditeur d'assistant, sélectionnez la base de connaissances. C'est tout — aucune modification du prompt n'est nécessaire.
  </Step>
</Steps>

## Rédiger des documents qui se prêtent bien à la récupération

* Privilégiez des **sections autonomes** : un titre suivi des informations qui s'y rapportent. Les fragments sont récupérés individuellement, chaque section doit donc avoir du sens à elle seule.
* Placez les **chiffres et conditions directement dans le texte**, pas uniquement dans des tableaux répartis sur plusieurs pages.
* Évitez les documents en double ou contradictoires : la récupération risque de faire remonter les deux.
* Dans la mesure du possible, gardez un seul sujet par document (pricing.pdf, faq.pdf, policy.pdf).

## Explorer un site web

Plutôt que d'importer vos fichiers un par un, vous pouvez pointer une base de connaissances vers un **site web** et laisser le robot d'exploration récupérer les pages à votre place. Chaque page explorée devient un document de la base de connaissances et est indexée exactement comme un fichier importé.

<Steps>
  <Step title="Ajouter une source d'exploration">
    Dans la base de connaissances, ajoutez une **source d'exploration** avec une **URL racine** (par exemple `https://example.com/docs`). Vous pouvez éventuellement la restreindre à des préfixes de chemin (**chemins inclus**, par exemple `/docs`), exclure des sections avec des **chemins exclus** (par exemple `/admin`), et définir une limite de **pages maximum** (1 à 500, 50 par défaut).
  </Step>

  <Step title="Lancer l'exploration">
    Déclenchez une exploration. Le robot lit `robots.txt`, puis découvre les pages via `sitemap.xml` (ou, à défaut, en suivant les liens du même hôte depuis la page racine), extrait le texte principal de chaque page et l'indexe.
  </Step>

  <Step title="Garder la base à jour (optionnel)">
    Activez la **synchronisation automatique** et un **intervalle de synchronisation** (en heures). La plateforme réexplore le site selon ce calendrier. Les pages dont le contenu n'a pas changé sont ignorées automatiquement : pas de recalcul d'embeddings, pas de coût supplémentaire.
  </Step>
</Steps>

<Note>
  L'exploration de sites web et la synchronisation automatique sont des **fonctionnalités liées au plan** (à activer sur votre offre) et sont facturées en **crédits d'utilisation par page explorée** (seules les pages nouvelles ou modifiées sont comptabilisées). Réexplorer un site inchangé est donc pratiquement gratuit. Si votre solde de crédits s'épuise en cours d'exploration, l'exécution s'arrête proprement : les pages déjà récupérées sont conservées et la source affiche le statut `error` avec le message *crédits insuffisants*.
</Note>

### Limites du robot d'exploration

* **HTML statique uniquement** — pas de rendu JavaScript. Les applications monopages qui génèrent leur contenu côté client (sans HTML côté serveur) ne produiront que peu, voire pas du tout, de texte exploitable.
* **Même hôte uniquement.** Les liens vers d'autres domaines ne sont pas suivis.
* **Pages texte uniquement** — les réponses non HTML et les pages de plus de 2 Mo sont ignorées. Les fichiers liés (PDF, etc.) ne sont pas téléchargés pendant l'exploration ; ajoutez-les plutôt sous forme d'URL de document.
* **Politesse d'exploration** : 2 requêtes en parallèle maximum, avec un court délai entre elles, et les règles `Disallow` du `robots.txt` sont respectées.

## Limites et plans

Le nombre de bases de connaissances par compte est une limite liée au plan (`max_knowledgebases`). L'exploration de sites web facture des crédits par page explorée (voir la remarque ci-dessus).

Chaque base de connaissances a également des plafonds fixes :

| Ressource                               | Limite                                |
| --------------------------------------- | ------------------------------------- |
| Fichiers                                | 25 par base (20 Mo max chacun)        |
| URL (pages unitaires + pages explorées) | 500                                   |
| Extraits de texte                       | 50                                    |
| CSV / TSV                               | 1 000 lignes et 50 colonnes           |
| Chemins exclus du crawl                 | 200 par source, 500 au total par base |
