""" Data Scientist.: Dr.Eddy Giusepe Chirinos Isidro Objetivo: Estudar o uso de Memória no LangChain, para ter ChatBots mais inteligentes. """ import os import openai from dotenv import find_dotenv, load_dotenv _ = load_dotenv(find_dotenv()) # read local .env file openai.api_key = os.getenv('OPENAI_API_KEY') from langchain.chat_models import ChatOpenAI from langchain.chains import ConversationChain from langchain.memory import ConversationBufferWindowMemory import redis redis_client = redis.StrictRedis(host='localhost', port=6379, db=0) from langchain.memory import RedisChatMessageHistory history1 = RedisChatMessageHistory("chat_history1") memory = ConversationBufferWindowMemory(k=5) llm = ChatOpenAI(temperature=0.0, max_tokens=120, verbose=False ) conversation = ConversationChain(llm=llm, verbose=False, memory=memory ) memory.chat_memory.add_user_message("Meu nome é Eddy Giusepe.") memory.chat_memory.add_user_message("Eu sou Cientista de dados e trabalho na central IT.") memory.chat_memory.add_user_message("Eu nasci em Perú.") memory.chat_memory.add_user_message("Eu moro no Brasil e estudo na Universidade UFES.") print("Digite a sua pergunta para começar uma conversa com a AI: ") while True: #user_id="123" query = input("Human: ") #redis_key = f"user:{user_id}:chat_history" #redis_client.rpush(redis_key, query) result = conversation({"input": query}) #print(result) print("AI: " + result['response']) #memory.chat_memory.add_user_message(query) #memory.chat_memory.add_ai_message(result['response']) #memory.save_context({"input": query}, {"output": result['response']}) #memory_variables = memory.load_memory_variables({}) #print("🤗🤗🤗") history1.add_user_message(query) #print(history1.messages) #redis_client.lrange(redis_key, 0, -1) #print(memory_variables) #print("#"*30) #print(memory_variables['history']) if not query: break