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