Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Imobiliária IA é uma plataforma completa e robusta para automação do atendimento de imobiliárias através do WhatsApp. Utilizando uma arquitetura de microsserviços e Inteligência Artificial de ponta, este sistema é capaz de capturar, gerenciar e atender leads de forma totalmente autônoma.

dbltecnologia/Imobiliaria

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Imobiliária IA: Assistente Automatizado com WhatsApp e RAG

🤖 Sobre o Projeto

Imobiliária IA é uma plataforma completa e robusta para automação do atendimento de imobiliárias através do WhatsApp. Utilizando uma arquitetura de microsserviços e Inteligência Artificial de ponta, este sistema é capaz de capturar, gerenciar e atender leads de forma totalmente autônoma.

O coração do projeto é um assistente de IA que não apenas responde a perguntas comuns, mas utiliza RAG (Retrieval-Augmented Generation) para fornecer informações precisas consultando uma base de conhecimento personalizada e um banco de dados de imóveis sempre atualizado por um web crawler.


✨ Funcionalidades Principais

  • 🤖 Atendimento via WhatsApp: Integração total com o WhatsApp através da Evolution API para envio e recebimento de mensagens.
  • 🗣️ Comunicação Multimodal: Suporte para interação por mensagens de texto e áudio, com transcrição (Speech-to-Text) e síntese de voz (Text-to-Speech).
  • 🧠 Inteligência Artificial com RAG: O assistente de IA responde a perguntas específicas sobre a imobiliária (corretores, endereço, etc.) consultando uma base de dados vetorial com informações personalizadas.
  • 🕷️ Web Crawler de Imóveis: Um crawler automatizado, construído com Playwright e BeautifulSoup, que varre portais imobiliários para manter o banco de dados de imóveis sempre atualizado.
  • ⚙️ Orquestração com n8n: Fluxos de trabalho complexos que gerenciam a lógica do atendimento, desde o recebimento da mensagem até a resposta final da IA.
  • 🗃️ Banco de Dados Robusto: Utiliza PostgreSQL para armazenar dados de imóveis, clientes e histórico de conversas, além de servir como um Vector Store com a extensão pgvector.
  • 🐳 Arquitetura de Microsserviços: Todo o sistema é containerizado com Docker, garantindo escalabilidade, resiliência e facilidade de implantação.

🛠️ Arquitetura e Tecnologias

O projeto é composto por um ecossistema de serviços que trabalham em conjunto, orquestrados pelo Traefik e gerenciados via Docker Compose.

Serviço Tecnologia Função
Orquestração n8n Cérebro da automação, executa os workflows de atendimento.
WhatsApp API Evolution API Ponte de comunicação com o WhatsApp.
Banco de Dados PostgreSQL + pgvector Armazena dados relacionais (imóveis, chats) e vetoriais (para RAG).
Web Crawler Python, Playwright Coleta dados de imóveis de portais web.
Armazenamento Minio Armazena arquivos e mídias, como mensagens de áudio.
Cache & Fila Redis Gerencia a fila de execuções do n8n e cache.
Reverse Proxy Traefik Roteia o tráfego externo para os serviços internos e gerencia SSL.
Voz (TTS) ElevenLabs Converte as respostas de texto da IA em áudio.
IA (LLM) OpenAI Utilizada para o agente de IA, transcrição de áudio e embeddings.

🚀 Começando

Para executar este projeto, é recomendado ter um ambiente Linux (VPS) com Docker e Docker Compose instalados. Você também precisará de um domínio e subdomínios configurados para os diferentes serviços.

Pré-requisitos

  1. Docker e Docker Compose: Instruções de Instalação.
  2. Git: Para clonar o repositório.
  3. Domínio: Um domínio configurado para apontar para o IP do seu servidor.
  4. Chaves de API:
    • OpenAI
    • ElevenLabs (Opcional, para respostas em áudio)

Instalação

  1. Clone o repositório:

    git clone [https://github.com/seu-usuario/imobiliaria-ia.git](https://github.com/seu-usuario/imobiliaria-ia.git)
    cd imobiliaria-ia
  2. Configure as Variáveis de Ambiente: Este projeto utiliza variáveis de ambiente para gerenciar todas as chaves e senhas. Nunca grave dados sensíveis diretamente nos arquivos de configuração.

    • Copie o arquivo de exemplo:
      cp .env.example .env
    • Edite o arquivo .env e preencha todas as variáveis com suas próprias credenciais e configurações:
      # .env
      
      # DOMÍNIOS E E-MAIL (Usado pelo Traefik para SSL)
      DOMAIN=zapoferta.com.br
      TRAEFIK_EMAIL[email protected]
      
      # CREDENCIAIS N8N
      N8N_ENCRYPTION_KEY=gere_uma_chave_segura_aqui
      
      # CREDENCIAIS POSTGRES
      POSTGRES_PASSWORD=sua_senha_forte_aqui
      
      # CREDENCIAIS MINIO
      MINIO_ROOT_USER=admin
      MINIO_ROOT_PASSWORD=sua_senha_forte_para_minio
      
      # CREDENCIAIS EVOLUTION API
      EVOLUTION_API_KEY=sua_chave_da_evolution_api
      
      # CREDENCIAIS DE SERVIÇOS DE IA
      OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
      ELEVENLABS_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxx
      
      # ... e outras variáveis conforme o .env.example
  3. Execute os Serviços com Docker Compose: O projeto é dividido em múltiplos arquivos docker-compose. Você pode iniciá-los como stacks no Portainer ou diretamente via linha de comando.

    # Exemplo para iniciar a stack principal
    docker-compose -f ./Docker/docker-compose.yml up -d
    
    # Exemplo para iniciar o crawler
    docker-compose -f ./crawler/docker-compose.yml up -d

🔧 Personalização

  • Base de Conhecimento (RAG): Para alterar as informações que a IA sabe sobre a imobiliária, simplesmente edite o arquivo RAG/conhecimento_imobiliaria.txt. Após a alteração, você precisará executar o fluxo de "carga" no n8n para reindexar os dados no banco vetorial.
  • Fluxos de Atendimento: Toda a lógica de atendimento pode ser customizada diretamente na interface do n8n. Os arquivos de workflow estão na pasta /Workflows.
  • Coleta de Imóveis: O script do crawler está em /crawler/scripts/main.py. Você pode adaptá-lo para coletar dados de outros portais ou extrair informações diferentes.

💬 Precisa de Ajuda?

Este é um projeto complexo com muitas partes móveis. Se você encontrar problemas na configuração, tiver dúvidas sobre a arquitetura ou precisar de ajuda para adaptar o projeto às suas necessidades, não hesite em entrar em contato!

Ficarei feliz em ajudar!


📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

Imobiliária IA é uma plataforma completa e robusta para automação do atendimento de imobiliárias através do WhatsApp. Utilizando uma arquitetura de microsserviços e Inteligência Artificial de ponta, este sistema é capaz de capturar, gerenciar e atender leads de forma totalmente autônoma.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published