pn23 commited on
Commit
13c0200
·
1 Parent(s): a0b4712

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +57 -7
app.py CHANGED
@@ -13,21 +13,71 @@ os.environ["OPENAI_API_KEY"] = "sk-D30n0meArZqHhnMqe5TeT3BlbkFJUjqqnbFL1D5GDLK0k
13
  st.set_page_config(page_title="ChefGT", page_icon=":robot:")
14
  st.header("AidFinder")
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
 
18
  st_callback = StreamlitCallbackHandler(st.container())
19
 
20
 
21
 
22
- llm = OpenAI(temperature=0, streaming=True)
23
- tools = load_tools(["ddg-search"])
24
- agent = initialize_agent(
25
- tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
26
- )
 
 
 
 
 
 
 
27
 
28
  if prompt := st.chat_input():
29
  st.chat_message("user").write(prompt)
30
  with st.chat_message("assistant"):
31
  st_callback = StreamlitCallbackHandler(st.container())
32
- response = agent.run(prompt, callbacks=[st_callback])
33
- st.write(response)
 
 
 
 
 
 
13
  st.set_page_config(page_title="ChefGT", page_icon=":robot:")
14
  st.header("AidFinder")
15
 
16
+ from langchain.chat_models import ChatOpenAI
17
+ from langchain.chains.question_answering import load_qa_chain
18
+
19
+ llm = ChatOpenAI(
20
+ openai_api_key=os.environ.get("OPENAI_API_KEY"),
21
+ model='gpt-3.5-turbo-16k',
22
+ temperature=0,
23
+ streaming=True
24
+ )
25
+
26
+ from langchain.chains import RetrievalQA
27
+ from langchain.llms import OpenAI
28
+ from langchain.document_loaders import TextLoader
29
+ from langchain.document_loaders import PyPDFLoader
30
+ from langchain.indexes import VectorstoreIndexCreator
31
+ from langchain.text_splitter import CharacterTextSplitter
32
+ from langchain.embeddings import OpenAIEmbeddings
33
+ from langchain.vectorstores import Chroma
34
+ from langchain.chains.question_answering import load_qa_chain
35
+
36
+ # load document
37
+ loader = PyPDFLoader("/content/drive/MyDrive/HackGT/Dietary_Guidelines_for_Americans_2020-2025.pdf")
38
+ documents = loader.load()
39
+ # split the documents into chunks
40
+ text_splitter = CharacterTextSplitter(chunk_size=10000, chunk_overlap=0)
41
+ texts = text_splitter.split_documents(documents)
42
+ # select which embeddings we want to use
43
+ embeddings = OpenAIEmbeddings()
44
+ # create the vectorestore to use as the index
45
+ db = Chroma.from_documents(texts, embeddings)
46
+ # expose this index in a retriever interface
47
+ retriever = db.as_retriever(search_type="similarity", search_kwargs={"k":2})
48
+ # create a chain to answer questions
49
+ qa = RetrievalQA.from_chain_type(
50
+ llm=llm, chain_type="stuff", retriever=retriever, return_source_documents=False)
51
+
52
+
53
+
54
 
55
 
56
  st_callback = StreamlitCallbackHandler(st.container())
57
 
58
 
59
 
60
+ # llm = OpenAI(temperature=0, streaming=True)
61
+ # tools = load_tools(["ddg-search"])
62
+ # agent = initialize_agent(
63
+ # tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
64
+ # )
65
+
66
+ text_input = st.text_input(
67
+ "Enter Date 👇",
68
+ label_visibility=st.session_state.visibility,
69
+ disabled=st.session_state.disabled,
70
+ placeholder=st.session_state.placeholder,
71
+ )
72
 
73
  if prompt := st.chat_input():
74
  st.chat_message("user").write(prompt)
75
  with st.chat_message("assistant"):
76
  st_callback = StreamlitCallbackHandler(st.container())
77
+
78
+ #Call query generator with text_input
79
+ result = qa({"query": query})
80
+
81
+
82
+
83
+ st.write(result['result'])