Sahm269 commited on
Commit
5b5da14
·
verified ·
1 Parent(s): e0885f1

Upload 5 files

Browse files
Files changed (5) hide show
  1. .gitattributes +43 -43
  2. .gitignore +3 -0
  3. NutrigenieLLM.db +0 -0
  4. README.md +63 -65
  5. main.py +15 -7
.gitattributes CHANGED
@@ -1,43 +1,43 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
36
- chroma_db/chroma.sqlite3 filter=lfs diff=lfs merge=lfs -text
37
- client/assets/avatar_bot_big.jpg filter=lfs diff=lfs merge=lfs -text
38
- client/assets/avatar_bot_medium.jpg filter=lfs diff=lfs merge=lfs -text
39
- client/assets/logo.png filter=lfs diff=lfs merge=lfs -text
40
- client/assets/membre1.jpg filter=lfs diff=lfs merge=lfs -text
41
- client/assets/membre2.jpg filter=lfs diff=lfs merge=lfs -text
42
- client/assets/membre3.jpg filter=lfs diff=lfs merge=lfs -text
43
- server/security/data/guardrail_dataset_train_multi.json filter=lfs diff=lfs merge=lfs -text
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.json filter=lfs diff=lfs merge=lfs -text
11
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
12
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
13
+ *.model filter=lfs diff=lfs merge=lfs -text
14
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
15
+ *.npy filter=lfs diff=lfs merge=lfs -text
16
+ *.npz filter=lfs diff=lfs merge=lfs -text
17
+ *.onnx filter=lfs diff=lfs merge=lfs -text
18
+ *.ot filter=lfs diff=lfs merge=lfs -text
19
+ *.parquet filter=lfs diff=lfs merge=lfs -text
20
+ *.pb filter=lfs diff=lfs merge=lfs -text
21
+ *.pickle filter=lfs diff=lfs merge=lfs -text
22
+ *.pkl filter=lfs diff=lfs merge=lfs -text
23
+ *.pt filter=lfs diff=lfs merge=lfs -text
24
+ *.pth filter=lfs diff=lfs merge=lfs -text
25
+ *.rar filter=lfs diff=lfs merge=lfs -text
26
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
27
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
29
+ *.tar filter=lfs diff=lfs merge=lfs -text
30
+ *.tflite filter=lfs diff=lfs merge=lfs -text
31
+ *.tgz filter=lfs diff=lfs merge=lfs -text
32
+ *.wasm filter=lfs diff=lfs merge=lfs -text
33
+ *.xz filter=lfs diff=lfs merge=lfs -text
34
+ *.zip filter=lfs diff=lfs merge=lfs -text
35
+ *.zst filter=lfs diff=lfs merge=lfs -text
36
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
37
+ chroma_db/chroma.sqlite3 filter=lfs diff=lfs merge=lfs -text
38
+ client/assets/avatar_bot_big.jpg filter=lfs diff=lfs merge=lfs -text
39
+ client/assets/avatar_bot_medium.jpg filter=lfs diff=lfs merge=lfs -text
40
+ client/assets/logo.png filter=lfs diff=lfs merge=lfs -text
41
+ client/assets/membre1.jpg filter=lfs diff=lfs merge=lfs -text
42
+ client/assets/membre2.jpg filter=lfs diff=lfs merge=lfs -text
43
+ client/assets/membre3.jpg filter=lfs diff=lfs merge=lfs -text
.gitignore CHANGED
@@ -17,6 +17,9 @@ Thumbs.db
17
  # Fichiers de logs
18
  *.log
19
 
 
 
 
20
  # Fichiers de distribution
21
  dist/
22
  build/
 
17
  # Fichiers de logs
18
  *.log
19
 
20
+ # Fichiers de base de données
21
+ *.db
22
+
23
  # Fichiers de distribution
24
  dist/
25
  build/
NutrigenieLLM.db ADDED
Binary file (49.2 kB). View file
 
README.md CHANGED
@@ -1,65 +1,63 @@
1
- ---
2
- title: Nutrigenie
3
- emoji: 📹
4
- colorFrom: blue
5
- colorTo: red
6
- sdk: streamlit
7
- app_file: main.py
8
- pinned: false
9
- python_version: 3.11
10
- ---
11
-
12
- # Nutrigénie
13
-
14
- **Nutrigénie** est un assistant nutritionnel intelligent conçu pour aider les utilisateurs à adopter une alimentation saine et personnalisée. Basé sur des technologies de pointe en traitement du langage naturel et un système de **Retrieval-Augmented Generation (RAG)**, Nutrigénie fournit des conseils nutritionnels personnalisés et des recettes de cuisine adaptées aux besoins individuels.
15
-
16
- ## 🌟 Fonctionnalités principales
17
-
18
- - **Chatbot interactif** : Engage des conversations fluides et naturelles sur la nutrition.
19
- - **Recommandation de recettes** : Suggère des recettes de cuisine basées sur les préférences alimentaires et les besoins nutritionnels.
20
- - **Conseils personnalisés** : Fournit des recommandations sur les habitudes alimentaires et le mode de vie.
21
- - **Analyse des habitudes de vie** : Pose des questions ciblées pour mieux comprendre les besoins de l'utilisateur.
22
-
23
- ## 🚀 Démo en ligne
24
-
25
- Accédez à Nutrigénie ici : [Nutrigénie sur Hugging Face Spaces](https://huggingface.co/spaces/Sahm269/NutrigenieLLM)
26
-
27
- ## 📁 Installation locale (optionnel)
28
-
29
- Si vous souhaitez cloner et exécuter le projet en local :
30
-
31
- ```bash
32
- # Clonez le dépôt
33
- git clone https://github.com/Sahm269/LLM_project.git
34
- cd LLM_project
35
-
36
- # Créez un environnement virtuel
37
- python -m venv venv
38
- source venv/bin/activate # Sous Windows : venv\Scripts\activate
39
-
40
- # Installez les dépendances
41
- pip install -r requirements.txt
42
-
43
- # Lancez l'application
44
- streamlit run main.py
45
- ```
46
-
47
- ## 🌐 Utilisation
48
-
49
- 1. Accédez à l'application via le lien fourni ou lancez-la en local.
50
- 2. Engagez une conversation avec Nutrigénie en posant des questions sur la nutrition.
51
- 3. Recevez des conseils personnalisés et des suggestions de recettes.
52
-
53
-
54
- ## 👾 Technologies utilisées
55
-
56
- - **Python** : Langage principal pour la logique de l'application.
57
- - **Streamlit** : Framework pour créer des applications web interactives.
58
- - **Hugging Face Spaces** : Hébergement de l'application.
59
- - **PostGreSQL/ChromaDB** : Gestion de la base de données pour les conversations et les recettes.
60
- - **RAG (Retrieval-Augmented Generation)** : Pour améliorer la précision des réponses.
61
-
62
- ---
63
-
64
- **Nutrigénie** — Votre assistant personnel pour une alimentation saine et équilibrée !
65
-
 
1
+ ---
2
+ title: Image To Text App
3
+ emoji: 📹
4
+ colorFrom: blue
5
+ colorTo: red
6
+ sdk: streamlit
7
+ app_file: main.py
8
+ pinned: false
9
+ ---
10
+
11
+ # Nutrigénie
12
+
13
+ **Nutrigénie** est un assistant nutritionnel intelligent conçu pour aider les utilisateurs à adopter une alimentation saine et personnalisée. Basé sur des technologies de pointe en traitement du langage naturel et un système de **Retrieval-Augmented Generation (RAG)**, Nutrigénie fournit des conseils nutritionnels personnalisés et des recettes de cuisine adaptées aux besoins individuels.
14
+
15
+ ## 🌟 Fonctionnalités principales
16
+
17
+ - **Chatbot interactif** : Engage des conversations fluides et naturelles sur la nutrition.
18
+ - **Recommandation de recettes** : Suggère des recettes de cuisine basées sur les préférences alimentaires et les besoins nutritionnels.
19
+ - **Conseils personnalisés** : Fournit des recommandations sur les habitudes alimentaires et le mode de vie.
20
+ - **Analyse des habitudes de vie** : Pose des questions ciblées pour mieux comprendre les besoins de l'utilisateur.
21
+
22
+ ## 🚀 Démo en ligne
23
+
24
+ Accédez à Nutrigénie ici : [Nutrigénie sur Hugging Face Spaces](https://huggingface.co/spaces/Sahm269/NutrigenieLLM)
25
+
26
+ ## 📁 Installation locale (optionnel)
27
+
28
+ Si vous souhaitez cloner et exécuter le projet en local :
29
+
30
+ ```bash
31
+ # Clonez le dépôt
32
+ git clone https://github.com/Sahm269/LLM_project.git
33
+ cd LLM_project
34
+
35
+ # Créez un environnement virtuel
36
+ python -m venv venv
37
+ source venv/bin/activate # Sous Windows : venv\Scripts\activate
38
+
39
+ # Installez les dépendances
40
+ pip install -r requirements.txt
41
+
42
+ # Lancez l'application
43
+ streamlit run main.py
44
+ ```
45
+
46
+ ## 🌐 Utilisation
47
+
48
+ 1. Accédez à l'application via le lien fourni ou lancez-la en local.
49
+ 2. Engagez une conversation avec Nutrigénie en posant des questions sur la nutrition.
50
+ 3. Recevez des conseils personnalisés et des suggestions de recettes.
51
+
52
+
53
+ ## 👾 Technologies utilisées
54
+
55
+ - **Python** : Langage principal pour la logique de l'application.
56
+ - **Streamlit** : Framework pour créer des applications web interactives.
57
+ - **Hugging Face Spaces** : Hébergement de l'application.
58
+ - **PostGreSQL/ChromaDB** : Gestion de la base de données pour les conversations et les recettes.
59
+ - **RAG (Retrieval-Augmented Generation)** : Pour améliorer la précision des réponses.
60
+
61
+ ---
62
+
63
+ **Nutrigénie** — Votre assistant personnel pour une alimentation saine et équilibrée !
 
 
main.py CHANGED
@@ -1,5 +1,6 @@
1
  # data_link = https://github.com/Sahm269/LLM_project/tree/souraya/data
2
  import streamlit as st
 
3
  # from streamlit_option_menu import option_menu
4
  # from client.pages.home import home_page
5
  # from projects.LLM_project.client.pages.nutri_old import nutri_page
@@ -15,7 +16,7 @@ st.set_page_config(
15
  page_title=APP_TITLE,
16
  page_icon="client/assets/avatar_bot_small.jpg",
17
  layout="wide",
18
- initial_sidebar_state="expanded"
19
  )
20
 
21
  # with st.sidebar:
@@ -55,6 +56,7 @@ def navigate_to(page_name):
55
  st.session_state["current_page"] = page_name
56
  st.rerun()
57
 
 
58
  # Gestion de la déconnexion
59
  def logout_user():
60
  keys_to_clear = ["logged_in", "user", "current_page"]
@@ -63,6 +65,7 @@ def logout_user():
63
  del st.session_state[key]
64
  navigate_to("connexion")
65
 
 
66
  # Gestion centralisée de la navigation
67
  def handle_navigation():
68
  if not st.session_state["logged_in"]:
@@ -77,19 +80,23 @@ def handle_navigation():
77
  st.session_state["current_page"] = "accueil"
78
  st.rerun()
79
 
 
80
  # Définition des pages disponibles
81
  PAGES = {
82
  "accueil": {"file": "client/pages/home.py", "title": "🏠 Accueil"},
83
  "chatbot": {"file": "client/pages/nutri.py", "title": "🤖 Chat Bot"},
84
  "dashboard": {"file": "client/pages/dashboard.py", "title": "📊 Tableau de Bord"},
85
- "user": {"file": "client/pages/user.py", "title": lambda: f"👤 Mon Compte {st.session_state.get('user', '')}"}
 
 
 
86
  }
87
 
88
  # Fonction principale
89
  def main():
90
 
91
  st.markdown(
92
- """
93
  <style>
94
 
95
 
@@ -112,8 +119,8 @@ def main():
112
 
113
  </style>
114
  """,
115
- unsafe_allow_html=True
116
- )
117
 
118
  # Gestion de la navigation
119
  handle_navigation()
@@ -140,9 +147,10 @@ def main():
140
  # Ne pas afficher la barre de navigation
141
  if st.session_state["current_page"] == "connexion":
142
  sign_in(navigate_to)
143
-
144
  elif st.session_state["current_page"] == "inscription":
145
  sign_up(navigate_to)
146
 
 
147
  if __name__ == "__main__":
148
- main()
 
1
  # data_link = https://github.com/Sahm269/LLM_project/tree/souraya/data
2
  import streamlit as st
3
+
4
  # from streamlit_option_menu import option_menu
5
  # from client.pages.home import home_page
6
  # from projects.LLM_project.client.pages.nutri_old import nutri_page
 
16
  page_title=APP_TITLE,
17
  page_icon="client/assets/avatar_bot_small.jpg",
18
  layout="wide",
19
+ initial_sidebar_state="expanded",
20
  )
21
 
22
  # with st.sidebar:
 
56
  st.session_state["current_page"] = page_name
57
  st.rerun()
58
 
59
+
60
  # Gestion de la déconnexion
61
  def logout_user():
62
  keys_to_clear = ["logged_in", "user", "current_page"]
 
65
  del st.session_state[key]
66
  navigate_to("connexion")
67
 
68
+
69
  # Gestion centralisée de la navigation
70
  def handle_navigation():
71
  if not st.session_state["logged_in"]:
 
80
  st.session_state["current_page"] = "accueil"
81
  st.rerun()
82
 
83
+
84
  # Définition des pages disponibles
85
  PAGES = {
86
  "accueil": {"file": "client/pages/home.py", "title": "🏠 Accueil"},
87
  "chatbot": {"file": "client/pages/nutri.py", "title": "🤖 Chat Bot"},
88
  "dashboard": {"file": "client/pages/dashboard.py", "title": "📊 Tableau de Bord"},
89
+ "user": {
90
+ "file": "client/pages/user.py",
91
+ "title": lambda: f"👤 Mon Compte {st.session_state.get('user', '')}",
92
+ },
93
  }
94
 
95
  # Fonction principale
96
  def main():
97
 
98
  st.markdown(
99
+ """
100
  <style>
101
 
102
 
 
119
 
120
  </style>
121
  """,
122
+ unsafe_allow_html=True,
123
+ )
124
 
125
  # Gestion de la navigation
126
  handle_navigation()
 
147
  # Ne pas afficher la barre de navigation
148
  if st.session_state["current_page"] == "connexion":
149
  sign_in(navigate_to)
150
+
151
  elif st.session_state["current_page"] == "inscription":
152
  sign_up(navigate_to)
153
 
154
+
155
  if __name__ == "__main__":
156
+ main()