Skip to content

GuilhermeVoyna/Ye-Chat-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lambda Function with Docker

Este repositório contém uma função AWS Lambda que utiliza Docker para fornecer um assistente de saúde baseado em IA. A função recebe dados do usuário e interage com APIs externas, como OpenAI e Qdrant, para fornecer respostas personalizadas.

Primeiros passos

Clone o repositorio

  git clone https://github.com/GuilhermeVoyna/AI-agents-with-memory.git;
  cd AI-agents-with-memory

Login no aws

   aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

Para editar lambda do agente medico

Navegue para pasta image

   cd aws-docker/image/lambda_with_docker

Build o docker

docker build -t lambda_with_docker . 

Inicie o docker

docker run -p 9000:8080 \
      -e OPENAI_API_KEY="sua_chave_openai" \
      -e QDRANT_API_KEY="sua_chave_qdrant" \
      -e QDRANT_API_URL="url_qdrant" \
      lambda_with_docker

Para editar lambda da mensagem

Navegue para pasta image

   cd aws-docker/image/mem0_add_message

Build o docker

docker build -t mem0_add_message . 

Inicie o docker

docker run -p 9000:8080 \
      -e OPENAI_API_KEY="sua_chave_openai" \
      -e QDRANT_API_KEY="sua_chave_qdrant" \
      -e QDRANT_API_URL="url_qdrant" \
      mem0_add_message

Para usar com flask

Crie um ambiente virtual

   python3 -m .venv .venv

Instale os requerimentos

pip install -r requirements.txt

Inicie a main

python main.py

o suo do flask deve ser usado apenas para questao de teste/curiosidade

Acessar api do aws local

Post message

  POST /2015-03-31/functions/function/invocations

Headers

Header Value
Content-Type application/json
Authorization Bearer {token}

Request Body

O corpo da requisição deve ser um JSON com os seguintes parâmetros:

Parameter Type Description
uid string ID único do usuário.
weight number Peso do usuário em kg.
height number Altura do usuário em cm.
gender string Gênero do usuário (padrão: "Desconhecido").
message string Mensagem a ser processada.
bmi number Índice de Massa Corporal calculado.
messages array Lista de mensagens, contendo content e role.
birthday string Data de nascimento do usuário em formato ISO.
exams_data object Dados dos exames do usuário.
appointments_data object Dados dos agendamentos do usuário.
meds_data object Dados sobre medicamentos do usuário.

Example Request Body

"{\"uid\":\"user123\",\"weight\":70,\"height\":175,\"gender\":\"Masculino\",\"message\":\"Como posso melhorar minha dieta?\",\"bmi\":22.86,\"messages\":[{\"content\":\"Qual é a sua altura?\",\"role\":\"assistant\"}],\"birthday\":\"1990-01-01T00:00:00.000Z\",\"exams_data\":{},\"appointments_data\":{},\"meds_data\":{}}"

Para fazer testes pode usar o crul

curl -X POST http://localhost:9000/2015-03-31/functions/function/invocations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d "{\"uid\":\"user123\",\"weight\":70,\"height\":175,\"gender\":\"Masculino\",\"message\":\"Como posso melhorar minha dieta?\",\"bmi\":22.86,\"messages\":[{\"content\":\"Qual é a sua altura?\",\"role\":\"assistant\"}],\"birthday\":\"1990-01-01T00:00:00.000Z\",\"exams_data\":{},\"appointments_data\":{},\"meds_data\":{}}"

Integração com o Mem0

Este projeto utiliza o Mem0 para adicionar uma camada inteligente de memória ao chatbot. O Mem0 permite que o assistente de IA se lembre de interações passadas, preferências e dados do usuário, adaptando-se continuamente às necessidades do indivíduo. Essa integração eleva a personalização das respostas, melhorando a experiência do usuário a cada nova interação.

Flexibilidade para Outras LLMs

Embora este exemplo utilize o OpenAI, o código pode ser facilmente adaptado para funcionar com outras LLMs, como Llama. Basta seguir a documentação do Mem0 e ajustar a integração conforme necessário.

About

testando o mem0 para dar memoria a chatbots

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published