Update app.py
Browse files
app.py
CHANGED
@@ -132,11 +132,11 @@ rag_chain_with_source = RunnableParallel(
|
|
132 |
|
133 |
|
134 |
def format_result(result):
|
135 |
-
unique_videos = set((doc.metadata['
|
136 |
|
137 |
# Create a plain text string where each title is followed by its URL
|
138 |
titles_with_links = [
|
139 |
-
f"{
|
140 |
]
|
141 |
|
142 |
# Join these entries with line breaks to form a clear list
|
@@ -198,29 +198,29 @@ def summarize_act(message, act_number):
|
|
198 |
return rag_chain_summarize.invoke("")
|
199 |
|
200 |
|
201 |
-
def generate_answer(message, history, checkbox,subject_input, rubric, date_beg, date_end, act_number):
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
|
225 |
|
226 |
|
|
|
132 |
|
133 |
|
134 |
def format_result(result):
|
135 |
+
unique_videos = set((doc.metadata['act_number'], doc.metadata['act_url']) for doc in result['context'])
|
136 |
|
137 |
# Create a plain text string where each title is followed by its URL
|
138 |
titles_with_links = [
|
139 |
+
f"{act_number}: {act_url}" for act_number, act_url in unique_videos
|
140 |
]
|
141 |
|
142 |
# Join these entries with line breaks to form a clear list
|
|
|
198 |
return rag_chain_summarize.invoke("")
|
199 |
|
200 |
|
201 |
+
def generate_answer(message, history, checkbox, subject_input, rubric, date_beg, date_end, act_number):
|
202 |
+
result = ""
|
203 |
+
if checkbox:
|
204 |
+
if act_number == "":
|
205 |
+
return "Будь ласка, введіть номер акту для отримання основної інформації з нього, або зніміть відповідний прапорець."
|
206 |
+
result = summarize_act(message, act_number)
|
207 |
+
else:
|
208 |
+
if subject_input is None and rubric is None and date_beg == "2010-01-01" and date_end == "2025-01-01":
|
209 |
+
result = rag_chain_with_source.invoke(message)
|
210 |
+
else:
|
211 |
+
if subject_input is None or subject_input == []:
|
212 |
+
subject_input = ["Президент України", "Кабінет міністрів України", "Народний депутат України"]
|
213 |
+
if rubric is None or rubric == []:
|
214 |
+
rubric = ['Двосторонні міжнародні угоди', 'Багатосторонні міжнародні угоди',
|
215 |
+
'Галузевий розвиток', 'Економічна політика',
|
216 |
+
'Державне будівництво', 'Соціальна політика', 'Правова політика',
|
217 |
+
'Безпека і оборона', 'Гуманітарна політика']
|
218 |
+
result = generate_with_filters(message)
|
219 |
+
|
220 |
+
|
221 |
+
result['answer'] =result['answer'].split("[/INST]")[-1].strip()
|
222 |
+
formatted_results = format_result(result)
|
223 |
+
return formatted_results
|
224 |
|
225 |
|
226 |
|