Anirudh1993 commited on
Commit
9747991
·
verified ·
1 Parent(s): dd2b131

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -34
app.py CHANGED
@@ -1,34 +1,38 @@
1
- import streamlit as st
2
- from document_chat import ingest_pdf, process_query_with_memory
3
-
4
- #configure streamlit app
5
- st.set_page_config(page_title="AI Document Q&A Chatbot", layout="wide")
6
- st.title("📄 AI-Powered Document Chatbot")
7
- st.write("Upload a document and ask questions!")
8
-
9
- #upload document
10
- uploaded_file = st.file_uploader("Upload a PDF", type=["pdf"])
11
- if uploaded_file:
12
- file_path = "uploaded_doc.pdf"
13
- with open(file_path, "wb") as f:
14
- f.write(uploaded_file.getbuffer())
15
-
16
- st.success("File uploaded! Processing...")
17
- ingest_pdf(file_path)
18
-
19
- if "chat_history" not in st.session_state:
20
- st.session_state["chat_history"] = []
21
-
22
- query = st.text_input("Ask a question:")
23
- if query:
24
- with st.spinner("Thinking..."):
25
- response = process_query_with_memory(query, st.session_state["chat_history"])
26
- st.session_state["chat_history"].append((query, response))
27
- st.write(response)
28
-
29
- # Show chat history
30
- if st.session_state["chat_history"]:
31
- st.subheader("Chat History")
32
- for q, a in st.session_state["chat_history"]:
33
- st.write(f"**User:** {q}")
34
- st.write(f"**Bot:** {a}")
 
 
 
 
 
1
+ import streamlit as st
2
+ from document_chat import ingest_pdf, process_query_with_memory
3
+ from langchain.memory import ConversationBufferMemory
4
+
5
+ # Configure Streamlit app
6
+ st.set_page_config(page_title="AI Document Q&A Chatbot", layout="wide")
7
+ st.title("📄 AI-Powered Document Chatbot")
8
+ st.write("Upload a document and ask questions!")
9
+
10
+ # Upload document
11
+ uploaded_file = st.file_uploader("Upload a PDF", type=["pdf"])
12
+ if uploaded_file:
13
+ file_path = "uploaded_doc.pdf"
14
+ with open(file_path, "wb") as f:
15
+ f.write(uploaded_file.getbuffer())
16
+
17
+ st.success("File uploaded! Processing...")
18
+ ingest_pdf(file_path)
19
+
20
+ # Initialize memory if not exists
21
+ if "memory" not in st.session_state:
22
+ st.session_state["memory"] = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
23
+
24
+ query = st.text_input("Ask a question:")
25
+ if query:
26
+ with st.spinner("Thinking..."):
27
+ response = process_query_with_memory(query, st.session_state["memory"])
28
+ st.session_state["memory"].save_context({"input": query}, {"output": response})
29
+ st.write(response)
30
+
31
+ # Show chat history
32
+ if st.session_state["memory"].chat_memory.messages:
33
+ st.subheader("Chat History")
34
+ for i in range(0, len(st.session_state["memory"].chat_memory.messages), 2):
35
+ user_message = st.session_state["memory"].chat_memory.messages[i].content
36
+ bot_response = st.session_state["memory"].chat_memory.messages[i + 1].content if i + 1 < len(st.session_state["memory"].chat_memory.messages) else "..."
37
+ st.write(f"**User:** {user_message}")
38
+ st.write(f"**Bot:** {bot_response}")