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)}"
|