Raghuan commited on
Commit
d47e16f
·
verified ·
1 Parent(s): 749a229

Upload 8 files

Browse files
app.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import faiss
3
+ import pickle
4
+ from transformers import AutoTokenizer, HuggingFaceEndpoint
5
+ import os
6
+
7
+ st.title("Chatbot Interface")
8
+
9
+ # User role input
10
+ user_role = st.text_input("Enter your role (Sales, Marketing, HR)")
11
+
12
+ query = st.text_input("Enter your query")
13
+
14
+ dataset = st.selectbox("Select Dataset", ["Sales", "Marketing", "HR"])
15
+
16
+ # Load Meta-Llama model using Hugging Face Endpoint
17
+ temperature = 0.7
18
+ max_new_tokens = 150
19
+ llm = HuggingFaceEndpoint(
20
+ repo_id="meta-llama/Meta-Llama-3-8B-Instruct",
21
+ temperature=temperature,
22
+ max_new_tokens=max_new_tokens,
23
+ huggingfacehub_api_token=os.getenv("P_HF_TOKEN", "None"),
24
+ )
25
+
26
+ # Retrieve relevant data from vector database
27
+ if query and dataset:
28
+ if user_role == dataset: # Simple access control
29
+ index_file = f'vector_db_{dataset}.index'
30
+ metadata_file = f'metadata_{dataset}.pkl'
31
+
32
+ if os.path.exists(index_file) and os.path.exists(metadata_file):
33
+ index = faiss.read_index(index_file)
34
+ with open(metadata_file, 'rb') as f:
35
+ metadata = pickle.load(f)
36
+
37
+ # Load pre-trained model for embeddings
38
+ model = SentenceTransformer('all-MiniLM-L6-v2')
39
+ query_embedding = model.encode([query])
40
+
41
+ # Search in the vector database
42
+ distances, indices = index.search(query_embedding, k=5)
43
+
44
+ results = [metadata[i] for i in indices[0]]
45
+ st.write("Results:", results)
46
+
47
+ # Use the retrieved data as context for LLM
48
+ context = " ".join(results)
49
+ response = llm(f"{context}\n\n{query}")
50
+ st.write("Chatbot:", response)
51
+ else:
52
+ st.write("No data found for the selected dataset.")
53
+ else:
54
+ st.write("Access denied: You do not have permission to access this dataset.")
metadata_HR.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6404ac6866a8bc54162bb4075a6769c032220f75c81dd9f30b870f6667c17372
3
+ size 3036
metadata_Marketing.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6a4b72bdffc384e62cd66b61b00de6e9b738de97593c552691069e1c81877e08
3
+ size 1639
metadata_Sales.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a702a2cceb2776d899dd7ae78633917f6956cef3adc71330feb5031cf932b7a0
3
+ size 1390
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ streamlit
2
+ faiss-cpu
3
+ sentence-transformers
4
+ transformers
5
+ huggingface-hub
vector_db_HR.index ADDED
Binary file (3.12 kB). View file
 
vector_db_Marketing.index ADDED
Binary file (3.12 kB). View file
 
vector_db_Sales.index ADDED
Binary file (1.58 kB). View file