cdupland
commited on
Commit
·
49d4c37
1
Parent(s):
1bdb375
chore: Update prompt execution logic and metadata handling
Browse files
prompt.py
CHANGED
@@ -34,7 +34,13 @@ def get_prompts_list():
|
|
34 |
button_phold = col4.empty() # create a placeholder
|
35 |
do_action = button_phold.button('Show More', key=i)
|
36 |
if do_action:
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
button_phold.empty() # remove button
|
39 |
else:
|
40 |
st.write("Data does not contain 'name', 'context', and 'text' fields.")
|
@@ -56,18 +62,11 @@ def execute_prompt(prompt):
|
|
56 |
# Initialiser les composants
|
57 |
vectorstore, chain = get_rag()
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
prompt['metadata'] = prompt['text']
|
65 |
-
prompt['html'] = prompt['text'].replace('\n', '<br>')
|
66 |
-
|
67 |
-
# Supprimer les doublons et trier les métadonnées extraites
|
68 |
-
prompt_metadata = list(set(extracted_text))
|
69 |
-
prompt_metadata.sort(key=extracted_text.index) # Conserver l'ordre d'apparition initial
|
70 |
-
|
71 |
if prompt_metadata:
|
72 |
st.info("Métadonnées à compléter : ")
|
73 |
|
@@ -83,20 +82,28 @@ def execute_prompt(prompt):
|
|
83 |
for key, value in user_inputs.items():
|
84 |
if value:
|
85 |
prompt['html'] = prompt['html'].replace(f"{key}", f"<span style='color:#63ABDF;font-weight:bold' title='{key}'>{value}</span>")
|
86 |
-
prompt['metadata'] = prompt['
|
87 |
|
88 |
# Afficher les informations du prompt
|
89 |
st.html(prompt.get('html', 'No Text Provided'))
|
90 |
|
91 |
-
# st.markdown("######")
|
92 |
-
|
93 |
-
# st.text(prompt['metadata'])
|
94 |
-
|
95 |
if vectorstore and chain:
|
96 |
st.success("Vectorestore et chain trouvés")
|
97 |
|
98 |
if st.button("Exécuter le prompt"):
|
99 |
with st.spinner("Processing..."):
|
100 |
-
ambition = chain.invoke(prompt['
|
101 |
st.markdown("### Réponse :")
|
102 |
st.markdown(ambition.content)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
button_phold = col4.empty() # create a placeholder
|
35 |
do_action = button_phold.button('Show More', key=i)
|
36 |
if do_action:
|
37 |
+
prompt_html = prompts[i]['text'].replace('\n', '<br>')
|
38 |
+
prompt_metadata = extract_metadata(prompts[i])
|
39 |
+
|
40 |
+
for text in prompt_metadata:
|
41 |
+
prompt_html = prompt_html.replace(f"{text}", f"<span style='font-weight:bold'>{text}</span>")
|
42 |
+
|
43 |
+
st.html(prompt_html) # Display the full text
|
44 |
button_phold.empty() # remove button
|
45 |
else:
|
46 |
st.write("Data does not contain 'name', 'context', and 'text' fields.")
|
|
|
62 |
# Initialiser les composants
|
63 |
vectorstore, chain = get_rag()
|
64 |
|
65 |
+
prompt_metadata = extract_metadata(prompt)
|
66 |
+
|
67 |
+
prompt['metadata'] = prompt['text']
|
68 |
+
prompt['html'] = prompt['text'].replace('\n', '<br>')
|
69 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
if prompt_metadata:
|
71 |
st.info("Métadonnées à compléter : ")
|
72 |
|
|
|
82 |
for key, value in user_inputs.items():
|
83 |
if value:
|
84 |
prompt['html'] = prompt['html'].replace(f"{key}", f"<span style='color:#63ABDF;font-weight:bold' title='{key}'>{value}</span>")
|
85 |
+
prompt['metadata'] = prompt['metadata'].replace(f"{key}", f"{value}")
|
86 |
|
87 |
# Afficher les informations du prompt
|
88 |
st.html(prompt.get('html', 'No Text Provided'))
|
89 |
|
|
|
|
|
|
|
|
|
90 |
if vectorstore and chain:
|
91 |
st.success("Vectorestore et chain trouvés")
|
92 |
|
93 |
if st.button("Exécuter le prompt"):
|
94 |
with st.spinner("Processing..."):
|
95 |
+
ambition = chain.invoke(prompt['metadata'])
|
96 |
st.markdown("### Réponse :")
|
97 |
st.markdown(ambition.content)
|
98 |
+
|
99 |
+
# Extraire le texte entre crochets dans le prompt
|
100 |
+
def extract_metadata(prompt):
|
101 |
+
extracted_text = []
|
102 |
+
if 'text' in prompt:
|
103 |
+
extracted_text = [word for word in prompt['text'].split() if word.startswith("[") and word.endswith("]")]
|
104 |
+
|
105 |
+
# Supprimer les doublons et trier les métadonnées extraites
|
106 |
+
prompt_metadata = list(set(extracted_text))
|
107 |
+
prompt_metadata.sort(key=extracted_text.index) # Conserver l'ordre d'apparition initial
|
108 |
+
|
109 |
+
return prompt_metadata
|