Spaces:
No application file
No application file
| """ | |
| 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 | |