Momal commited on
Commit
96e69eb
·
1 Parent(s): f93b634

added raga to app file

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