import os
import streamlit as st
import langchain.memory
import langchain.llms
import langchain.chains
from apikey import apikey
from langchain.memory import ConversationBufferMemory
from langchain.memory import ChatMessageHistory
from langchain.llms import OpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

os.environ["OPENAI_API_KEY"] =apikey 

def conversation_memory():
    history = ChatMessageHistory()
    history.add_user_message("hi!")
    history.add_ai_message("whats up?")

    memory = ConversationBufferMemory(chat_memory=history)

    llm = OpenAI(temperature=0)
    conversation = ConversationChain(llm=llm, memory=memory, verbose=True)

    def predict(user_input):
        response = conversation.predict(input=user_input)
        return response

    st.title("Conversation Memory Chatbot")

    user_input = st.text_input("Enter your message:")

    if user_input:
        response = predict(user_input)
        st.write("AI response:", response)


if __name__ == "__main__":
    conversation_memory()  

langchain.chains.ConversationChain langchain.memory.ConversationBufferMemory langchain.llms.OpenAI langchain.memory.ChatMessageHistory
[((447, 467), 'langchain.memory.ChatMessageHistory', 'ChatMessageHistory', ([], {}), '()\n', (465, 467), False, 'from langchain.memory import ChatMessageHistory\n'), ((558, 603), 'langchain.memory.ConversationBufferMemory', 'ConversationBufferMemory', ([], {'chat_memory': 'history'}), '(chat_memory=history)\n', (582, 603), False, 'from langchain.memory import ConversationBufferMemory\n'), ((615, 636), 'langchain.llms.OpenAI', 'OpenAI', ([], {'temperature': '(0)'}), '(temperature=0)\n', (621, 636), False, 'from langchain.llms import OpenAI\n'), ((656, 711), 'langchain.chains.ConversationChain', 'ConversationChain', ([], {'llm': 'llm', 'memory': 'memory', 'verbose': '(True)'}), '(llm=llm, memory=memory, verbose=True)\n', (673, 711), False, 'from langchain.chains import ConversationChain\n'), ((829, 868), 'streamlit.title', 'st.title', (['"""Conversation Memory Chatbot"""'], {}), "('Conversation Memory Chatbot')\n", (837, 868), True, 'import streamlit as st\n'), ((887, 923), 'streamlit.text_input', 'st.text_input', (['"""Enter your message:"""'], {}), "('Enter your message:')\n", (900, 923), True, 'import streamlit as st\n'), ((991, 1025), 'streamlit.write', 'st.write', (['"""AI response:"""', 'response'], {}), "('AI response:', response)\n", (999, 1025), True, 'import streamlit as st\n')]