PankhuriSharma9795 commited on
Commit
d41eead
·
verified ·
1 Parent(s): d5f8384

Delete app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -81
app.py DELETED
@@ -1,81 +0,0 @@
1
- #!/usr/bin/env python
2
- # coding: utf-8
3
-
4
- # In[8]:
5
-
6
-
7
- import pickle
8
- import numpy as np
9
- import streamlit as st
10
- import warnings
11
- from transformers import pipeline, AutoTokenizer, AutoModelForSeq2SeqLM
12
-
13
- from pinecone import Pinecone
14
- from langchain_pinecone import PineconeVectorStore
15
- from langchain.chains import RetrievalQA
16
- from langchain_community.embeddings import HuggingFaceEmbeddings
17
- from langchain_community.llms import HuggingFacePipeline
18
-
19
- warnings.filterwarnings("ignore")
20
-
21
- # ==================== Load Embeddings & Docs ====================
22
- try:
23
- embeddings = np.load("embeddings.npy")
24
- with open("documents.pkl", "rb") as f:
25
- all_docs = pickle.load(f)
26
- except Exception as e:
27
- st.error(f"❌ Error loading embeddings or documents: {e}")
28
- st.stop()
29
-
30
- # ==================== Setup Pinecone ====================
31
- try:
32
- pc = Pinecone(api_key="pcsk_5gLaFZ_UMKqGsMfKLKbjRuD8qkV8vm53YyfmmPBW2GrHUX5JKN3KQcz6zmKL44Fn4ZtN33") # Replace with your actual key
33
- index = pc.Index("changi-rag-384")
34
- except Exception as e:
35
- st.error(f"❌ Error connecting to Pinecone: {e}")
36
- st.stop()
37
-
38
- # ==================== Embedding Model ====================
39
- embed_model = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
40
-
41
- # ==================== Vector Store & Retriever ====================
42
- vectorstore = PineconeVectorStore(
43
- index=index,
44
- embedding=embed_model,
45
- text_key="page_content" # This should match your metadata content key
46
- )
47
- retriever = vectorstore.as_retriever()
48
-
49
- # ==================== HuggingFace QA Model ====================
50
- model_name = "google/flan-t5-base"
51
- tokenizer = AutoTokenizer.from_pretrained(model_name)
52
- model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
53
-
54
- qa_pipeline = pipeline("text2text-generation", model=model, tokenizer=tokenizer)
55
- llm = HuggingFacePipeline(pipeline=qa_pipeline)
56
-
57
- qa = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)
58
-
59
- # ==================== Streamlit UI ====================
60
- st.set_page_config(page_title="Changi RAG Chatbot", layout="wide")
61
- st.title("🛫 Changi Airport RAG Chatbot")
62
-
63
- query = st.text_input("Ask me anything about Changi Airport facilities:")
64
-
65
- if query:
66
- with st.spinner("Thinking..."):
67
- try:
68
- response = qa.run(query)
69
- st.write("### ✈️ Answer:")
70
- st.success(response)
71
- except Exception as e:
72
- st.error(f"⚠️ Failed to generate answer: {e}")
73
-
74
-
75
-
76
-
77
- # In[ ]:
78
-
79
-
80
-
81
-