Base de connaissances et documentation
base de connaissances est un entrepôt de documents à long terme d'Aivory : un ensemble de documents est téléchargé une seule fois, puis chaque conversation peut le charger en réponse à une question de recherche, et les réponses apportent automatiquement des références à la source. Cette page couvre la création de base de connaissances, la bibliothèque de documents, l'utilisation de la conversation, les principes de recherche et la liste complète des résultats de recherche.

Parallèlement à la base de connaissances, il existe deux domaines de documentation qui partagent le même ensemble de moteurs d'analyse et de recherche :
| Champ d’action | Emplacement de stockage | Le champ de recherche | Utilisation typique |
|---|---|---|---|
| Conversation Documents temporaires | Téléchargez cette conversation. | Seule la conversation | Une réponse à “Aidez-moi à lire ce PDF” |
| Base de connaissances | Une base de connaissances indépendante | Tout ce qu’il y a dans la conversation. | Des données à long terme réutilisables |
| Base de connaissances du projet | Projets | Toutes les conversations de ce projet | Informations sur le thème, voir Espace de travail d’équipe Les fonctions du projet |
Conditions préalables
La base de connaissances dépend de trois catégories de compétences d'arrière-plan, dont l'absence dégrade le comportement en ce qui suit :
| dépendant | Rôle | Le comportement lorsqu’il n’est pas déployé |
|---|---|---|
Modèle d’emballage (kind='embedding' Modèle ou variable de l'environnement | La documentation et la quantification des requêtes | Impossible de compléter l'emballage, les grands documents ne peuvent pas être récupérés; les petits documents peuvent toujours être injectés dans leur intégralité |
Qdrant(QDRANT_URL) | Recherche de vecteur dense | Retourner à la version complète de RAG. |
| MinerU + stockage d'objets (S3 / Ali Cloud OSS) | Écran de pièces PDF, documents Office, résolution en nuage d'images et OCR | L'analyse de documents non textuels a échoué, les documents de base de connaissances ont été marqués comme échoués |
- Produire Docker Compose avec le conteneur Qdrant intégré, voir Déploiement de Docker Compose。
- modèle d'embedding est configuré dans la console d'administration « canal / modèle » : sous un canal de type OpenAI, remplissez le nom et la dimension du modèle de la demande, toute exposition à OpenAI
/v1/embeddingsLes services de format (OpenAI, Voyage, déploiement indépendant BGE-M3 etc.) sont disponibles. Canal et modèle与Configuration centrale。 - Les adresses API, les jetons et les identifiants de stockage d'objet de MinerU sont configurés sur la page Documents de la console d'administration pour être sauvegardés et ne nécessitent pas de redémarrage.
Tous les vecteurs de la même base de connaissances (y compris les vecteurs de requête lors de la question) doivent provenir du même modèle d'embedding, l'espace vectoriel des différents modèles est incompatible.
Créer une base de connaissances
Entrée : dans le menu « base de connaissances » en bas de la barre latérale, accédez à la page de la liste de base de connaissances et appuyez sur « Nouveau base de connaissances ».
Créer un champ de conversation :
| champs | obligatoire | Expliquer |
|---|---|---|
| Le nom | 是 | Impossible de renommer le même compte dans le même espace |
| décrire | 否 | Pour vous aider à comprendre ce qu'est cette bibliothèque. |
| Modèle d'embedding | 是 | Sélectionnez d'un modèle d'embedding activé par l'administrateur pour afficher le nom et la dimension de chaque modèle (par exemple, dim 1536) |
** Détermination automatique des dimensions **: La dimension vectorielle dépend de la configuration du modèle d'embedding sélectionné et n'est pas nécessaire ou impossible à remplir manuellement. Une carte de liste est créée pour afficher le vecteur N. La base de connaissances de la même dimension partage une collection dans Qdrant, isolant les locataires en fonction de la charge payload.
Après avoir téléchargé le premier document, le modèle d'embedding est verrouillé et détermine l'espace vectoriel de l'ensemble de la bibliothèque. Une erreur n'empêche que la restauration de la bibliothèque. Plusieurs bases de connaissances Utilisez le même modèle d'embedding si vous avez l'intention de le charger en même temps dans la même conversation (consultez la section 5 de la liste ci-dessous).
Le nombre de bases de connaissances que les utilisateurs normaux peuvent créer est limité par le groupe d'utilisateurs (le nombre maximal de bases de connaissances est défini par l'administrateur sur la page d'édition du groupe d'utilisateurs, 0 indiquant un nombre illimité), voir Utilisateurs et quotas。
Télécharger le fichier
Pour accéder à la page de détails de la base de connaissances, appuyez sur « Télécharger le document ». La zone Télécharger la conversation contient deux pages d’étiquettes :
- ** Envoyer des documents ** Choisir des documents locaux ;
- ** Insérer le texte ** Insérer directement un texte comme document dans la bibliothèque, adapté aux notes fragmentées.
Types de fichiers pris en charge et parcours d'analyse
| Types | Méthode d’analyse | vitesse |
|---|---|---|
| Texte pur (txt / md / csv / log / json / yaml / xml / html) | La lecture locale, comme Markdown, entre dans le bloc. | Millimètre secondaire |
| PDF (avec une couche de texte) | L'extraction instantanée de la couche de texte local ne contient pas d'OCR. | secondaire |
| PDF (partie numérisée / sans couche de texte) | Le nuage OCR | Le nombre de minutes dépend du nombre de pages. |
| DOC / DOCX / PPT / PPTX / XLS / XLSX / Photo | Analyse dans le nuage MinerU (y compris l'identification des tables et des formules) | Minute de niveau |
Règles de détermination du scanner: le document contient des images et une densité de texte inférieure à 200 caractères par page est considéré comme un scanner, prenez MinerU OCR; autrement, il est extrait localement, le temps OCR de la fleur ne passe que là où il est vraiment nécessaire.
L'extension réellement téléchargeable est soumise à la liste blanche de téléchargement de l'administrateur et au contrôle du plafond de la taille (console d'administration "document" page), le fichier de téléchargement est refusé et indique un plafond spécifique.
Lors de l'analyse de documents non textuels, le fichier d'origine tombe dans votre propre baril S3 / OSS configuré, MinerU ne reçoit qu'une URL de pré-signature valide d'une heure et vos informations d'identification de stockage ne sortent pas du domaine; le fichier d'origine de résolution est automatiquement effacé du baril.
État de circulation
Après avoir téléchargé le document dans la ligne de flux asynchrone, le tableau de document détaillé de la page affiche en temps réel le badge de l'état:
| état | montrer | Signification |
|---|---|---|
| pending | Dans la file | Entrée en service, en attente. |
| parsing | Dans l’analyse | Extrait du texte et scan de la pièce à cette étape pour OCR |
| embedding | Incorporé dans | Modèle d'embedding (jusqu'à 128 pièces par lot) |
| ready | Prêt | Il peut être récupéré, le tableau affiche le nombre de tranches en même temps |
| failed | échec | La ligne d'écoulement réessaye automatiquement après 3 échecs, enregistrant les raisons de l'échec |
Colonne de tableau de document : fichier, état, nombre de tranches, ajout du temps.
L’échec et la répétition
- L’intérieur de chaque document. ** Réessayer automatiquement 3 fois ** Le contenu qui a été analysé lors de la réessai sera caché, il n'y aura que la reprise de la phase d'emballage échouée et il n'y aura pas de répétition de l'OCR de MinerU chargé.
- Trois échecs sont définis comme « échec » et la cause est enregistrée (par exemple, MinerU n'est pas configuré, le stockage d'objet n'est pas disponible, le modèle d'embedding est signalé par erreur). L'interface indique « l'indexation a échoué. supprimez le document et téléchargez-le à nouveau » : après l'exclusion de la cause, supprimez le document et téléchargez-le à nouveau.
- Analyse des fichiers échoués ** pas ** Il est vectorialisé dans le répertoire et ne pollue pas les résultats de la récupération avec le contenu de positionnement.
- Le téléchargement répété d'un document du même nom ou la réintroduction échouée est faux, et ne pas surcharger les tranches anciennes dans le coffre.
Utilisé dans la conversation.
Créer une base de connaissances
La barre d’outils de la boîte d’entrée de chat contient un sélecteur de base de connaissances avec l’icône du livre :
- Sélectionnez une ou plusieurs bases de connaissances. ** Conversation actuelle ** et durable, sans interférence avec la conversation;
- L’icône indique le nombre d’objets déposés ;
- Sur l'écran étroit (téléphone), l'entrée est reçue dans le menu "+" de la case d'entrée;
- Il n'y a pas encore de base de connaissances.
Chaque question est automatiquement recherchée dans la bibliothèque en suivant le processus de recherche ci-dessous, sans qu'aucune instruction spéciale ne soit nécessaire. Le bouton « source » apparaît en dessous de la réponse et permet de visualiser le nom du document, le code de la page, le chemin du chapitre et les fragments du texte d'origine.
La base de connaissances de l'espace personnel est isolée de l'espace de travail. Espace de travail d’équipe。
Documents intermédiaires (Documents intermédiaires)
Il est également possible de déplacer les documents directement dans la boîte d’entrée de la conversation et de répondre à la question suivante :
- Le fichier d’annexe affiche « indexé... » après le téléchargement et peut être envoyé après la résolution de la bibliothèque ; un PDF avec une couche de texte est généralement terminé en quelques secondes.
- Petits documents (pas plus que le seuil d'injection de l'intégralité défini par l'administrateur, environ 8000 jetons par défaut) directement ** L’intégralité est insérée ** Ce cycle de questions n'est pas vectoriel et peut être utilisé même sans configurer Qdrant et modèle d'embedding.
- Les grands documents suivent le processus complet "Routage de requête + Recherche" (voir la section ci-dessous).
- Lorsque l'analyse échoue, la puce affiche "Je ne peux pas lire ce fichier" et fournit le bouton "Testez à nouveau".
- Les PDF qui ont été indexés ne seront plus envoyés intégralement au modèle, afin d’éviter que les répétitions du modèle ne ralentissent.
Les fichiers temporaires de conversation ne peuvent être récupérés que dans cette conversation. Si la conversation se trouve dans un projet, il est possible d’augmenter le fichier temporaire « Join the project base de connaissances » en document partagé de projet sans qu’il soit nécessaire de le réincorporer.
L’état de la recherche dans les nouvelles
Dans la partie supérieure de chaque tour de réponses, une petite carte marquera le traitement de la documentation du tour, généralement de plusieurs façons:
| suggestion | Signification |
|---|---|
| La source recherchée | Vector + mot clé mixte pour la récupération, injecter des morceaux de morceaux |
| Insérer le fichier complet. | Le fichier est assez petit pour que l'intégralité soit disponible. |
| L'intégralité du dossier ci-dessous | Résumé / résumé de l’intégralité de l’article (Résumé de l’intégralité de l’article) |
| Sauter à la recherche | La procédure d’inscription n’a rien à voir avec le dossier, les frais de récupération sont nuls. |
| Analyse des documents. | Le fichier n'est pas encore prêt, le cycle n'est pas utilisé |
Recherche par outil (facultatif)
En plus de l'injection automatique par défaut, la plate-forme a également un search_knowledge_base Outil : le modèle qui prend en charge l'appel de fonction native peut lancer des recherches multiples et multiples indépendamment dans une seule réponse. Le chemin principal de la réponse de la documentation ne dépend pas de celui-ci et est également disponible pour les modèles qui ne prennent pas en charge l'appel d'outil.
Rechercher le principe
Comprendre les lignes d’écoulement aide à déterminer « pourquoi pas récupéré ».
Enregistrement : analyser, couper, intégrer
上传 → 解析(本地 / MinerU) → 结构感知切块 → 批量嵌入 → 向量写 Qdrant,文本与元数据写数据库
Il n’est pas limité à un nombre fixe de mots :
- La régression est coupée en fonction des limites du titre, du paragraphe et de la phrase, avec 400 à 800 jetons par bloc cible, sans jamais être coupée du milieu de la phrase, du tableau ou du bloc de code; les blocs voisins conservent environ 10 à 15 % de superposition.
- Chaque morceau commence par un morceau de titre (par exemple, « Chapitre 3 > Analyse des revenus 3.2 »), et des morceaux numériques isolés peuvent également contenir du contenu.
- Structure parentale (small-to-big): l'indice vectoriel est utilisé pour assurer la précision du positionnement, puis il renvoie le grand segment parental au modèle, en tenant compte de la précision et de l'intégrité du contexte.
Sujet: Rechercher les itinéraires
Lors d’une conversation sur un document, chaque question est précédée d’un appel modèle de tâche bon marché (augmenté d’environ 300 à 800 millisecondes) tout en effectuant deux tâches :
- ** Classification de l’intention **:
retrieve(Prenez le temps de vous renseigner, de rechercher)full_doc(Résumé de la catégorie dans son intégralité)none(sans rapport avec les documents, sauter à travers); - ** Recherche réécrite **: Décomposez les problèmes de langage oral en plusieurs mots de recherche précis et combinez les derniers cycles d'historique pour éliminer des références telles que "celle-ci / ce document".
L’échec de l’analyse de la route ou l’excès de temps retrieve Il est préférable de faire plus de recherches et de ne pas oublier les documents.
Mélange de mots clés + Mélange de mots clés
查询向量化 → Qdrant 向量检索 top-30
∥ 数据库关键词全文检索 top-30(中文分词)
→ RRF 融合排序 → 取 top-K → 回表取完整父级片段 → 注入上下文
- La fusion de deux voies a considérablement augmenté le taux de réussite des requêtes de catégorie des noms et des numéros (« cas 98 » et « clause 4.2 »), ce qui est un point faible de la recherche purement vectorielle.
- Top-K Par défaut 8, l'administrateur peut être modifié; ** Dynamique Top-K ** Ensuite, on ne prend plus de nombre fixe, mais on injecte tous les morceaux de la ressemblance de la corde qui atteint le seuil.
- Paramètres de recherche pertinents (pour l'intégralité de l'intégration des seuils
rag_full_text_threshold、rag_top_k、rag_dynamic_topk、rag_similarity_thresholdLes modifications apportées à la page Documents de la console d'administration sont en vigueur.
Citation des origines
Les fragments de modèle injectés avec un numéro uniforme et les métadonnées de source:
[1] 《2025年度报告.pdf》第12页 · 第3章 > 3.2 营收分析
营收同比增长23%,主要来自……
modèle est référencé par numéro, rendu à l'avant comme un angle source, partageant le même ensemble d'interfaces utilisateur que les références de la recherche en ligne. Injecter le contenu avec des paquets de marquage de frontières claires et déclarer dans les conseils du système qu'il est une référence plutôt que des instructions de l'utilisateur, réduisant le risque d'injecter des instructions dans le contenu du document.
Gestion de la base de connaissances
| opérationnel | Positionnement | comportement |
|---|---|---|
| Renommée | Menu détaillé « Renommer » | Seul changement de nom n'affecte pas les documents et les vecteurs |
| Supprimer un fichier individuel | Le bouton de suppression de la page détaillée du document | Supprimer le document et toutes les tranches et vecteurs après confirmation |
| Supprimer la base de connaissances | Appuyez sur le menu « ........ » en haut de la ligne de liste ou sur le menu « ........ » en haut de la page de détails. | Rendez vous |
Supprimer la base de connaissances est un nettoyage de niveau : la fenêtre de confirmation indique clairement que « la bibliothèque et tous ses documents et vecteurs seront définitivement supprimés, et que la conversation supprimera automatiquement la référence, ce qui ne peut pas être rétabli ».
- l’ensemble des dossiers et des fichiers ;
- le vecteur correspondant dans Qdrant;
- les documents originaux sur le disque;
- Les conversations de la bibliothèque sont désactivées automatiquement et la conversation elle-même n’est pas affectée.
L'administrateur peut accéder à la page de la bibliothèque d'un utilisateur à partir d'autres menus de la liste des utilisateurs de la console d'administration, en lisant uniquement l'état de sa base de connaissances, le nombre de tranches, la taille et les détails de chaque document. Utilisateurs et quotas。
Rechercher la liste de contrôle aérien
Lorsque la base de connaissances est affichée mais qu'aucune source n'est dans la réponse, ou que le modèle dit "ne trouve pas de contenu pertinent", vérifiez l'ordre suivant:
- ** L’état du fichier est « prêt »**: base de connaissances page de détails Afficher le badge de l'état, les documents en rangée / en résolution / embarqués / échoués ne participent pas à la récupération.
- ** Qdrant est configuré**:
QDRANT_URLLa récupération du vecteur aérien est totalement désactivée, il ne reste plus que l'intégralité de l'intégration, les petits documents sont disponibles et les grands documents ne peuvent pas être récupérés. Produire Compose par défaut avec Qdrant; déploiement personnalisé pour vérifier la variable environnementale et l'état du conteneur, voir Configuration centrale。 - ** Le modèle d'embedding est disponible **: Lorsque le modèle d'embedding lié à base de connaissances est désactivé, que la clé de canal échoue ou que le service n'est pas disponible, la nouvelle carte de document est embarquée ou marquée comme échouée et que la vectorisation de la requête échoue.
- ** Les dimensions correspondent **: Qdrant collection Nom par dimension (
aivory_c<维度>Si vous remplacez les dimensions de sortie par un modèle d'embedding différent sans la configuration de dimension synchronisée, le vecteur écrira une collection erronée, qui s'avérera normale mais ne pourra jamais être récupérée. ** Maintenance des vecteurs ** Vector de reconstruction : le système réincorporera des tranches de texte enregistrées dans une base de données et ne nécessitera pas de fichier d'origine, mais consomme l'appel d'API intégré. Sauvegarde et migration。 - ** Le modèle d'embedding est compatible ** Lorsqu'une même conversation porte plusieurs bases de connaissances, le système vérifie leur cohérence de modèle d'embedding, ce qui indique clairement l'erreur au lieu de retourner silencieusement le résultat de l'erreur.
- ** Est-ce que le scanner PDF est livré avec MinerU **: Lorsqu'il n'y a pas de stockage d'objets MinerU +, le scanner ne résout pas le contenu et le document est marqué comme un échec.
Les articles 2, 4 et 6 ci-dessus Questions fréquentes Les entrées correspondantes (« Pourquoi les résultats de recherche de base de connaissances sont vides », « Comment faire pour que le modèle d'embedding ne correspond pas à l'EMBEDDING_DIM », « Le contenu n'est pas résolu après le téléchargement d'un PDF scanné ») contiennent des exemples de configuration plus complets.
La méthode de vérification la plus rapide est de transmettre un petit fichier de texte pur de quelques kilobytes à une question directement dans la conversation. Les petits fichiers sont injectés dans l'intégralité du fichier, ne se basant pas sur Qdrant et modèle d'embedding, et même s'ils ne répondent pas correctement, le problème est sur le côté du modèle et non sur le lien de récupération; si le petit fichier est normal et le grand fichier ne fonctionne pas, cliquez sur la liste ci-dessus pour rechercher le lien vectoriel.