HackGT2023 / app.py
pn23's picture
Update app.py
956f04d
# import streamlit as st
# from langchain.callbacks import StreamlitCallbackHandler
# import streamlit as st
# from langchain.llms import OpenAI
# from langchain.agents import AgentType, initialize_agent, load_tools
# from langchain.callbacks import StreamlitCallbackHandler
# import streamlit as st
# from scraping import prompty
# import os
# st.set_page_config(page_title="NutriMentor", page_icon=":robot:")
# st.header("NutriMentor")
# from langchain.chat_models import ChatOpenAI
# from langchain.chains.question_answering import load_qa_chain
# from langchain.chains import RetrievalQA
# from langchain.llms import OpenAI
# from langchain.document_loaders import TextLoader
# from langchain.document_loaders import PyPDFLoader
# from langchain.indexes import VectorstoreIndexCreator
# from langchain.text_splitter import CharacterTextSplitter
# from langchain.embeddings import OpenAIEmbeddings
# from langchain.vectorstores import Chroma
# from langchain.chains.question_answering import load_qa_chain
# if "generated" not in st.session_state:
# st.session_state["generated"] = []
# if "past" not in st.session_state:
# st.session_state["past"] = []
# if "messages" not in st.session_state:
# st.session_state["messages"] = []
# init_alr = False
# def init_model():
# os.environ["OPENAI_API_KEY"] = "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"
# llm = ChatOpenAI(
# openai_api_key=os.environ.get("OPENAI_API_KEY"),
# model='gpt-3.5-turbo-16k',
# temperature=0,
# streaming=True
# )
# # load document
# loader = PyPDFLoader("./Dietary_Guidelines_for_Americans_2020-2025.pdf")
# documents = loader.load()
# # split the documents into chunks
# text_splitter = CharacterTextSplitter(chunk_size=10000, chunk_overlap=0)
# texts = text_splitter.split_documents(documents)
# # select which embeddings we want to use
# embeddings = OpenAIEmbeddings()
# # create the vectorestore to use as the index
# db = Chroma.from_documents(texts, embeddings)
# # expose this index in a retriever interface
# retriever = db.as_retriever(search_type="similarity", search_kwargs={"k":2})
# # create a chain to answer questions
# qa = RetrievalQA.from_chain_type(
# llm=llm, chain_type="stuff", retriever=retriever, return_source_documents=False)
# return qa
# st_callback = StreamlitCallbackHandler(st.container())
# # date_input = st.text_input(
# # "Enter Date (ex. 10-11) πŸ‘‡",
# # label_visibility=st.session_state.visibility,
# # disabled=st.session_state.disabled,
# # placeholder=st.session_state.placeholder,
# # )
# date_input = st.text_input(label = "Enter Date (ex. 10-11) πŸ‘‡" )
# if prompt := st.chat_input():
# st.chat_message("user").write(prompt)
# with st.chat_message("assistant"):
# #st_callback = StreamlitCallbackHandler(st.container())
# if init_alr == False:
# init_alr = True
# qa = init_model()
# #Call query generator with text_input
# query = prompty(date_input, prompt)
# result = qa({"query": query})
# st.write(result['result'])
# st.stop()