File size: 1,191 Bytes
130951e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
## Conversational Q&A Chatbot
import os
import streamlit as st

from dotenv import load_dotenv
from langchain_community.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage, AIMessage

load_dotenv()

# Streamlit UI
st.set_page_config(page_title="Conversational Q&A Chatbot", layout="centered")
st.header("Hey! Let's Chat...")

chat = ChatOpenAI(temperature=0.5)

if 'flow_messages' not in st.session_state:
    st.session_state['flow_messages']=[
        SystemMessage(content="You are a helpful Coding AI assistant.")
    ]

# Functions to load OpenAI model and get responses
def gen_openai_response(question):
    st.session_state["flow_messages"].append(HumanMessage(content=question))
    answer = chat(st.session_state["flow_messages"])
    st.session_state["flow_messages"].append(AIMessage(content=answer.content))
    return answer.content

user_input= st.text_input("Input: ",key="input")
response= gen_openai_response(user_input)

submit=st.button("Ask the question")

if __name__ == "__main__":
    # If ask button is clicked

    if submit:
        st.subheader("The Response is")
        st.write(response)