[email protected] commited on
Commit
0499a47
·
1 Parent(s): 193ecca

Remove unsued variables & add metadata

Browse files
Files changed (4) hide show
  1. app.py +0 -12
  2. config.yaml +5 -70
  3. pages/chatbot.py +11 -7
  4. rag.py +2 -2
app.py CHANGED
@@ -41,18 +41,6 @@ def init_app():
41
  "prompt_system": chapter['prompt_system'],
42
  "prompts": chapter['prompts'],
43
  }
44
-
45
-
46
- if 'parts' in config['variables']:
47
- # Flatten structure by adding part name to each field
48
- st.session_state["data_dict"] = [
49
- {**field, "part": part["name"]}
50
- for part in config["variables"]["parts"]
51
- for field in part["fields"]
52
- ]
53
- else:
54
- # Initialize session state with single list of variables
55
- st.session_state["data_dict"] = [{**field} for field in config["variables"]]
56
 
57
 
58
  def main():
 
41
  "prompt_system": chapter['prompt_system'],
42
  "prompts": chapter['prompts'],
43
  }
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
 
46
  def main():
config.yaml CHANGED
@@ -17,8 +17,7 @@ chapters:
17
  num: 1
18
  key: "context_objectives"
19
  prompts:
20
- - "Pré - remplir le Diagnostic"
21
- - "Quels sont les objectifs principaux ?"
22
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
23
 
24
  CONTEXTE / RESSOURCES : Tu as accès à l'entretien que le conseiller a eu avec l'exploitant agricole. Cet entretien est fourni sous forme de transcript à cette conversation (voir pièce jointe)\n
@@ -42,8 +41,7 @@ CONTRAINTE : Tu dois le présenter rigoureusement de la façon suivante :
42
  num: 2
43
  key: "social_legal_fiscal_status"
44
  prompts:
45
- - "Pré - remplir le Diagnostic"
46
- - "Quelles sont les obligations fiscales ?"
47
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
48
 
49
  CONTEXTE / RESSOURCES :\n
@@ -78,9 +76,7 @@ Tu dois le présenter rigoureusement de la façon suivante :\n
78
  num: 3
79
  key: "human_resources"
80
  prompts:
81
- - "Pré - remplir le Diagnostic"
82
- - "Décrivez la composition de l'équipe."
83
- - "Quelles sont les compétences clés ?"
84
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
85
 
86
  CONTEXTE / RESSOURCES :\n
@@ -107,9 +103,7 @@ Tu dois le présenter rigoureusement de la façon suivante :\n
107
  num: 4
108
  key: "production_resources"
109
  prompts:
110
- - "Pré - remplir le Diagnostic"
111
- - "Quels sont les équipements nécessaires ?"
112
- - "Quels sont les fournisseurs principaux ?"
113
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
114
 
115
  CONTEXTE / RESSOURCES :\n
@@ -161,9 +155,7 @@ Section 16 : \n
161
  num: 5
162
  key: "workshop_production"
163
  prompts:
164
- - "Pré - remplir le Diagnostic"
165
- - "Quels sont les différents ateliers de production ?"
166
- - "Décrivez le processus de fabrication."
167
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
168
 
169
  CONTEXTE / RESSOURCES :\n
@@ -189,63 +181,6 @@ FORMAT : Pour chacune des production que tu aura identifié, présente les résu
189
  * Évolutions possibles / Préconisations\n"
190
 
191
 
192
- variables:
193
- parts:
194
- - name: "Panier"
195
- number: 1
196
- fields:
197
- - label: "Région viticole"
198
- nature: 'radio'
199
- key: param1
200
- options: ["Champagne", "Vin de Bordeaux", "Occitanie"]
201
- value: # Valeur par défaut
202
-
203
- - label: "Millésime"
204
- nature: 'selectbox'
205
- key: param2
206
- options: ["2019", "2020", "2021", "2022"]
207
- value: # Valeur par défaut
208
-
209
- - label: "Budget prévu (en €)"
210
- nature: 'numeric'
211
- key: param3
212
- value: # Valeur par défaut
213
-
214
- - name: "Livraison"
215
- number: 2
216
- fields:
217
- - label: "Adresse de livraison"
218
- nature: ''
219
- key: param6
220
- value: # Valeur par défaut
221
-
222
- - label: "Date de livraison souhaitée"
223
- nature: 'date'
224
- key: param7
225
- value: # Valeur par défaut
226
-
227
- - name: "Paiement"
228
- number: 3
229
- fields:
230
- - label: "Mode de paiement"
231
- nature: 'selectbox'
232
- key: param8
233
- options: ["Carte de crédit", "Virement bancaire", "Chèque"]
234
- value: # Valeur par défaut
235
-
236
- - label: "Conditions de paiement"
237
- nature: 'text_area'
238
- key: param9
239
- value: # Valeur par défaut
240
-
241
- - name: "Remarques supplémentaires"
242
- number: 4
243
- fields:
244
- - label: "Remarques générales"
245
- nature: 'text_area'
246
- key: param10
247
- value: # Valeur par défaut
248
-
249
  prompt_system: "Prompt system par défaut"
250
 
251
  prompt_template: "
 
17
  num: 1
18
  key: "context_objectives"
19
  prompts:
20
+ - "Pré-remplis le diagnostique"
 
21
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
22
 
23
  CONTEXTE / RESSOURCES : Tu as accès à l'entretien que le conseiller a eu avec l'exploitant agricole. Cet entretien est fourni sous forme de transcript à cette conversation (voir pièce jointe)\n
 
41
  num: 2
42
  key: "social_legal_fiscal_status"
43
  prompts:
44
+ - "Pré-remplis le diagnostique"
 
45
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
46
 
47
  CONTEXTE / RESSOURCES :\n
 
76
  num: 3
77
  key: "human_resources"
78
  prompts:
79
+ - "Pré-remplis le diagnostique"
 
 
80
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
81
 
82
  CONTEXTE / RESSOURCES :\n
 
103
  num: 4
104
  key: "production_resources"
105
  prompts:
106
+ - "Pré-remplis le diagnostique"
 
 
107
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
108
 
109
  CONTEXTE / RESSOURCES :\n
 
155
  num: 5
156
  key: "workshop_production"
157
  prompts:
158
+ - "Pré-remplis le diagnostique"
 
 
159
  prompt_system: "ROLE : Tu es conseiller d'entreprise agricole\n
160
 
161
  CONTEXTE / RESSOURCES :\n
 
181
  * Évolutions possibles / Préconisations\n"
182
 
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  prompt_system: "Prompt system par défaut"
185
 
186
  prompt_template: "
pages/chatbot.py CHANGED
@@ -1,8 +1,9 @@
1
  import streamlit as st
2
  import uuid
 
 
3
  from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
4
  from model import selector
5
- from util import getYamlConfig
6
  from st_copy_to_clipboard import st_copy_to_clipboard
7
 
8
  chapter_num = 0
@@ -35,13 +36,19 @@ def display_messages():
35
 
36
  def launchQuery(query: str = None):
37
 
 
 
 
 
 
38
  # Initialize the assistant's response
39
  full_response = st.write_stream(
40
  st.session_state["assistant"].ask(
41
  query,
42
  prompt_system=st.session_state.prompt_system,
43
  messages=st.session_state[chapter_session_key]["messages"] if "messages" in st.session_state[chapter_session_key] else [],
44
- variables=st.session_state["data_dict"]
 
45
  ))
46
 
47
  # Temporary placeholder AI message in chat history
@@ -112,14 +119,11 @@ def page():
112
  display_messages()
113
 
114
 
115
- user_query = st.chat_input("", key=f"input_{chapter_session_key}")
116
 
117
- print(f"submission : {user_query}")
118
  if user_query is not None and user_query != "":
119
- print(user_query)
120
-
121
  st.session_state[chapter_session_key]["messages"].append(HumanMessage(content=user_query))
122
- print(st.session_state[chapter_session_key]["messages"])
123
 
124
  # Stream and display response
125
  launchQuery(user_query)
 
1
  import streamlit as st
2
  import uuid
3
+ import os
4
+
5
  from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
6
  from model import selector
 
7
  from st_copy_to_clipboard import st_copy_to_clipboard
8
 
9
  chapter_num = 0
 
36
 
37
  def launchQuery(query: str = None):
38
 
39
+ metadata = {
40
+ "production": os.environ.get("env") == "production"
41
+ }
42
+ print(metadata)
43
+
44
  # Initialize the assistant's response
45
  full_response = st.write_stream(
46
  st.session_state["assistant"].ask(
47
  query,
48
  prompt_system=st.session_state.prompt_system,
49
  messages=st.session_state[chapter_session_key]["messages"] if "messages" in st.session_state[chapter_session_key] else [],
50
+ # variables=st.session_state["data_dict"],
51
+ metadata=metadata
52
  ))
53
 
54
  # Temporary placeholder AI message in chat history
 
119
  display_messages()
120
 
121
 
122
+ user_query = st.chat_input("", key=f"input_{chapter_session_key}_{uuid.uuid4()}")
123
 
 
124
  if user_query is not None and user_query != "":
125
+
 
126
  st.session_state[chapter_session_key]["messages"].append(HumanMessage(content=user_query))
 
127
 
128
  # Stream and display response
129
  launchQuery(user_query)
rag.py CHANGED
@@ -79,7 +79,7 @@ class Rag:
79
  },
80
  )
81
 
82
- def ask(self, query: str, prompt_system: str, messages: list, variables: list = None):
83
  self.chain = self.prompt | self.model | StrOutputParser()
84
 
85
  # Retrieve the context document
@@ -111,7 +111,7 @@ class Rag:
111
  chain_input.update(extra_vars)
112
 
113
 
114
- return self.chain.stream(chain_input)
115
 
116
  def clear(self):
117
  self.document_vector_store = None
 
79
  },
80
  )
81
 
82
+ def ask(self, query: str, prompt_system: str, messages: list, variables: list = None, metadata: dict = {}):
83
  self.chain = self.prompt | self.model | StrOutputParser()
84
 
85
  # Retrieve the context document
 
111
  chain_input.update(extra_vars)
112
 
113
 
114
+ return self.chain.stream(chain_input, { metadata : metadata })
115
 
116
  def clear(self):
117
  self.document_vector_store = None