Lecture de données
Nous allons dans cet exemple, extraire 10 textes pour des raisons de rapidité :
-import json
import numpy as np
import pandas as pd
@@ -445,7 +445,7 @@ Lecture de données
Vectoriser nos textes avec ChromaDB
Pour vectoriser nos textes, nous utilisons ChromaDB qui s’intègre avec Langchain. Nous allons découper en morceau des 3000 caractères à chaque saut à ligne, ce qui correspond à un paragraphe. Les morceaux de textes, ici paragraphes, sont stockés dans une boutique de vecteur avec le numéro de dossier et le numéro de paragraphe en métadonnées.
-
+
= CharacterTextSplitter(
text_splitter ="\n\n",
separator=3000,
@@ -472,7 +472,7 @@ chunk_sizeVector
Interroger un LLM en mode API
Pour interroger le LLM, nous construisons une classe qui permet de générer les requêtes et de traiter les réponses :
-
+
="llama3.1"
MODEL
@@ -493,7 +493,7 @@ Interroger u
= LocalOllamaLLM(api_url="http://127.0.0.1:11434") llm
Nous définissons également un prompt de base, améliorable par la suite, et une chaîne LangChain entre le prompt et le LLM :
-
+
= (
system_prompt " Répondez à la question posée "
" Utilisez le contexte (sélection des meilleurs paragraphes liés à la question) donné pour répondre à la question "
@@ -510,7 +510,7 @@ Interroger u
= create_stuff_documents_chain(llm, prompt) question_answer_chain
Nous définissons une fonction pour effectuer le RAG, avec à la fois la recherche de similarité par rapport à la question, et la soumission augmentée pour une réponse du LLM :
-
+
def search_and_invoke_llm(vector_store,index,query,k=5):
if k==0:
print(f"bug with {index}")
@@ -535,7 +535,7 @@ Interroger u
Automatiser la classification sur l’ensemble des thématiques
Nous automatisons ici la classification sous forme de classification binaire pour chaque thématique, en posant une question “oui ou non” et en inférant oui si la réponse commence par oui, non sinon.
-
+
={
THEMATIQUES"accord_methode_penibilite":"Accords de méthode (pénibilité)",
"accord_methode_pse":"Accords de méthode (PSE)",
@@ -626,7 +626,7 @@
Evaluation
Nous évaluons les performances de cette solution simple, en affichant la matrice de confusion et les différentes métriques, pour chaque thématique :
-
+
import numpy as np
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, classification_report
diff --git a/search.json b/search.json
index fe5685e..ba15a68 100644
--- a/search.json
+++ b/search.json
@@ -286,7 +286,7 @@
"href": "Bibliographie.html#ii---développement",
"title": "Bibliographie",
"section": "II - Développement",
- "text": "II - Développement\n\nPlateforme de partage de modèles\n\nHuggingFace\n\n\n\nArticles de recherche centraux\nTransformers\n\nPapier original ‘Attention Is All You Need’\nExplication illustrée et très détaillée\nLes différents types de modèles\nLes Mixture of Experts\n\nFine-tuning\n\nLoRA\nQLoRA\nDoRA\nIntroduction au RLHF\nDPO\nKTO\n\nBonnes pratiques du prompt engineering\n\nPrincipled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4\nGraph of Thoughts\n\n\n\nLibrairies et ressources\nLLM platform - Ollama\nPipelines et orchestration LLM - LangChain - LlamaIndex - Haystack\nRAG - Graph RAG\nEvaluation - SelfCheckGPT",
+ "text": "II - Développement\n\nPlateforme de partage de modèles\n\nHuggingFace\n\n\n\nArticles de recherche centraux\nTransformers\n\nPapier original ‘Attention Is All You Need’\nExplication illustrée et très détaillée\nLes différents types de modèles\nLes Mixture of Experts\n\nFine-tuning\n\nLoRA\nQLoRA\nDoRA\nIntroduction au RLHF\nDPO\nKTO\n\nBonnes pratiques du prompt engineering\n\nPrincipled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4\nGraph of Thoughts\n\nEvaluation (métriques)\n\n\n\nBasée sur embeddings\nBasée sur modèle fine-tuné\nBasé sur LLM\n\n\n\n\nBERTScore\nUniEval\nG-Eval\n\n\nMoverScore\nLynx\nGPTScore\n\n\n\nPrometheus-eval\n\n\n\n\nEvaluation (frameworks) - Ragas (spécialisé pour le RAG) - Ares (spécialisé pour le RAG) - Giskard - DeepEval\nEvaluation (RAG) - Evaluation of Retrieval-Augmented Generation: A Survey - Automated Evaluation of Retrieval-Augmented Language Models with Task-Specific Exam Generation\nEvaluation (divers) - Prompting strategies for LLM-based metrics - LLM-based NLG Evaluation: Current Status and Challenges - Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena\n\n\nLibrairies et ressources\nLLM platform - Ollama\nPipelines et orchestration LLM - LangChain - LlamaIndex - Haystack\nRAG - Graph RAG\nEvaluation - SelfCheckGPT",
"crumbs": [
"Bibliographie"
]
diff --git a/sitemap.xml b/sitemap.xml
index c927115..ed49ac8 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,78 +2,78 @@
https://etalab.github.io/programme10pourcent-kallm/IV-Exemples/2_Classification_accords_entreprise.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/4_Impacts.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/2_Deja_Fait_Admin.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/II-Developpements/4_Evaluations.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/II-Developpements/0_Introduction.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/II-Developpements/3_RAG.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/notebooks/10p_RAG_OLLAMA.html
- 2024-11-07T15:43:22.880Z
+ 2024-11-07T15:51:20.528Z
https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/1_Socle_minimal.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/3_Socle_Production.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/Reste_a_faire.html
- 2024-11-07T15:43:22.868Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/2_Socle_avance.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/4_Infras_administrations.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/Bibliographie.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/notebooks/autres/parse_llama31_results.html
- 2024-11-07T15:43:22.880Z
+ 2024-11-07T15:51:20.528Z
https://etalab.github.io/programme10pourcent-kallm/II-Developpements/1_Anatomie_LLM.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/II-Developpements/2_Utilisation_LLM.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/index.html
- 2024-11-07T15:43:22.880Z
+ 2024-11-07T15:51:20.528Z
https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/1_cas_usage.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z
https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/3_Acculturation.html
- 2024-11-07T15:43:22.864Z
+ 2024-11-07T15:51:20.512Z