Spaces:
Running
Running
edit analysis
Browse files- analysis.py +0 -37
analysis.py
CHANGED
@@ -180,40 +180,3 @@ class PrecedentAnalysisWorkflow(Workflow):
|
|
180 |
|
181 |
except Exception as e:
|
182 |
return StopEvent(result=f"Error during analysis: {str(e)}")
|
183 |
-
|
184 |
-
# Формування промпту та отримання відповіді
|
185 |
-
prompt = PRECEDENT_ANALYSIS_TEMPLATE.format(
|
186 |
-
query=query,
|
187 |
-
question=question if question else "Загальний аналіз релевантності",
|
188 |
-
context_str=context_str
|
189 |
-
)
|
190 |
-
|
191 |
-
messages = [
|
192 |
-
ChatMessage(role="system", content="Ти - кваліфікований юрист-аналітик."),
|
193 |
-
ChatMessage(role="user", content=prompt)
|
194 |
-
]
|
195 |
-
|
196 |
-
response = llm_analyse.chat(
|
197 |
-
messages=messages,
|
198 |
-
response_format=response_format
|
199 |
-
)
|
200 |
-
|
201 |
-
try:
|
202 |
-
parsed_response = json.loads(response.message.content)
|
203 |
-
if "relevant_positions" in parsed_response:
|
204 |
-
# Форматуємо результат
|
205 |
-
response_lines = []
|
206 |
-
|
207 |
-
for position in parsed_response["relevant_positions"]:
|
208 |
-
position_text = (
|
209 |
-
f"* [{position['source_index']}]: {position['description']} "
|
210 |
-
)
|
211 |
-
response_lines.append(position_text)
|
212 |
-
|
213 |
-
response_text = "\n".join(response_lines)
|
214 |
-
return StopEvent(result=response_text)
|
215 |
-
else:
|
216 |
-
return StopEvent(result="Помилка: відповідь не містить аналізу правових позицій")
|
217 |
-
|
218 |
-
except json.JSONDecodeError:
|
219 |
-
return StopEvent(result="Помилка обробки відповіді від AI")
|
|
|
180 |
|
181 |
except Exception as e:
|
182 |
return StopEvent(result=f"Error during analysis: {str(e)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|