Spaces:
No application file
No application file
File size: 2,131 Bytes
df72f93 | 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 63 64 65 | """
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
|