Spaces:
No application file
No application file
File size: 2,385 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 | """
Data Scientist.: Dr.Eddy Giusepe Chirinos Isidro
Objetivo: Estudar o uso de Memória no LangChain,
para ter ChatBots mais inteligentes.
Especificaente estudamos a memória "ConversationBufferWindowMemory",
a qual é apropriado para manter uma janela deslizante das interações mais
recentes e para que o buffer não fique muito grande 🤗.
"""
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
llm = ChatOpenAI(temperature=0.0)
memory = ConversationBufferWindowMemory(k=10, return_messages=True, memory_key="history")
memory.save_context({"input": "Olá, me chamo Eddy!"}, {"output": "Olá Eddy! prazer, em que posso ajudar?"})
memory.save_context({"input": "Quero saber que especialidades há na Clínica Peruana Machu Picchu?"},
{"output": "Tem atendimento de emergência e urgência nas seguintes especialidades: \
Cirurgia Geral, Clínica Médica, Odontologia, Ginecologia e Obstetrícia, \
Oftalmologia, Pediatria, Queimados e Cirurgia Plástica."})
memory.save_context({"input": "Ótimo! E qual é o horário de atendimento na Clínica Peruana Machu Picchu?"}, {"output": "O atendimento é de 9am até 4pm"})
memory.save_context({"input": "E atendem também no final de semama?"}, {"output": "Não, o atendimento na Asa Norte é de segunda-feira a sexta-feira"})
memory.save_context({"input": "Entendi. E como posso marcar o atendimento?"}, {"output": "Para agendar o atendimento você pode ligar ao 021-32002435"})
memory.save_context({"input": "Obrigado! Vou agendar o mais rápido possível"}, {"output": "Se precisa de mais detalhe só falar."})
memory.load_memory_variables({})
conversation = ConversationChain(llm=llm,
memory = memory,
verbose=False
)
#conversation.predict(input="Olá, meu nome é Andrew")
print("Digite a sua pergunta para conversar com a AI: ")
while True:
query = input("\033[033mHuman: \033[m")
result = conversation({"input": query})
print("AI: " + result['response'])
if not query:
break
|