Victoria31 commited on
Commit
9f1e7e8
·
verified ·
1 Parent(s): b747ae8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -2
app.py CHANGED
@@ -39,11 +39,34 @@ def chunk_text(text, max_chunk_length=500):
39
 
40
  return chunks
41
 
 
 
 
 
 
 
 
 
 
42
  # Load the txt files
43
  FILES = [f"Main{i}.txt" for i in range(1, 3)]
44
  knowledge_base = load_text_files(FILES)
45
  chunks = chunk_text(knowledge_base)
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  # Helper: Build prompt with context
48
  def build_prompt(user_message):
49
  context = "\n".join(chunks[:10]) # Take first 10 chunks as context for simplicity
@@ -78,12 +101,14 @@ def respond(message, history):
78
  response.raise_for_status()
79
  output = response.json()
80
  generated_text = output[0]["generated_text"]
81
- # Remove the prompt part from the response if necessary
82
- answer = generated_text.split("Answer:")[-1].strip()
83
  except Exception as e:
84
  print("API Error:", e)
85
  answer = "❌ Error contacting the model. Please try again later."
86
 
 
 
 
87
  history.append({"role": "user", "content": message})
88
  history.append({"role": "assistant", "content": answer})
89
 
 
39
 
40
  return chunks
41
 
42
+ def save_embeddings(embeddings, filename="embeddings.npy"):
43
+ np.save(filename, embeddings)
44
+
45
+ def load_embeddings(filename="embeddings.npy"):
46
+ if os.path.exists(filename):
47
+ return np.load(filename)
48
+ return None
49
+
50
+
51
  # Load the txt files
52
  FILES = [f"Main{i}.txt" for i in range(1, 3)]
53
  knowledge_base = load_text_files(FILES)
54
  chunks = chunk_text(knowledge_base)
55
 
56
+ tokenizer = AutoTokenizer.from_pretrained("sentence-transformers/all-MiniLM-L6-v2")
57
+ model = AutoModel.from_pretrained("sentence-transformers/all-MiniLM-L6-v2")
58
+
59
+ embedding_cache_file = "embeddings.npy"
60
+ chunk_embeddings = load_embeddings(embedding_cache_file)
61
+
62
+ if chunk_embeddings is None:
63
+ print("🔄 No cached embeddings found. Generating them...")
64
+ chunk_embeddings = embed_texts(chunks)
65
+ save_embeddings(chunk_embeddings, embedding_cache_file)
66
+ else:
67
+ print("✅ Loaded cached embeddings.")
68
+
69
+
70
  # Helper: Build prompt with context
71
  def build_prompt(user_message):
72
  context = "\n".join(chunks[:10]) # Take first 10 chunks as context for simplicity
 
101
  response.raise_for_status()
102
  output = response.json()
103
  generated_text = output[0]["generated_text"]
104
+
 
105
  except Exception as e:
106
  print("API Error:", e)
107
  answer = "❌ Error contacting the model. Please try again later."
108
 
109
+ if history is None:
110
+ history = []
111
+
112
  history.append({"role": "user", "content": message})
113
  history.append({"role": "assistant", "content": answer})
114