Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -228,13 +228,18 @@ class LightweightRAGSystem:
|
|
228 |
# Подготавливаем контекст
|
229 |
context_parts = []
|
230 |
for i, chunk in enumerate(context_chunks[:self.final_chunks_count]):
|
231 |
-
|
|
|
|
|
232 |
|
233 |
context = "\n\n".join(context_parts)
|
234 |
|
|
|
|
|
|
|
235 |
prompt = f"""Ты - эксперт по анализу финансовых отчетов. Ответь на вопрос пользователя на основе предоставленного контекста из годового отчета ПАО Сбербанк 2023.
|
236 |
|
237 |
-
ВОПРОС: {
|
238 |
|
239 |
КОНТЕКСТ ИЗ ОТЧЕТА:
|
240 |
{context}
|
@@ -256,7 +261,11 @@ class LightweightRAGSystem:
|
|
256 |
temperature=0.1
|
257 |
)
|
258 |
|
259 |
-
|
|
|
|
|
|
|
|
|
260 |
|
261 |
except Exception as e:
|
262 |
return f"❌ Ошибка генерации ответа: {str(e)}"
|
|
|
228 |
# Подготавливаем контекст
|
229 |
context_parts = []
|
230 |
for i, chunk in enumerate(context_chunks[:self.final_chunks_count]):
|
231 |
+
# Очищаем текст от проблемных символов
|
232 |
+
clean_text = chunk['text'].encode('utf-8', errors='ignore').decode('utf-8')
|
233 |
+
context_parts.append(f"Фрагмент {i+1} (страница {chunk['page']}):\n{clean_text}")
|
234 |
|
235 |
context = "\n\n".join(context_parts)
|
236 |
|
237 |
+
# Очищаем запрос
|
238 |
+
clean_query = query.encode('utf-8', errors='ignore').decode('utf-8')
|
239 |
+
|
240 |
prompt = f"""Ты - эксперт по анализу финансовых отчетов. Ответь на вопрос пользователя на основе предоставленного контекста из годового отчета ПАО Сбербанк 2023.
|
241 |
|
242 |
+
ВОПРОС: {clean_query}
|
243 |
|
244 |
КОНТЕКСТ ИЗ ОТЧЕТА:
|
245 |
{context}
|
|
|
261 |
temperature=0.1
|
262 |
)
|
263 |
|
264 |
+
answer = response.choices[0].message.content
|
265 |
+
if answer:
|
266 |
+
return answer.strip()
|
267 |
+
else:
|
268 |
+
return "Получен пустой ответ от модели"
|
269 |
|
270 |
except Exception as e:
|
271 |
return f"❌ Ошибка генерации ответа: {str(e)}"
|