fruitpicker01 commited on
Commit
1f6f899
·
verified ·
1 Parent(s): 8dc00e2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -4
app.py CHANGED
@@ -1,3 +1,9 @@
 
 
 
 
 
 
1
  import os
2
  import json
3
  import pickle
@@ -201,20 +207,20 @@ class VectorRAGSystem:
201
 
202
  📊 **Технические характеристики:**
203
  - 📦 Векторных эмбеддингов: {total_chunks}
204
- - 🔍 Режим поиска: {mode}
205
  - 🧠 Модель генерации: {self.generation_model}
206
  - 🎯 LLM реранкинг: {self.reranking_model}
207
  - 📄 Parent-page enrichment: {pdf_enrichment}
208
  - 📋 Структурированный вывод: {structured_output}
209
 
210
  🚀 **Архитектурные особенности:**
211
- - 🔎 **Векторный поиск** с text-embedding-3-large
212
  - 📄 **Parent-page enrichment** через PyMuPDF
213
  - 🧠 **LLM реранкинг** для повышения релевантности
214
  - 🤔 **Chain-of-Thought** рассуждения
215
  - 📋 **JSON Schema** для структурированных ответов
216
  - 📊 **Confidence scoring** и детальная аналитика
217
- - 📚 **Предобработка** PDF файла (текст и таблицы) через pdfplumber
218
 
219
  💡 **Готова к интеллектуальному анализу отчета ПАО Сбербанк 2023!**"""
220
 
@@ -512,10 +518,15 @@ class VectorRAGSystem:
512
 
513
  # Подготовка источников
514
  sources = []
 
 
 
 
 
515
  for chunk, score in reranked_results[:self.final_chunks_count]:
516
  sources.append({
517
  "page": chunk["page"],
518
- "search_score": search_results[0][1] if search_results else 0,
519
  "rerank_score": score,
520
  "preview": chunk["text"][:200] + "..." if len(chunk["text"]) > 200 else chunk["text"]
521
  })
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Финальная векторная RAG система для HuggingFace Spaces
4
+ Адаптированная версия с поддержкой векторного поиска и резервным режимом
5
+ """
6
+
7
  import os
8
  import json
9
  import pickle
 
207
 
208
  📊 **Технические характеристики:**
209
  - 📦 Векторных эмбеддингов: {total_chunks}
210
+ - 🔍 Режим поиска: {mode} (только векторный)
211
  - 🧠 Модель генерации: {self.generation_model}
212
  - 🎯 LLM реранкинг: {self.reranking_model}
213
  - 📄 Parent-page enrichment: {pdf_enrichment}
214
  - 📋 Структурированный вывод: {structured_output}
215
 
216
  🚀 **Архитектурные особенности:**
217
+ - 🔎 **Векторный поиск** с text-embedding-3-large (только)
218
  - 📄 **Parent-page enrichment** через PyMuPDF
219
  - 🧠 **LLM реранкинг** для повышения релевантности
220
  - 🤔 **Chain-of-Thought** рассуждения
221
  - 📋 **JSON Schema** для структурированных ответов
222
  - 📊 **Confidence scoring** и детальная аналитика
223
+ - 📚 **Предобработка** с pdfplumber + таблицы
224
 
225
  💡 **Готова к интеллектуальному анализу отчета ПАО Сбербанк 2023!**"""
226
 
 
518
 
519
  # Подготовка источников
520
  sources = []
521
+ # Создаем словарь для быстрого поиска search_score по chunk_index
522
+ search_scores = {}
523
+ for chunk, score in search_results:
524
+ search_scores[chunk.get("chunk_index", -1)] = score
525
+
526
  for chunk, score in reranked_results[:self.final_chunks_count]:
527
  sources.append({
528
  "page": chunk["page"],
529
+ "search_score": search_scores.get(chunk.get("chunk_index", -1), 0),
530
  "rerank_score": score,
531
  "preview": chunk["text"][:200] + "..." if len(chunk["text"]) > 200 else chunk["text"]
532
  })