vendredi 1 novembre 2024

Activer la lecture de documents dans Llama 3.2 et créer des prompts efficaces

 

Activer la lecture de documents (RAG) dans Llama 3.2 et créer des prompts efficaces


Comprendre le RAG

Avant de plonger dans les détails techniques, il est important de comprendre ce qu'est un RAG (Retrieval Augmented Generation). En termes simples, un RAG permet à un modèle de langage comme Ollama 3.2 d'accéder à une base de données de documents et d'utiliser ces informations pour enrichir ses réponses.

Je dispose de Page Assist : Une interface Web pour les modèles d'IA locaux - Chrome Web Store https://chromewebstore.google.com/detail/page-assist-une-interface/jfgfiigpkhlkbnfnbobbkinehhfdhndo

À propos de Page Assist

Version de Page Assist1.3.1

Version de Llama0.3.14

CommunityDiscord Server

X (formerly Twitter)@page_assist

Vous pouvez supporter le projet Page Assist en donnant ou parrainant via les plateformes suivantes:

Supporter sur ko-fiSponsoriser sur github

Page Assist (@page_assist) / X https://x.com/page_assist

GitHub - n4ze3m/page-assist: Use your locally running AI models to assist you in your web browsing

Autrement il faut :

Activer la fonctionnalité RAG dans Llama 3.2

Llama 3.2 ne dispose pas d'une interface utilisateur graphique native pour activer directement le RAG. Cette fonctionnalité est généralement mise en œuvre à l'aide d'outils et de bibliothèques externes comme LangChain.

Voici les grandes étapes impliquées :

Préparation de votre base de données:

Formatage: Assurez-vous que vos documents sont dans un format lisible par votre outil (par exemple, PDF, TXT).

Indexation: Créez un index de votre base de données pour permettre des recherches rapides.

Choix d'un outil RAG:

LangChain: Très populaire, il offre une interface intuitive pour connecter votre modèle à votre base de données.

Haystack: Une autre option robuste pour la recherche sémantique et la récupération d'informations.

Intégration de Llama 3.2:

API: Utilisez l'API de Llama 3.2 pour envoyer des requêtes au modèle.

Prompting: Concevez des prompts spécifiques pour indiquer au modèle qu'il doit chercher des informations dans la base de données avant de répondre.

En résumé, activer la lecture de documents dans Ollama 3.2 nécessite une configuration plus avancée qu'une simple activation d'un bouton.

La maîtrise des prompts est essentielle pour tirer pleinement parti de cette fonctionnalité.

Exemple de code avec LangChain :

from langchain.llms import Ollama

from langchain.chains import RetrievalQA

from langchain.embeddings import HuggingFaceEmbeddings

from langchain.vectorstores import FAISS

# ... (chargement de votre base de données et création du vectorstore)

llm = Ollama(model_name="llama3.2")

embeddings = HuggingFaceEmbeddings()

vectorstore = FAISS.from_embeddings(embeddings.embed_documents(texts), texts)

qa = RetrievalQA.from_chain(llm, vectorstore.as_retriever())

result = qa("Quel est le résumé du document intitulé 'Rapport annuel 2023' ?")

print(result)

N'hésitez pas à explorer les différentes ressources et tutoriels disponibles en ligne pour approfondir vos connaissances.

Mais continuons avec l’interface graphique :

J’ai télécharger des documents au format PDF :

Il ne reste plus que des requêtes à faire :

Exemple avec Gemini :

Aucune réponse il ne connait pas ce document, CQFD.


Dans LLAMA 3.2 : Me résumer ce document : Charte éthique européenne IA systèmes judiciaires.

Je vous rappel que Ollama 3.2 est sur mon PC et mes documents sont utilisés en privé.

Cela fonctionne bien :

La Charte éthique européenne pour les systèmes judiciaires d'intelligence artificielle (IA) est un document qui définit les principes et directives pour l'utilisation des technologies IA dans le domaine judiciaire en Europe. Voici un résumé de la charte :

1. Principe de neutralité : Les systèmes IA utilisés dans le domaine judiciaire doivent être neutres et impartiaux, sans discrimination ou préjugement en fonction des individus ou des groupes.

2. Respect de la vie privée : Les données personnelles des personnes doivent être protégées et respectées, notamment en ce qui concerne l'accès et l'utilisation des données.

3. Transparence : Les procédures et les décisions basées sur les systèmes IA doivent être transparents et compréhensibles pour les utilisateurs et les parties prenantes.

4. Accountability : Les personnes responsables des systèmes IA doivent être tenus compteables de leurs actions et des décisions prises à l'aide de ces technologies.

5. Sécurité : Les systèmes IA doivent être conçus et utilisés de manière à protéger les données sensibles et éviter tout usage non autorisé ou malveillant.

6. Respect des droits de l'homme : Les systèmes IA doivent respecter les droits de l'homme et les libertés fondamentales, notamment la libre will, la dignité humaine et la protection contre la discrimination.

7. Protection des mineurs : Les systèmes IA doivent être conçus et utilisés de manière à protéger les mineurs et à éviter leur exploitation ou leur manipulation.

8. Respect des lois et réglementations : Les systèmes IA doivent respecter les lois et réglementations en vigueur dans le domaine judiciaire, notamment celles liées à la protection des données personnelles et à la lutte contre la criminalité informatique.

9. Continuelle évolution : Les systèmes IA doivent être continuellement mis à jour et améliorés pour répondre aux exigences du domaine judiciaire en constante évolution.

10. Formation des professionnels : Les professionnels du domaine judiciaire doit être formés sur les technologies IA et leur utilisation dans le domaine judiciaire, afin de les aider à comprendre les avantages et les limites de ces technologies.

En résumé, la Charte éthique européenne pour les systèmes judiciaires d'intelligence artificielle vise à encadrer l'utilisation des technologies IA dans le domaine judiciaire en Europa, en garantissant une utilisation neutre, transparente, sécurisée et respectueuse des droits de l'homme.

Exemples de prompts

Les prompts sont cruciaux pour guider le modèle dans sa recherche et sa génération de réponses. Voici quelques exemples pour vous aider à démarrer :

  • Recherche simple:

    • "Quel est le résumé du document intitulé 'Rapport annuel 2023' ?"

  • Question complexe:

    • "En se basant sur les données des études présentées dans la base de connaissances, quelles sont les tendances actuelles du marché de l'intelligence artificielle ?"

  • Génération de texte:

    • "Écris un article de blog de 500 mots sur les avantages de l'utilisation de l'énergie solaire, en te basant sur les informations contenues dans les articles scientifiques de la base de données."

Conseils pour de meilleurs résultats

  • Contextualisation: Fournissez autant de contexte que possible dans votre prompt pour aider le modèle à mieux comprendre votre requête.

  • Spécificité: Soyez précis dans vos demandes. Plus votre requête est spécifique, meilleure sera la réponse.

  • Expérimentation: N'hésitez pas à tester différents prompts pour trouver ceux qui donnent les meilleurs résultats.


Les prompts dans le paramétrage ci-dessous de LLAMA 3.2, je pense qu’il ne faut pas les changer :

Voici traduit ce prompt en français :

"Tu es un assistant IA serviable. Utilise les éléments de contexte suivants pour répondre à la question posée à la fin. Si tu ne connais pas la réponse, dis simplement que tu ne sais pas. N'essaie PAS d'inventer une réponse. Si la question n'est pas liée au contexte, réponds poliment que tu es configuré pour répondre uniquement aux questions liées au contexte. {contexte} Question : {question} Réponse utile :"

Voici une traduction française du prompt :

"Étant donné la conversation suivante et une question de suivi, reformulez la question de suivi en une question autonome.   Historique de Chat : {historique_chat} Entrée de Suivi : {question} Question autonome :"




Aucun commentaire:

Enregistrer un commentaire

ETHIQUE G-IA Processus d’implantation d'une IA générative responsable

J'ai fait une série sur ces sujet sur mes blogs RSE et UGAIA + Gouvernance :  https://larselesrse.blogspot.com/search/lab...