finaspirant commited on
Commit
3ca0d47
·
1 Parent(s): 3389487

Trial Version

Browse files
Files changed (2) hide show
  1. app.py +60 -2
  2. requirements.txt +2 -0
app.py CHANGED
@@ -1,4 +1,62 @@
 
1
  import streamlit as st
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
- x = st.slider('Select a value')
4
- st.write(x, 'squared is', x * x)
 
1
+
2
  import streamlit as st
3
+ from streamlit_chat import message
4
+
5
+ #from dotenv import load_dotenv
6
+
7
+ from langchain.embeddings.openai import OpenAIEmbeddings
8
+ from langchain.vectorstores import DeepLake
9
+ from langchain.chat_models import ChatOpenAI
10
+ from langchain.chains import ConversationalRetrievalChain, RetrievalQA
11
+
12
+ #Load API Keys
13
+ #envLoad = load_dotenv('.env')
14
+ #print(envLoad)
15
+
16
+ #load Embeddings
17
+ embeddings = OpenAIEmbeddings()
18
+
19
+
20
+ db = DeepLake(dataset_path="hub://shailfinaspirant/flowret-algorithm", read_only=True, embedding_function=embeddings)
21
+
22
+ retriever = db.as_retriever()
23
+ retriever.search_kwargs['distance_metric'] = 'cos'
24
+ retriever.search_kwargs['fetch_k'] = 100
25
+ retriever.search_kwargs['maximal_marginal_relevance'] = True
26
+ retriever.search_kwargs['k'] = 10
27
+
28
+
29
+
30
+ model = ChatOpenAI(model='gpt-3.5-turbo') # switch to 'gpt-4' with money
31
+ qa = RetrievalQA.from_llm(model, retriever=retriever)
32
+
33
+ # Return the result of the query
34
+ qa.run("What is the repository's name?")
35
+
36
+
37
+ st.title(f"Chat with GitHub Repository")
38
+ # Initialize the session state for placeholder messages.
39
+ if "generated" not in st.session_state:
40
+ st.session_state["generated"] = ["i am ready to help you ser"]
41
+
42
+ if "past" not in st.session_state:
43
+ st.session_state["past"] = ["hello"]
44
+
45
+ # A field input to receive user queries
46
+ user_input = st.text_input("", key="input")
47
+
48
+ # Search the database and add the responses to state
49
+ if user_input:
50
+ output = qa.run(user_input)
51
+ st.session_state.past.append(user_input)
52
+ st.session_state.generated.append(output)
53
+
54
+ # Create the conversational UI using the previous states
55
+ if st.session_state["generated"]:
56
+ for i in range(len(st.session_state["generated"])):
57
+ message(st.session_state["past"][i], is_user=True, key=str(i) + "_user")
58
+ message(st.session_state["generated"][i], key=str(i))
59
+
60
+
61
+
62
 
 
 
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ streamlit~=1.27.0
2
+ langchain~=0.0.301