felixflier03 commited on
Commit
bccb097
·
verified ·
1 Parent(s): f8c1edb

Update chatbot_new.py

Browse files
Files changed (1) hide show
  1. chatbot_new.py +18 -24
chatbot_new.py CHANGED
@@ -1,4 +1,5 @@
1
  # chatbot_new.py
 
2
  import os
3
  import time
4
  import pickle
@@ -77,15 +78,12 @@ class StateError(ChatbotError):
77
 
78
  class IntelligentRAGChatbot:
79
  def __init__(self, vectorstore_file: Path, bm25_file: Path, api_key: Optional[str] = None):
80
- """
81
- Initialisiert den RAG Chatbot mit optimierter Ladestrategie
82
- """
83
  self.logger = logging.getLogger(__name__)
84
  self.logger.setLevel(logging.INFO)
85
 
86
  try:
87
  # Initialisiere geteilte Modelle
88
- self.shared_models = SharedModels()
89
  self.embeddings_model = self.shared_models.embeddings_model
90
 
91
  # Performance Metrics
@@ -102,47 +100,39 @@ class IntelligentRAGChatbot:
102
  # Komponenten Initialisierung
103
  self._initialize_components(api_key)
104
 
105
- # Speichere letzte Antwort für Follow-ups
106
- self.last_response = None
107
-
108
  except Exception as e:
109
  raise InitializationError(f"Fehler bei der Initialisierung: {str(e)}")
110
 
111
  def _initialize_stores(self, vectorstore_file: Path, bm25_file: Path):
112
  """Initialisiert Vector Store und BM25"""
113
  try:
114
- # Progress Container
115
- progress_text = st.empty()
116
- progress_text.info("Initialisiere Vector Store...")
117
 
118
  # Überprüfe Dateien
119
  if not vectorstore_file.exists():
120
  raise InitializationError(f"Vector Store Datei nicht gefunden: {vectorstore_file}")
121
-
122
  # Vector Store Initialisierung mit Caching
123
  self.vectorstore = load_cached_vectorstore(vectorstore_file)
124
- progress_text.info("Vector Store geladen!")
125
 
126
  # BM25 verwenden gleiche Datei
127
  self.bm25 = self.vectorstore
128
 
129
- # Aufräumen
130
- progress_text.empty()
131
-
132
  except Exception as e:
133
  raise InitializationError(f"Fehler bei Store-Initialisierung: {str(e)}")
134
 
135
  def _initialize_components(self, api_key: Optional[str] = None):
136
  """Initialisiert Komponenten"""
137
  try:
138
- # LLM Setup
139
- self.llm = self._initialize_llm(api_key)
140
 
141
- # Shared Models mit Caching
142
- self.shared_models = load_shared_models()
143
-
144
- # Nicht-gecachte Komponenten direkt initialisieren
145
- self.thematic_tracker = EnhancedThematicTracker(self.embeddings_model)
146
 
147
  # Memory Setup
148
  self.memory = ConversationBufferWindowMemory(
@@ -152,11 +142,15 @@ class IntelligentRAGChatbot:
152
  return_messages=True
153
  )
154
 
 
 
 
155
  # Optimierte Komponenten
156
  self._initialize_optimized_components()
157
-
158
- # Initialisiere letzte Antwort
159
  self.last_response = None
 
 
 
160
 
161
  except Exception as e:
162
  raise InitializationError(f"Fehler bei Komponenten-Initialisierung: {str(e)}")
 
1
  # chatbot_new.py
2
+ from caching import load_cached_vectorstore, load_shared_models, load_llm
3
  import os
4
  import time
5
  import pickle
 
78
 
79
  class IntelligentRAGChatbot:
80
  def __init__(self, vectorstore_file: Path, bm25_file: Path, api_key: Optional[str] = None):
 
 
 
81
  self.logger = logging.getLogger(__name__)
82
  self.logger.setLevel(logging.INFO)
83
 
84
  try:
85
  # Initialisiere geteilte Modelle
86
+ self.shared_models = load_shared_models()
87
  self.embeddings_model = self.shared_models.embeddings_model
88
 
89
  # Performance Metrics
 
100
  # Komponenten Initialisierung
101
  self._initialize_components(api_key)
102
 
 
 
 
103
  except Exception as e:
104
  raise InitializationError(f"Fehler bei der Initialisierung: {str(e)}")
105
 
106
  def _initialize_stores(self, vectorstore_file: Path, bm25_file: Path):
107
  """Initialisiert Vector Store und BM25"""
108
  try:
109
+ status = st.empty()
110
+ status.info("Initialisiere Vector Store...")
 
111
 
112
  # Überprüfe Dateien
113
  if not vectorstore_file.exists():
114
  raise InitializationError(f"Vector Store Datei nicht gefunden: {vectorstore_file}")
115
+
116
  # Vector Store Initialisierung mit Caching
117
  self.vectorstore = load_cached_vectorstore(vectorstore_file)
118
+ status.success("Vector Store geladen!")
119
 
120
  # BM25 verwenden gleiche Datei
121
  self.bm25 = self.vectorstore
122
 
123
+ status.empty()
124
+
 
125
  except Exception as e:
126
  raise InitializationError(f"Fehler bei Store-Initialisierung: {str(e)}")
127
 
128
  def _initialize_components(self, api_key: Optional[str] = None):
129
  """Initialisiert Komponenten"""
130
  try:
131
+ status = st.empty()
132
+ status.info("Initialisiere Komponenten...")
133
 
134
+ # LLM Setup mit Caching
135
+ self.llm = load_llm(api_key)
 
 
 
136
 
137
  # Memory Setup
138
  self.memory = ConversationBufferWindowMemory(
 
142
  return_messages=True
143
  )
144
 
145
+ # Thematic Tracker
146
+ self.thematic_tracker = EnhancedThematicTracker(self.embeddings_model)
147
+
148
  # Optimierte Komponenten
149
  self._initialize_optimized_components()
 
 
150
  self.last_response = None
151
+
152
+ status.success("Komponenten initialisiert!")
153
+ status.empty()
154
 
155
  except Exception as e:
156
  raise InitializationError(f"Fehler bei Komponenten-Initialisierung: {str(e)}")