File size: 3,093 Bytes
7eac386
d19a87c
7eac386
72f3522
76d524d
a66dc4a
2811383
7eac386
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80f580a
7eac386
4ad3410
 
 
7eac386
 
 
 
 
 
 
 
76d524d
7eac386
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import os
import time
import json
import streamlit as st
from google_api_deploy import read_google_doc, write_google_doc_add, authenticate_google_drive, write_google_doc, monitor_google_doc




service = authenticate_google_drive()

# Streamlit page configuration
st.set_page_config(
    page_title="AMGPT",
    page_icon="πŸ¦™",
    layout="centered",
    initial_sidebar_state="auto",
    menu_items=None
)
st.title("AMGPT, powered by LlamaIndex πŸ’¬πŸ¦™")
st.info("Please hit the refresh button just once before prompting")

# Initialize chat messages history
if "messages" not in st.session_state.keys():
    st.session_state.messages = [
        {"role": "assistant", "content": "Ask me a question!!!"}
    ]


if st.sidebar.button("Refresh"):
    st.session_state.messages = [{"role": "assistant", "content": "Ask me a question!!!"}]
    write_google_doc(service, "1PMgaUKuPXYrbvYiqx7lwIG47P_wzxMN7VmSxg1RMIKs", '')#prompt
    write_google_doc(service, "1Na3EF7vWj9x_yzVxs3w450zgWtIdZZHU0xOYV-9WPk4", '')#promptandquery
    write_google_doc(service, "1Wpscos9GJ04_T6eLWHbYq2f6HuZD3OJvyoqW_pE2Yoc", '')#query


# Prompt for user input and save to chat history
if prompt := st.chat_input("Your question"):
    with st.spinner("Thinking..."):
        write_google_doc_add(service, "1Na3EF7vWj9x_yzVxs3w450zgWtIdZZHU0xOYV-9WPk4", prompt)#promptandquery
        write_google_doc_add(service, "1PMgaUKuPXYrbvYiqx7lwIG47P_wzxMN7VmSxg1RMIKs", prompt)#prompt
        st.session_state.messages.append({"role": "user", "content": prompt})
        response = monitor_google_doc(service, "1Wpscos9GJ04_T6eLWHbYq2f6HuZD3OJvyoqW_pE2Yoc")#reading query
        

for message in st.session_state.messages[1:]:
    with st.chat_message(message["role"]):
        st.write(message["content"])




if st.session_state.messages[-1]["role"] != "assistant":
    with st.chat_message("assistant"):
        st.write(response)
        message = {"role": "assistant", "content": response}
        # Add response to message history
        st.session_state.messages.append(message)



# # Generate a new response if the last message is not from the assistant 
# if st.session_state.messages[-1]["role"] != "assistant":     
#         with st.chat_message("assistant"):
#                 history = [msg["content"] for msg in st.session_state.messages]
#                 total_history = " ".join(history) + " " + st.session_state["additional_string"]
#                 #response = st.session_state.chat_engine.chat(st.session_state.messages[-1]["content"])
#                 response = st.session_state.chat_engine.chat(total_history)
#                 if response.response == "Empty Response":
#                     response = st.session_state.llm.complete(total_history)
#                     st.write(response.text)
#                     message = {"role": "assistant", "content": response.text}
#                 else:
#                     st.write(response.response)
#                     message = {"role": "assistant", "content": response.response}
#                 st.session_state.messages.append(message)