File size: 1,899 Bytes
4c8c217
52b8278
74d32cc
1dd3a02
 
 
 
986e2b7
 
 
 
 
1dd3a02
885ec28
b1d9a7f
 
885ec28
 
 
 
24b8963
 
4c8c217
1dd3a02
 
b0d0303
4c8c217
 
c46950c
6b80b65
52b8278
 
1572555
52b8278
 
986e2b7
 
 
 
 
52b8278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6ad6f7e
 
 
 
6b80b65
4c8c217
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
import streamlit as st
from langchain_core.messages import AIMessage, HumanMessage
from langchain_community.document_loaders import WebBaseLoader


def get_response(user_input):
    return "I dont know"

def get_vector_store_from_url(url):
    loader = WebBaseLoader(url)
    documents = loader.load()
    return documents

# app config
st.set_page_config(page_title= "Chat with Websites", page_icon="🤖")
st.title("Chat with Websites")


if "chat_history" not in st.session_state:
    st.session_state.chat_history = [ 
    AIMessage(content = "Hello, I am a bot. How can I help you"),
]


#sidebar
with st.sidebar:
    st.header("Settings")
    website_url = st.text_input("Website URL")
    openai_apikey = st.text_input("Enter your OpenAI API key")

if (website_url is None or website_url == "") or (openai_apikey is None or openai_apikey == ""):
    st.info("Please ensure if website URL and Open AI api key are entered")
    

else:

    documents = get_vector_store_from_url(website_url)
    with st.sidebar:
        st.write(documents)
    
    #user_input
    user_query = st.chat_input("Type your message here...")
    if user_query is not None and user_query !="":
        response = get_response(user_query)
        st.session_state.chat_history .append(HumanMessage(content=user_query))
        st.session_state.chat_history .append(AIMessageMessage(content=response))
        
                
    #conversation
    for message in st.session_state.chat_history:
        if isinstance(message, AIMessage): # checking if the messsage is the instance of an AI message
            with st.chat_message("AI"):
                st.write(message.content)
        elif isinstance(message, HumanMessage): # checking if the messsage is the instance of a Human
            with st.chat_message("Human"):
                st.write(message.content)