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: