Spaces:
Running
Running
cdupland
commited on
Commit
•
fded6e8
1
Parent(s):
49d4c37
chore: Update prompt execution logic and metadata handling
Browse files- RAG_PDF_WEB.py +3 -4
- app.py +1 -4
- prompt.py +8 -4
- session.py +5 -1
RAG_PDF_WEB.py
CHANGED
@@ -12,6 +12,8 @@ from langchain_core.runnables import RunnablePassthrough
|
|
12 |
from langchain_community.document_loaders import WebBaseLoader
|
13 |
import os
|
14 |
|
|
|
|
|
15 |
def get_docs_from_website(urls):
|
16 |
loader = WebBaseLoader(urls, header_template={
|
17 |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
|
@@ -214,7 +216,4 @@ def rag_pdf_web():
|
|
214 |
st.markdown(response.content)
|
215 |
|
216 |
if vectorstore and chain:
|
217 |
-
|
218 |
-
return vectorstore, chain
|
219 |
-
else:
|
220 |
-
return None, None
|
|
|
12 |
from langchain_community.document_loaders import WebBaseLoader
|
13 |
import os
|
14 |
|
15 |
+
from session import set_rag
|
16 |
+
|
17 |
def get_docs_from_website(urls):
|
18 |
loader = WebBaseLoader(urls, header_template={
|
19 |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
|
|
|
216 |
st.markdown(response.content)
|
217 |
|
218 |
if vectorstore and chain:
|
219 |
+
set_rag(vectorstore, chain)
|
|
|
|
|
|
app.py
CHANGED
@@ -85,10 +85,7 @@ def main():
|
|
85 |
display_materiality_matrix(selected_company, data, bziiit_data)
|
86 |
|
87 |
elif ia_mode == "Audit flash RSE de vos contenus":
|
88 |
-
|
89 |
-
if vectorstore and chain:
|
90 |
-
st.session_state['vectorstore'] = vectorstore
|
91 |
-
st.session_state['chain'] = chain
|
92 |
|
93 |
elif ia_mode == "Prompt RSE disponibles":
|
94 |
get_prompts_list()
|
|
|
85 |
display_materiality_matrix(selected_company, data, bziiit_data)
|
86 |
|
87 |
elif ia_mode == "Audit flash RSE de vos contenus":
|
88 |
+
rag_pdf_web()
|
|
|
|
|
|
|
89 |
|
90 |
elif ia_mode == "Prompt RSE disponibles":
|
91 |
get_prompts_list()
|
prompt.py
CHANGED
@@ -51,7 +51,7 @@ def get_prompts_list():
|
|
51 |
def prompt_execution():
|
52 |
prompts = get_prompts()
|
53 |
|
54 |
-
selected_prompt = st.selectbox("Choisissez un prompt", prompts, format_func=lambda prompt: prompt['name'])
|
55 |
if selected_prompt:
|
56 |
return selected_prompt
|
57 |
|
@@ -68,14 +68,14 @@ def execute_prompt(prompt):
|
|
68 |
prompt['html'] = prompt['text'].replace('\n', '<br>')
|
69 |
|
70 |
if prompt_metadata:
|
71 |
-
st.info("
|
72 |
|
73 |
# Demander à l'utilisateur de fournir des valeurs pour chaque métadonnée extraite
|
74 |
user_inputs = {}
|
75 |
for text in prompt_metadata:
|
76 |
prompt['html'] = prompt['html'].replace(f"{text}", f"<span style='font-weight:bold'>{text}</span>")
|
77 |
|
78 |
-
user_input = st.text_input(f"
|
79 |
user_inputs[text] = user_input # Stocker la valeur de l'entrée utilisateur
|
80 |
|
81 |
# Remplacer les valeurs par le texte correspondant dans prompt['text']
|
@@ -85,16 +85,20 @@ def execute_prompt(prompt):
|
|
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):
|
|
|
51 |
def prompt_execution():
|
52 |
prompts = get_prompts()
|
53 |
|
54 |
+
selected_prompt = st.selectbox("Choisissez un prompt", prompts, index=None, format_func=lambda prompt: prompt['name'])
|
55 |
if selected_prompt:
|
56 |
return selected_prompt
|
57 |
|
|
|
68 |
prompt['html'] = prompt['text'].replace('\n', '<br>')
|
69 |
|
70 |
if prompt_metadata:
|
71 |
+
st.info("Données à compléter")
|
72 |
|
73 |
# Demander à l'utilisateur de fournir des valeurs pour chaque métadonnée extraite
|
74 |
user_inputs = {}
|
75 |
for text in prompt_metadata:
|
76 |
prompt['html'] = prompt['html'].replace(f"{text}", f"<span style='font-weight:bold'>{text}</span>")
|
77 |
|
78 |
+
user_input = st.text_input(f"{text}")
|
79 |
user_inputs[text] = user_input # Stocker la valeur de l'entrée utilisateur
|
80 |
|
81 |
# Remplacer les valeurs par le texte correspondant dans prompt['text']
|
|
|
85 |
prompt['metadata'] = prompt['metadata'].replace(f"{key}", f"{value}")
|
86 |
|
87 |
# Afficher les informations du prompt
|
88 |
+
if prompt_metadata:
|
89 |
+
st.markdown("---")
|
90 |
+
|
91 |
st.html(prompt.get('html', 'No Text Provided'))
|
92 |
|
93 |
if vectorstore and chain:
|
|
|
94 |
|
95 |
if st.button("Exécuter le prompt"):
|
96 |
with st.spinner("Processing..."):
|
97 |
ambition = chain.invoke(prompt['metadata'])
|
98 |
st.markdown("### Réponse :")
|
99 |
st.markdown(ambition.content)
|
100 |
+
else:
|
101 |
+
st.error("RAG non configuré. Veuillez configurer votre RAG pour exécuter le prompt.")
|
102 |
|
103 |
# Extraire le texte entre crochets dans le prompt
|
104 |
def extract_metadata(prompt):
|
session.py
CHANGED
@@ -7,4 +7,8 @@ def get_rag():
|
|
7 |
|
8 |
return vectorstore, chain
|
9 |
else:
|
10 |
-
return None, None
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
return vectorstore, chain
|
9 |
else:
|
10 |
+
return None, None
|
11 |
+
|
12 |
+
def set_rag(vectorstore, chain):
|
13 |
+
st.session_state['vectorstore'] = vectorstore
|
14 |
+
st.session_state['chain'] = chain
|