Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
313 changes: 313 additions & 0 deletions framework_pipeline_test.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,313 @@
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"collapsed_sections": [
"BxaanZoIKZRg"
],
"authorship_tag": "ABX9TyMJmSyyFNro750WquvdIFaJ",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/github/SocialGouv/srdt/blob/framework_pipeline_test/framework_pipeline_test.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"# Chargement des fonctions depuis google drive"
],
"metadata": {
"id": "BxaanZoIKZRg"
}
},
{
"cell_type": "code",
"source": [
"# Monter google drive dans Google colab\n",
"from google.colab import drive\n",
"drive.mount('/content/drive')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fuGabxc7KDBt",
"outputId": "5d3f2017-26db-4aa1-ce67-25a948d36616"
},
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import os\n",
"os.chdir('/content/drive/My Drive/srdt_analysis')\n",
"import sys\n",
"sys.path.append('/content/drive/MyDrive/srdt_analysis')\n",
"from instructions_LLM import instructions\n",
"from framework_test_functions import call_LLM, albert_search, pipeline_test_RAG"
],
"metadata": {
"id": "USFAYP81KVcZ"
},
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "nCoxypg5d-Gm"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Chargement des fonctions depuis github"
],
"metadata": {
"id": "DpXTStITKV4I"
}
},
{
"cell_type": "code",
"source": [
"!wget https://raw.githubusercontent.com/SocialGouv/srdt/refs/heads/framework_pipeline_test/srdt_analysis/framework_test_functions.py\n",
"!wget https://raw.githubusercontent.com/SocialGouv/srdt/refs/heads/framework_pipeline_test/srdt_analysis/instructions_LLM.py\n",
"!wget https://raw.githubusercontent.com/SocialGouv/srdt/refs/heads/framework_pipeline_test/srdt_analysis/API_KEYS.py\n",
"\n",
"#remarque : si la PR change de branche, il faut aussi changer les URLs (ici elles sont dans la branche \"framework_pipeline_test\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "tzhshsV5F0n5",
"outputId": "6c1d674b-d647-4cf8-d811-0929547ae006"
},
"execution_count": 32,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"--2024-12-09 18:15:12-- https://raw.githubusercontent.com/SocialGouv/srdt/refs/heads/remi/srdt_analysis/framework_test_functions.py\n",
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n",
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.\n",
"HTTP request sent, awaiting response... 404 Not Found\n",
"2024-12-09 18:15:12 ERROR 404: Not Found.\n",
"\n",
"--2024-12-09 18:15:12-- https://raw.githubusercontent.com/SocialGouv/srdt/refs/heads/remi/srdt_analysis/instructions_LLM.py\n",
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.110.133, ...\n",
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.\n",
"HTTP request sent, awaiting response... 404 Not Found\n",
"2024-12-09 18:15:12 ERROR 404: Not Found.\n",
"\n",
"--2024-12-09 18:15:13-- https://raw.githubusercontent.com/SocialGouv/srdt/refs/heads/remi/srdt_analysis/API_KEYS.py\n",
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.110.133, ...\n",
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.\n",
"HTTP request sent, awaiting response... 404 Not Found\n",
"2024-12-09 18:15:13 ERROR 404: Not Found.\n",
"\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"from instructions_LLM import instructions\n",
"from framework_test_functions import call_LLM, albert_search, pipeline_test_RAG"
],
"metadata": {
"id": "QVRtkuYZGmuG"
},
"execution_count": 39,
"outputs": []
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "M2b1lCP6NnON"
},
"execution_count": 8,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Réglage des paramètres de test"
],
"metadata": {
"id": "WFF7Xp2lLILA"
}
},
{
"cell_type": "code",
"source": [
"version_instructions = instructions['v2'] #v2 : prompt séparé en reformulation et traitement de la réponse\n",
"LLM = {\n",
" 'llm_model_family' : 'mistral', #albert #mistral #chatgpt\n",
" 'llm_model_version' : 'mistral-large-2407' #gpt-3.5-turbo #mistral-large-2407 #meta-llama/Meta-Llama-3.1-70B-Instruct\n",
" } #choix du modèl de LLM (la reformulation, et la réponse)\n",
"\n",
"top_K = 2 #nombre de chunks en sortie de chaque query\n",
"\n",
"question_utilisateur = \"\"\" un salarié a droit à combien de semains de congés par an ? merci\"\"\"\n",
"# pour trouver des questions types : https://docs.google.com/spreadsheets/d/1bvss8wGC6UiaCyp4dvyBDt7mgdk-nyecf6epIdvfGm4/edit?gid=1360931749#gid=1360931749\n"
],
"metadata": {
"id": "z-KKpumpLL1O"
},
"execution_count": 27,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Lancement d'un test pour une question"
],
"metadata": {
"id": "UzkSub9FMB46"
}
},
{
"cell_type": "code",
"source": [
"reponse_assistant = pipeline_test_RAG(version_instructions, LLM, question_utilisateur, top_K)"
],
"metadata": {
"id": "f3XivpCAMGI5"
},
"execution_count": 28,
"outputs": []
},
{
"cell_type": "code",
"source": [
"reponse_assistant['reponse_assistant'] # la réponse de l'assistant"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 214
},
"id": "Wb3MOBK6XcWz",
"outputId": "f65c5d84-91e2-429e-e2e4-4883d008a2d7"
},
"execution_count": 29,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"\"### Reformulation de la demande\\n\\n**Contexte :**\\nVous êtes un salarié en France et vous souhaitez connaître le nombre de semaines de congés payés auxquelles vous avez droit par an. Vous vous interrogez également sur les conditions spécifiques pour bénéficier de ces congés.\\n\\n**Points juridiques à traiter :**\\n1. Combien de semaines de congés payés un salarié a-t-il droit par an en France ?\\n2. Y a-t-il des conditions spécifiques à remplir pour bénéficier de ces congés ?\\n\\n### Réponse\\n\\n#### 1. Combien de semaines de congés payés un salarié a-t-il droit par an en France ?\\n\\n**Principe général de droit :**\\nEn France, tout salarié a droit à des congés payés. La durée légale des congés payés est de 2,5 jours ouvrables par mois de travail effectif.\\n\\n**Détail :**\\nPour une année complète de travail, cela équivaut à 30 jours ouvrables de congés payés, soit environ 5 semaines.\\n\\n**Source :**\\nTitre du document : Salariés détachés : vos droits\\nConformément au droit français, tout salarié détaché bénéficie d'un droit à congés payés, soit 2,5 jours par mois effectif de travail. Pour une période d'activité inférieure à un mois, le droit à congé est proratisé selon la règle suivante : nombre de jours travaillés / 26 jours par mois (travail sur 6 jours dans la semaine, soit 52 semaines / 12 mois * 6 jours = 26 jours).\\n\\n#### 2. Y a-t-il des conditions spécifiques à remplir pour bénéficier de ces congés ?\\n\\n**Principe général de droit :**\\nLes congés payés sont un droit pour tous les salariés, mais il existe certaines conditions spécifiques à remplir pour en bénéficier.\\n\\n**Détail :**\\nLes congés payés sont acquis proportionnellement au temps de travail effectif. Si vous travaillez moins d'un mois complet, le nombre de jours de congés payés est proratisé.\\n\\n**Source :**\\nTitre du document : Salariés détachés : vos droits\\nConformément au droit français, tout salarié détaché bénéficie d'un droit à congés payés, soit 2,5 jours par mois effectif de travail. Pour une période d'activité inférieure à un mois, le droit à congé est proratisé selon la règle suivante : nombre de jours travaillés / 26 jours par mois (travail sur 6 jours dans la semaine, soit 52 semaines / 12 mois * 6 jours = 26 jours).\\n\\n### Conclusion\\n\\nEn France, un salarié a droit à 5 semaines de congés payés par an, soit 30 jours ouvrables. Ces congés sont acquis proportionnellement au temps de travail effectif. Pour bénéficier de ces congés, il est important de connaître les conditions spécifiques liées à la durée de travail effectif.\\n\\n### Prochaines étapes\\n\\nPour compléter cette réponse, avez-vous des questions supplémentaires concernant les modalités de prise de congés ou les éventuelles conditions spécifiques à votre situation (par exemple, si vous travaillez à temps partiel ou si vous avez des périodes d'absence) ?\""
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 29
}
]
},
{
"cell_type": "code",
"source": [
"reponse_assistant['urls'] # la sources sélectionnées en sortie du RAG"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "khL6PFQdaDl6",
"outputId": "951185e0-f9fa-4d1c-ea94-135bf95a6f38"
},
"execution_count": 30,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['https://code.travail.gouv.fr/fiche-ministere-travail/salaries-detaches-vos-droits',\n",
" 'https://code.travail.gouv.fr/fiche-service-public/labsence-du-salarie-est-elle-prise-en-compte-pour-le-calcul-de-ses-conges',\n",
" 'https://code.travail.gouv.fr/fiche-service-public/conge-de-formation-economique-sociale-environnementale-et-syndicale-cfeses',\n",
" 'https://code.travail.gouv.fr/fiche-service-public/conge-de-proche-aidant']"
]
},
"metadata": {},
"execution_count": 30
}
]
},
{
"cell_type": "code",
"source": [
"reponse_assistant['question_reformulee'] # la question reformulée"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 89
},
"id": "9xNloWibaIwd",
"outputId": "73bab9db-404b-48e3-e7f3-35f70ea7c03d"
},
"execution_count": 31,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"\"Bonjour,\\n\\nJe suis salarié et je souhaite savoir combien de semaines de congés payés j'ai droit par an.\\n\\nMes questions sont :\\n- Combien de semaines de congés payés un salarié a-t-il droit par an en France ?\\n- Y a-t-il des conditions spécifiques à remplir pour bénéficier de ces congés ?\\n\\nMerci.\""
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 31
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "ov35es4wkvjA"
},
"execution_count": null,
"outputs": []
}
]
}
Loading