0% ont trouvé ce document utile (0 vote)
21 vues9 pages

Performance du système RAG et tests

Le document traite des tests de performance d'un système RAG utilisant divers modèles d'embeddings et des méthodes de séparation de texte. Il souligne des problèmes rencontrés avec les appels de fonction et la précision des réponses, tout en proposant des solutions telles que l'augmentation de la taille des chunks et l'utilisation de bases de données natives. Enfin, il mentionne des modèles lourds et des implémentations potentielles comme Weaviate pour améliorer la recherche de similarité.

Transféré par

christian mamy
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues9 pages

Performance du système RAG et tests

Le document traite des tests de performance d'un système RAG utilisant divers modèles d'embeddings et des méthodes de séparation de texte. Il souligne des problèmes rencontrés avec les appels de fonction et la précision des réponses, tout en proposant des solutions telles que l'augmentation de la taille des chunks et l'utilisation de bases de données natives. Enfin, il mentionne des modèles lourds et des implémentations potentielles comme Weaviate pour améliorer la recherche de similarité.

Transféré par

christian mamy
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TEST DE PERFORMANCE RAG:

Document a voir: ​
[Link]
MrGXI/edit?tab=t.0

Implementation:

- Splitter : RecursiveCharacterTextSplitter

- Function call

- ES: pour stocker les embeddings

- embeddings : Openai (model = text-embedding-3-small, taille = 1536)

Contrainte de performance:

512 à 768 dimensions → Bon équilibre entre précision et rapidité.

256 à 384 dimensions → Très rapide, mais avec une perte de précision.

1024+ dimensions → Très précis, mais coûteux en calcul et en mémoire

REMARQUE / BUG:

-​ Après quelques échanges, le function call ne s'est pas déclenché


-​ Le déclenchement du function call a trouvé les documents, mais répond par le message
qu'il n'a pas d'information. (Le message pour dire que le RAG n'a trouvé aucune
information sur le sujet ou la question donnée) => Prompting
-​ Des questions comme : Quelles sont les principales religions qui ont marqué l'histoire de
Madagascar ? `, le RAG répond nous demande de reformuler alors que quand je démarre
une nouvelle conversation, elle me fournit une réponse claire et précise se basant sur le
document
-​ Reponds a des questions avant la discussion meme si la question est autre

solution : Prompting ?

-​ Test sur plusieurs prompt et plusieurs model du function call et temperature (non succes)
-​ Implémentation d’un nouveau systeme autre que ES(LLama)
-​ Creer une api pour la recherche de contexte dans la base de donnee vectorielle
Solution deja teste:

-​ Stockage des embeddings sur Postgres et comparaison avec Elastic Search =>

on a obtenu le même résultat sur les deux

-​ Changement de la methode pour le splite des textes (En cours)


-​ Implementation du modeles ” all-MiniLM-L6-v2”

information a savoir sur all-MiniLM-L6-v2 => taille de vecteur limite a 384

text-embedding-3-small: 1536


comparaison des testes sur les deux modeles

text-embedding-3-small /all-MiniLM-L6-v2

Résultat: les reponses ne sont pas


satisfaisantes comme on le voit dans la
capture. (même ajoutant la recherche au
début c.a.d faire la recherche de
contexte à chaque message )
Modele: “Alibaba-NLP/gte-Qwen2-7B-instruct”​
[Link]

modele tres lourds en local : ‘Alibaba-NLP/gte-Qwen2-7B-instruct’

Resultat aucune implementation n’as ete faite car le modele est tres lourde

Modele: “gte-base-en-v1.5”​
[Link]

modele tres lourds en local : ‘gte-base-en-v1.5’

Un peu performant les resultat sont un peu plus performant

Solution envisageable:

-​ Tester des différents modèles comme

-​ Fine tuning ?
-​ Augmenter la taille des chunks(Pour les gros textes) ou réduire la taille de chunk(pour
plus de precisions)
-​ Utilisation des base de donnees native comme FAISS / Pinecone / Weaviate
-​ Implémentation de Weviate et réduire les splitters et faire un hybrid search sur weviate

Question sur les solutions:

Augmenter la taille des dimensions des embeddings peut-il améliorer la performance ?


Est-ce que le changements des prompts que ce soit pour le function call ou les différents prompt
ameliore-il la reponse ? (Oui et Non)
IMPLEMENTATION DE WEVIATE:

hybrid search pour l’implementation


[Link]

Hybrid search : [Link]

Recherche de similarity de vecteur: [Link]

Methode de separation (Text Splitters and Embeddings)

-​ methode de split de text implementer : RecursiveCharacterTextSplitter

[Link]
44e7ea

[Link]
IMPLEMENTATION DE RAG LLAMA

-​ [Link]

Dependencies

1.​ %pip install llama-index-readers-file pymupdf


2.​ %pip install llama-index-vector-stores-postgres
3.​ %pip install llama-index-embeddings-huggingface
4.​ %pip install llama-index-llms-llama-cpp

Remarque LLama: ​
- Trop de lenteur au demmarage (En mode dev)

Lien checker: ​
- [Link]
TEST:

-​ HISTOIRE:
[Link]
-​ Question sur le documents:
1.​ Quelles sont les origines des Malgaches ?
2.​ Quel rôle a joué la navigation dans l'histoire de Madagascar ?
3.​ Quelles influences culturelles ont façonné l'histoire de Madagascar ?
4.​ Comment la géographie de Madagascar a-t-elle influencé son développement
historique ?
5.​ Quelles sont les principales dynasties qui ont régné à Madagascar ?
6.​ Quel impact la colonisation européenne a-t-elle eu sur Madagascar ?
7.​ Quelles étaient les principales ressources naturelles exploitées à Madagascar ?
8.​ Comment les traditions orales ont-elles contribué à la transmission de l'histoire
malgache ?
9.​ Quel est le rôle de l'ethnologie dans l'étude de l'histoire de Madagascar ?
10.​Quelles sont les principales périodes de l'histoire de Madagascar ?
11.​Comment les Malgaches ont-ils résisté à la colonisation ?
12.​Quel a été l'impact de l'esclavage sur la société malgache ?
13.​Quelles sont les principales religions pratiquées à Madagascar au cours de son
histoire ?
14.​Comment les échanges commerciaux ont-ils influencé l'histoire de Madagascar ?
15.​Quel rôle Madagascar a-t-il joué dans les routes commerciales de l'océan Indien ?
16.​Quelles sont les principales langues parlées à Madagascar et leur origine ?
17.​Comment l'histoire de Madagascar est-elle liée à celle de l'Afrique continentale ?
18.​Quelles sont les conséquences de l'indépendance de Madagascar en 1960 ?
19.​Quel a été le rôle des missionnaires dans l'histoire de Madagascar ?
20.​Comment les conflits internes ont-ils façonné l'histoire politique de Madagascar ?
21.​Quelles sont les principales contributions culturelles des Malgaches à l'histoire
mondiale ?
22.​Quel impact les catastrophes naturelles ont-elles eu sur l'histoire de Madagascar ?
23.​Comment l'histoire de Madagascar est-elle perçue par les historiens
contemporains ?
24.​Quelles sont les principales luttes pour les droits civiques à Madagascar ?
25.​Quel a été l'impact de la mondialisation sur la culture malgache ?
26.​Comment les Malgaches ont-ils préservé leur identité culturelle au fil des siècles ?
27.​Quelles sont les principales figures historiques de Madagascar ?
28.​Quel rôle la biodiversité de Madagascar a-t-elle joué dans son histoire ?
29.​Comment les relations internationales ont-elles évolué pour Madagascar au XXe
siècle
-​ Question hors documents:

Vous aimerez peut-être aussi