nehalshah commited on
Commit
076b99e
·
verified ·
1 Parent(s): a94baef

Create ns_updyoga.py

Browse files
Files changed (1) hide show
  1. ns_updyoga.py +56 -0
ns_updyoga.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import os
3
+ from langchain.document_loaders.csv_loader import CSVLoader
4
+ from langchain.embeddings.openai import OpenAIEmbeddings
5
+ from langchain.embeddings import CacheBackedEmbeddings
6
+ from langchain_community.vectorstores import FAISS
7
+ from langchain.storage import LocalFileStore
8
+ from langchain_openai import ChatOpenAI
9
+ from langchain.chains import RetrievalQA
10
+ from langchain.callbacks import StdOutCallbackHandler
11
+
12
+ def create_index():
13
+ # load the data
14
+ dir = os.path.dirname(__file__)
15
+ df_path = dir + '/data/yoga_Health_FAQ.csv'
16
+ loader = CSVLoader(file_path = df_path)
17
+ data = loader.load()
18
+
19
+ # create the embeddings model
20
+ embeddings_model = OpenAIEmbeddings()
21
+
22
+ # create the cache backed embeddings in vector store
23
+ store = LocalFileStore("./cache")
24
+ cached_embeder = CacheBackedEmbeddings.from_bytes_store(
25
+ embeddings_model, store, namespace=embeddings_model.model
26
+ )
27
+ vector_store = FAISS.from_documents(data, embeddings_model)
28
+
29
+ return vector_store.as_retriever()
30
+
31
+ def setup(openai_key):
32
+ # Set the API key for OpenAI
33
+ os.environ["OPENAI_API_KEY"] = openai_key
34
+ retriver = create_index()
35
+ llm = ChatOpenAI(model="gpt-4")
36
+ return retriver, llm
37
+
38
+
39
+ def yg_assistant(openai_key,query):
40
+
41
+ # Setup
42
+ retriever,llm = setup(openai_key)
43
+ # Create the QA chain
44
+ handler = StdOutCallbackHandler()
45
+
46
+ qa_with_sources_chain = RetrievalQA.from_chain_type(
47
+ llm=llm,
48
+ retriever=retriever,
49
+ callbacks=[handler],
50
+ return_source_documents=True
51
+ )
52
+
53
+ # Ask a question
54
+ res = qa_with_sources_chain({"query":query})
55
+ return (res['result'])
56
+ # (mh_assistant("sadfs",'what is mental health?'))