Shabdobhedi commited on
Commit
1cb79c4
·
verified ·
1 Parent(s): ac7ca22

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +102 -102
app.py CHANGED
@@ -1,102 +1,102 @@
1
- from flask import Flask, render_template, jsonify, request
2
- from src.helper import download_hugging_face_embeddings
3
-
4
- from langchain_community.vectorstores import FAISS
5
-
6
- from langchain.prompts import PromptTemplate
7
- from langchain_groq import ChatGroq
8
- # from langchain.llms import CTransformers
9
- from langchain.chains import RetrievalQA
10
- from langchain_core.prompts import ChatPromptTemplate
11
- from dotenv import load_dotenv
12
- from src.prompt import *
13
- import os
14
- from store_index import create_vector_db
15
- app = Flask(__name__)
16
-
17
- # load_dotenv()
18
-
19
- # PINECONE_API_KEY = os.environ.get('PINECONE_API_KEY')
20
- # PINECONE_API_ENV = os.environ.get('PINECONE_API_ENV')
21
-
22
-
23
- # DATA_PATH = '/kaggle/input/book-pdf'
24
- # DB_FAISS_PATH = r'G:\Chatbot\data\vector'
25
-
26
- # Create vector database
27
- create_vector_db()
28
- print("###333")
29
- # Call the function directly in the cell
30
-
31
- '''#Initializing the Pinecone
32
- pinecone.init(api_key=PINECONE_API_KEY,
33
- environment=PINECONE_API_ENV)
34
-
35
- index_name="medical-bot"'''
36
-
37
- embeddings = download_hugging_face_embeddings()
38
- # Load the FAISS vector database
39
-
40
- # also i change here
41
- # db = FAISS.load_local(DB_FAISS_PATH, embeddings)
42
- DB_FAISS_PATH = r'G:\Chatbot\data\vector'
43
- print("vector_base is loading from the folder")
44
- db = FAISS.load_local(DB_FAISS_PATH, embeddings,
45
- allow_dangerous_deserialization=True)
46
- # Loading the index
47
- # db = FAISS.load_local(r"G:\Chatbot\DB_FAISS_PATH",embeddings, allow_dangerous_deserialization=True)
48
-
49
-
50
- # docsearch=Pinecone.from_existing_index(index_name, embeddings)
51
-
52
- # Create a ChatPromptTemplate
53
- prompt = ChatPromptTemplate.from_template(prompt_template)
54
-
55
- chain_type_kwargs = {"prompt": prompt}
56
-
57
- '''PROMPT = PromptTemplate(template=prompt_template,
58
- input_variables=["context", "question"])
59
-
60
- chain_type_kwargs = {"prompt": PROMPT}'''
61
-
62
- '''llm = CTransformers(model=r"G:\Chatbot\model\llama-2-7b-chat.ggmlv3.q4_0.bin",
63
- model_type="llama",
64
- config={'max_new_tokens': 512,
65
- 'temperature': 0.8})'''
66
-
67
- # Initialize the LLM
68
- # llm = ChatGroq(groq_api_key=groq_api_key, model_name="Llama3-8b-8192")
69
- # groq_api_key = ('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')
70
- # Load the GROQ and OpenAI API keys
71
- groq_api_key = os.getenv('GROQ_API_KEY')
72
- # os.environ["GOOGLE_API_KEY"] = os.getenv("GOOGLE_API_KEY")
73
- # Initialize the LLM
74
- llm = ChatGroq(groq_api_key=groq_api_key,
75
- model_name="Llama3-8b-8192")
76
-
77
-
78
- qa = RetrievalQA.from_chain_type(
79
- llm=llm,
80
- chain_type="stuff",
81
- retriever=db.as_retriever(search_kwargs={'k': 2}),
82
- return_source_documents=True,
83
- chain_type_kwargs=chain_type_kwargs)
84
-
85
-
86
- @app.route("/")
87
- def index():
88
- return render_template('chat.html')
89
-
90
-
91
- @app.route("/get", methods=["GET", "POST"])
92
- def chat():
93
- msg = request.form["msg"]
94
- input = msg
95
- print(input)
96
- result = qa({"query": input})
97
- print("Response : ", result["result"])
98
- return str(result["result"])
99
-
100
-
101
- if __name__ == '__main__':
102
- app.run(host="0.0.0.0", port=8080, debug=True)
 
1
+ from flask import Flask, render_template, jsonify, request
2
+ from src.helper import download_hugging_face_embeddings
3
+
4
+ from langchain_community.vectorstores import FAISS
5
+
6
+ from langchain.prompts import PromptTemplate
7
+ from langchain_groq import ChatGroq
8
+ # from langchain.llms import CTransformers
9
+ from langchain.chains import RetrievalQA
10
+ from langchain_core.prompts import ChatPromptTemplate
11
+ from dotenv import load_dotenv
12
+ from src.prompt import *
13
+ import os
14
+ from store_index import create_vector_db
15
+ app = Flask(__name__)
16
+
17
+ # load_dotenv()
18
+
19
+ # PINECONE_API_KEY = os.environ.get('PINECONE_API_KEY')
20
+ # PINECONE_API_ENV = os.environ.get('PINECONE_API_ENV')
21
+
22
+
23
+ # DATA_PATH = '/kaggle/input/book-pdf'
24
+ # DB_FAISS_PATH = r'G:\Chatbot\data\vector'
25
+
26
+ # Create vector database
27
+ #create_vector_db()
28
+ print("###333")
29
+ # Call the function directly in the cell
30
+
31
+ '''#Initializing the Pinecone
32
+ pinecone.init(api_key=PINECONE_API_KEY,
33
+ environment=PINECONE_API_ENV)
34
+
35
+ index_name="medical-bot"'''
36
+
37
+ embeddings = download_hugging_face_embeddings()
38
+ # Load the FAISS vector database
39
+
40
+ # also i change here
41
+ # db = FAISS.load_local(DB_FAISS_PATH, embeddings)
42
+ DB_FAISS_PATH = r'data\vector'
43
+ print("vector_base is loading from the folder")
44
+ db = FAISS.load_local(DB_FAISS_PATH, embeddings,
45
+ allow_dangerous_deserialization=True)
46
+ # Loading the index
47
+ # db = FAISS.load_local(r"G:\Chatbot\DB_FAISS_PATH",embeddings, allow_dangerous_deserialization=True)
48
+
49
+
50
+ # docsearch=Pinecone.from_existing_index(index_name, embeddings)
51
+
52
+ # Create a ChatPromptTemplate
53
+ prompt = ChatPromptTemplate.from_template(prompt_template)
54
+
55
+ chain_type_kwargs = {"prompt": prompt}
56
+
57
+ '''PROMPT = PromptTemplate(template=prompt_template,
58
+ input_variables=["context", "question"])
59
+
60
+ chain_type_kwargs = {"prompt": PROMPT}'''
61
+
62
+ '''llm = CTransformers(model=r"G:\Chatbot\model\llama-2-7b-chat.ggmlv3.q4_0.bin",
63
+ model_type="llama",
64
+ config={'max_new_tokens': 512,
65
+ 'temperature': 0.8})'''
66
+
67
+ # Initialize the LLM
68
+ # llm = ChatGroq(groq_api_key=groq_api_key, model_name="Llama3-8b-8192")
69
+ # groq_api_key = ('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')
70
+ # Load the GROQ and OpenAI API keys
71
+ groq_api_key = os.getenv('GROQ_API_KEY')
72
+ # os.environ["GOOGLE_API_KEY"] = os.getenv("GOOGLE_API_KEY")
73
+ # Initialize the LLM
74
+ llm = ChatGroq(groq_api_key=groq_api_key,
75
+ model_name="Llama3-8b-8192")
76
+
77
+
78
+ qa = RetrievalQA.from_chain_type(
79
+ llm=llm,
80
+ chain_type="stuff",
81
+ retriever=db.as_retriever(search_kwargs={'k': 2}),
82
+ return_source_documents=True,
83
+ chain_type_kwargs=chain_type_kwargs)
84
+
85
+
86
+ @app.route("/")
87
+ def index():
88
+ return render_template('chat.html')
89
+
90
+
91
+ @app.route("/get", methods=["GET", "POST"])
92
+ def chat():
93
+ msg = request.form["msg"]
94
+ input = msg
95
+ print(input)
96
+ result = qa({"query": input})
97
+ print("Response : ", result["result"])
98
+ return str(result["result"])
99
+
100
+
101
+ if __name__ == '__main__':
102
+ app.run(host="0.0.0.0", port=8080, debug=True)