esrakoc commited on
Commit
f05eb37
·
verified ·
1 Parent(s): a82b696

Update src/chatbot.py

Browse files
Files changed (1) hide show
  1. src/chatbot.py +31 -11
src/chatbot.py CHANGED
@@ -18,38 +18,58 @@ from dotenv import load_dotenv
18
  class TDKChatbot:
19
  """TDK Sözlük RAG Chatbot."""
20
 
21
- def __init__(self, api_key=None, vector_store_path="./data/vector_store"):
22
  """
23
  Args:
24
  api_key: Gemini API anahtarı
25
  vector_store_path: Vector store dosya yolu
26
  """
 
 
27
  # Environment variables yükle
28
  load_dotenv()
29
-
30
  # API key kontrolü
31
  self.api_key = api_key or os.getenv('GEMINI_API_KEY')
32
  if not self.api_key:
33
- raise ValueError("GEMINI_API_KEY bulunamadı! .env dosyasını kontrol edin.")
34
-
35
- print("TDK Chatbot başlatılıyor...")
36
-
 
 
 
 
 
 
 
 
 
 
 
37
  # Gemini'yi yapılandır
38
  genai.configure(api_key=self.api_key)
39
-
40
- # Gemini modelini seç (2.0 Flash - hızlı ve güçlü)
41
  self.model = genai.GenerativeModel('gemini-2.0-flash-exp')
42
- print("Gemini 2.0 Flash modeli yüklendi")
43
-
44
  # Embedding modelini yükle
45
  print("Embedding modeli yükleniyor...")
46
  self.embedder = EmbeddingModel()
47
-
48
  # Vector store'u yükle
49
  print("Vector store yükleniyor...")
50
  self.vector_store = FAISSVectorStore()
 
 
 
 
51
  if not self.vector_store.load(vector_store_path):
52
  raise ValueError("Vector store yüklenemedi!")
 
 
 
 
 
53
 
54
  print("Chatbot hazır!\n")
55
 
 
18
  class TDKChatbot:
19
  """TDK Sözlük RAG Chatbot."""
20
 
21
+ def __init__(self, api_key=None, vector_store_path=None):
22
  """
23
  Args:
24
  api_key: Gemini API anahtarı
25
  vector_store_path: Vector store dosya yolu
26
  """
27
+ from data_downloader import DataDownloader # İÇERİDE IMPORT
28
+
29
  # Environment variables yükle
30
  load_dotenv()
31
+
32
  # API key kontrolü
33
  self.api_key = api_key or os.getenv('GEMINI_API_KEY')
34
  if not self.api_key:
35
+ raise ValueError("GEMINI_API_KEY bulunamadı!")
36
+
37
+ print("=" * 70)
38
+ print("TDK CHATBOT BAŞLATILIYOR")
39
+ print("=" * 70)
40
+
41
+ # DATASET'TEN DOSYALARI İNDİR
42
+ downloader = DataDownloader()
43
+ if not downloader.check_files():
44
+ print("\nVector store bulunamadı, dataset'ten indiriliyor...")
45
+ if not downloader.download_and_setup():
46
+ raise ValueError("Dosyalar indirilemedi!")
47
+ else:
48
+ print("Vector store dosyaları mevcut\n")
49
+
50
  # Gemini'yi yapılandır
51
  genai.configure(api_key=self.api_key)
 
 
52
  self.model = genai.GenerativeModel('gemini-2.0-flash-exp')
53
+ print("Gemini 2.0 Flash hazır")
54
+
55
  # Embedding modelini yükle
56
  print("Embedding modeli yükleniyor...")
57
  self.embedder = EmbeddingModel()
58
+
59
  # Vector store'u yükle
60
  print("Vector store yükleniyor...")
61
  self.vector_store = FAISSVectorStore()
62
+
63
+ if vector_store_path is None:
64
+ vector_store_path = "./data/vector_store"
65
+
66
  if not self.vector_store.load(vector_store_path):
67
  raise ValueError("Vector store yüklenemedi!")
68
+
69
+ print("\n" + "=" * 70)
70
+ print("CHATBOT HAZIR!")
71
+ print("=" * 70)
72
+ print()
73
 
74
  print("Chatbot hazır!\n")
75