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. | |
| 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 | |