|
|
|
import streamlit as st |
|
|
|
from langchain.chat_models import ChatOpenAI |
|
from langchain.schema import AIMessage, HumanMessage, SystemMessage |
|
|
|
|
|
st.set_page_config(page_title="Ask Me", page_icon=":random:") |
|
st.header("Hello, I am your personal assistant", help="Enter your question in the bar") |
|
|
|
|
|
if "sessionMessage" not in st.session_state: |
|
st.session_state.sessionMessages = [ |
|
SystemMessage(content="You are a sarcastic assistant") |
|
] |
|
|
|
|
|
def load_answer(question): |
|
st.session_state.sessionMessages.append(HumanMessage(content=question)) |
|
assistant_answer = chat(st.session_state.sessionMessages) |
|
st.session_state.sessionMessages.append(AIMessage(content=assistant_answer.content)) |
|
return assistant_answer.content |
|
|
|
def get_text(): |
|
input_text = st.text_input("Ask a question: ", key=input) |
|
return input_text |
|
|
|
chat = ChatOpenAI(temperature=0.6) |
|
|
|
user_input = get_text() |
|
submit = st.button('Generate') |
|
|
|
if submit: |
|
response = load_answer(user_input) |
|
st.header('Answer: ') |
|
|
|
st.write(response, key=1) |