aamirhameed commited on
Commit
5304fdb
·
verified ·
1 Parent(s): e1851fc

Update knowledge_engine.py

Browse files
Files changed (1) hide show
  1. knowledge_engine.py +13 -26
knowledge_engine.py CHANGED
@@ -1,20 +1,10 @@
1
  import os
2
  import pickle
3
- from typing import List, Dict, Any
4
  from datetime import datetime
5
  from concurrent.futures import ThreadPoolExecutor
6
 
7
  from config import Config
8
-
9
- # Get token from environment variable
10
- hf_token = os.getenv("HUGGINGFACEHUB_API_TOKEN")
11
-
12
- if not hf_token:
13
- raise ValueError("HUGGINGFACEHUB_API_TOKEN not found in environment variables. Please set it in your Space secrets.")
14
-
15
- os.environ["HUGGINGFACEHUB_API_TOKEN"] = hf_token
16
-
17
- # Core ML/AI libraries
18
  from langchain_community.document_loaders import TextLoader, DirectoryLoader
19
  from langchain.text_splitter import RecursiveCharacterTextSplitter
20
  from langchain_community.vectorstores import FAISS
@@ -22,33 +12,30 @@ from langchain.chains import RetrievalQA
22
  from langchain.prompts import PromptTemplate
23
  from langchain.retrievers import BM25Retriever
24
  from langchain_community.embeddings import HuggingFaceEmbeddings
25
- from transformers import AutoTokenizer, pipeline
26
- from langchain_community.llms import HuggingFacePipeline
27
 
28
  class KnowledgeManager:
29
  def __init__(self):
30
  Config.setup_dirs()
31
  self.embeddings = self._init_embeddings()
32
  self.vector_db, self.bm25_retriever = self._init_retrievers()
33
- self.qa_chain = self._create_moe_qa_chain()
34
 
35
  def _init_embeddings(self):
36
  print("[i] Using Hugging Face embeddings")
37
  return HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
38
 
39
  def _init_llm(self):
40
- print("[i] Using Hugging Face LLM")
41
- model_id = "tiiuae/falcon-7b-instruct"
42
- tokenizer = AutoTokenizer.from_pretrained(model_id)
43
- pipe = pipeline(
44
- "text-generation",
45
- model=model_id,
46
- tokenizer=tokenizer,
47
- temperature=0.1,
48
- max_new_tokens=512,
49
- device_map="auto"
50
  )
51
- return HuggingFacePipeline(pipeline=pipe)
52
 
53
  def _init_retrievers(self):
54
  faiss_index_path = Config.VECTOR_STORE_PATH / "index.faiss"
@@ -124,7 +111,7 @@ class KnowledgeManager:
124
 
125
  return vector_results + bm25_results
126
 
127
- def _create_moe_qa_chain(self):
128
  if not self.vector_db or not self.bm25_retriever:
129
  return None
130
 
 
1
  import os
2
  import pickle
3
+ from typing import Dict, Any
4
  from datetime import datetime
5
  from concurrent.futures import ThreadPoolExecutor
6
 
7
  from config import Config
 
 
 
 
 
 
 
 
 
 
8
  from langchain_community.document_loaders import TextLoader, DirectoryLoader
9
  from langchain.text_splitter import RecursiveCharacterTextSplitter
10
  from langchain_community.vectorstores import FAISS
 
12
  from langchain.prompts import PromptTemplate
13
  from langchain.retrievers import BM25Retriever
14
  from langchain_community.embeddings import HuggingFaceEmbeddings
15
+ from langchain_community.llms import HuggingFaceHub
 
16
 
17
  class KnowledgeManager:
18
  def __init__(self):
19
  Config.setup_dirs()
20
  self.embeddings = self._init_embeddings()
21
  self.vector_db, self.bm25_retriever = self._init_retrievers()
22
+ self.qa_chain = self._create_qa_chain()
23
 
24
  def _init_embeddings(self):
25
  print("[i] Using Hugging Face embeddings")
26
  return HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
27
 
28
  def _init_llm(self):
29
+ print("[i] Using HuggingFaceHub with Mistral-7B")
30
+ return HuggingFaceHub(
31
+ repo_id="mistralai/Mistral-7B-Instruct-v0.1",
32
+ huggingfacehub_api_token=os.getenv("HUGGINGFACEHUB_API_TOKEN"),
33
+ model_kwargs={
34
+ "temperature": 0.1,
35
+ "max_new_tokens": 512,
36
+ "do_sample": True
37
+ }
 
38
  )
 
39
 
40
  def _init_retrievers(self):
41
  faiss_index_path = Config.VECTOR_STORE_PATH / "index.faiss"
 
111
 
112
  return vector_results + bm25_results
113
 
114
+ def _create_qa_chain(self):
115
  if not self.vector_db or not self.bm25_retriever:
116
  return None
117