Construire une base de connaissances locales basée sur un grand modèle

Aperçu graphique

Veuillez ajouter une description de l'image

1. Construction de la base de connaissances

1. Chargement et lecture de texte

Formats pris en charge :

  • pdf
  • SMS
  • Maryland
  • docx

2. Segmentation du texte

En règle générale, les documents texte volumineux sont divisés en morceaux plus petits pour une meilleure utilisation du modèle de langage. Les séparateurs de texte sont chargés de diviser les documents en documents plus petits. Idéalement, vous souhaitez rassembler des éléments de texte sémantiquement liés. La signification de "sémantiquement lié" peut dépendre du type de texte.

  • selon les règles
根据中文文章的常见终止符号,利用规则进行文本分割。
如:单字符断句符、中英文省略号、双引号等
  • sémantiquement
将文本拆分为语义有意义的小块(通常是句子)。
开始将这些小块组合成一个较大的块,直到达到一定的大小(由某个函数测量)。
达到该大小后,将该块设置为自己的文本段,然后开始创建一个具有一些重叠的新文本块。

À l'heure actuelle, en raison de l'incertitude de la sémantique, l'utilisation de règles donnera de meilleurs résultats et la longueur des clauses de texte est de 800.

3. Vectorisation du texte

Une prémisse importante de la récupération sémantique est les incorporations de phrases. Malheureusement, la plupart des matériaux que j'ai vus jusqu'à présent utilisent OpenAIEmbeddings. mode_name=" text-embedding-ada-002 " appelé par OpenAIEmbeddings se classe 6ème

version anglaise

Classement MTEB - Espace visage étreindre de MTEB (huggingface.co)

insérez la description de l'image ici

SOTA chinois

Voici un modèle CoSENT (phrase en cosinus) : shibing624/text2vec-base-Chinese.

Il mappe les phrases dans un espace vectoriel dense de 768 dimensions, qui peut être utilisé pour des tâches telles que l'intégration de phrases, la correspondance de texte ou la recherche sémantique.

En prenant les 10 cas chinois de text2vec-base-chinese , instructor-large et OpenAIEmbedding Run respectivement, instructor-large a fait le pire et text2vec-base-chinese a fait le meilleur :

insérez la description de l'image ici

Pour l'appariement de modèles chinois sur des problèmes de corpus gouvernementaux, le modèle ernie-base et le modèle text2vec-large-chinese sont testés ici. Chaque question touche le document source plusieurs fois dans le top5 respectivement.

Correspondant au top 5 des mannequins chinois dans le corpus gouvernemental ernie-base text2vec-large-chinois
Concernant la transmission du plan d'action spécial de la Commission nationale du développement et de la réforme pour la réduction des coûts et l'augmentation de l'efficacité dans le secteur de la logistique 2/5 4/5
Avis d'orientation sur le développement agricole global Soutenir les industries avantageuses et caractéristiques de l'agriculture et promouvoir le développement de l'industrialisation agricole 2/5 3/5
Décision de la municipalité de Pékin d'ajuster temporairement l'approbation administrative et d'accéder aux mesures de gestion spéciales 3/5 5/5
Avis de mise en œuvre sur la promotion de l'ouverture et du partage des ressources de données dans l'industrie des transports 1/5 5/5
Avis sur l'amélioration et la normalisation du travail de délivrance des certificats par les commissariats 1/5 4/5
Qui exerce l'activité de livraison sous caution à terme sur le pétrole brut temporairement exonérée de TVA 4/5 3/5
Problèmes d'impôt sur le revenu pour les actions cotées à la Bourse de Hong Kong 3/5 5/5
Frais de documentation, frais de collecte de données, frais de conférence/frais de voyage/frais de coopération internationale et d'échange, frais d'équipement, frais de consultation d'experts, frais de service de main-d'œuvre, frais d'impression/frais de publicité 3/5 3/5
Conditions de candidature pour les parcs nationaux de démonstration de la propriété intellectuelle 5/5 5/5

2. Recherche vectorielle

1. Stockage vectoriel

Faiss est une bibliothèque de récupération de vecteurs open source de Facebook, qui est utilisée pour indexer et rechercher des collections de vecteurs à grande échelle. Les fonctionnalités clés incluent :

  1. Prend en charge plusieurs structures d'index : FIV, IVFFlat, HNSW, etc. Ces structures d'index permettent des recherches vectorielles de haute précision et de rappel élevé.
  2. Prend en charge plusieurs méthodes de mesure : produit interne, distance euclidienne, similarité cosinus, etc. Une collection de vecteurs peut être indexée en choisissant une métrique appropriée.
  3. Construction et recherche rapides d'index : Faiss utilise l'accélération GPU pour réaliser la construction d'index et la recherche de milliards de vecteurs.
  4. Réduction de la dimensionnalité et regroupement : Faiss fournit des algorithmes PCA, IVFFlat et autres pour la réduction de la dimensionnalité des vecteurs, et prend en charge l'algorithme Kmeans pour le regroupement des vecteurs.
  5. Fonctionnalités avancées : Faiss prend en charge des fonctionnalités avancées telles que l'apprentissage en ligne, la récupération de vecteurs hétérogènes et la compression d'index.

Les applications typiques de Faiss sont :

  1. Récupération d'images : trouvez l'image la plus similaire à une image d'entrée dans une base de données d'images à grande échelle.

  2. Correspondance de texte : recherchez rapidement le contenu textuel le plus proche du texte saisi.

  3. Système de recommandation : récupérez et recommandez rapidement un grand nombre de produits selon les intérêts des utilisateurs.

  4. Reconnaissance d'empreinte vocale : réalisez la reconnaissance vocale et la récupération de données vocales massives.

2. Vectorisation des problèmes utilisateurs

Modèle d'intégration pour la vectorisation (text2vec-large-chinese)

3. Recherchez les vecteurs topK les plus similaires à la question dans la base de connaissances

# chunk_conent   是否启用上下文关联
# score_threshold    搜索匹配score阈值
# vector_search_top_k   搜索知识库内容条数,默认搜索5条结果
# chunk_sizes    匹配单段内容的连接上下文长度
  • Trouvez les k résultats les plus similaires à l'intégration dans l'index de recherche de vecteurs, les scores de score et les indices d'index.

  • Si les scores sont supérieurs au seuil score_threshold, ignorez le résultat.

  • Si chunk_conent est spécifié, la recherche sera étendue près de l'index de résultat et des fragments de document similaires seront fusionnés en doc, mais la longueur après la fusion ne doit pas dépasser chunk_size. Seuls les documents identiques seront assemblés.

insérez la description de l'image iciinsérez la description de l'image ici

3. Compréhension du grand modèle

Saisissez la question et les vecteurs topK comme contexte du grand modèle, et laissez le grand modèle résumer et répondre en fonction des informations d'invite existantes.

基于上下文的prompt模版:根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。 问题是:{question}

Exemple:

insérez la description de l'image ici

insérez la description de l'image ici

Quatre, le problème

  1. À l'heure actuelle, le projet n'est pas assez stable et il y aura des plantages.

  2. Après plusieurs rounds de dialogue, le débordement de la mémoire vidéo a provoqué un crash.

  3. S'il faut ajouter un jugement dans le modèle d'invite, si la question posée n'est pas de type affaires gouvernementales, elle sera répondue par le grand modèle.

  4. Le grand modèle peut ne pas être en mesure de comprendre avec précision les connaissances professionnelles et la terminologie dans le domaine des affaires gouvernementales, et il y aura des écarts dans un petit nombre de réponses.

  5. Lors de la recherche de vecteurs, du texte de mauvaise qualité peut être mis en correspondance, ce qui entraîne des réponses erronées. (Faible qualité : le texte correspondant a une certaine pertinence, mais s'écarte de l'intention de la question de l'utilisateur)

Je suppose que tu aimes

Origine blog.csdn.net/qq128252/article/details/131049480
conseillé
Classement