Skip to content

Repository files navigation

GenAI Seguros - Desafio 2 (InsurMinds)

Bem-vindo ao repositório do ChatBot de Atendimento da equipe GenAI Seguros! Este projeto faz parte da Atividade Obrigatória 2 do curso InsurMinds (I2A2).

Equipe:

Nome E-mail
Bruno Corrêa correabruno321@gmail.com
Jhiovana Silva Ribeiro jhiovanasilva11@gmail.com
Luis R G Pereira luisrgpereira@gmail.com
Rodrigo Medeiros Costa eng.rodrigomdc@gmail.com
Rodrigo Souza Aguiar rodrigo_souza_aguiar@hotmail.com

🎯 Objetivo do Projeto

Desenvolver um chatbot (assistente virtual) baseado em Inteligência Artificial para automatizar o atendimento ao segurado. O foco é responder a perguntas frequentes e direcionar solicitações, proporcionando respostas rápidas e liberando a equipe humana para casos mais complexos.

Documentação do projeto: GenAI Seguros.


Como Executar o Projeto Localmente

Siga o passo a passo abaixo para rodar a aplicação em sua própria máquina. O projeto possui um orquestrador automatizado (run_application.py) que facilita todo o processo de setup.

1. Pré-requisitos

  • Python 3.10+ instalado.
  • Chave de API do Google Gemini (necessária para os modelos de linguagem).

2. Clonando o Repositório

Abra o seu terminal e clone o projeto:

git clone https://github.com/RAguiarEng/GenAI_Seguros.git
cd GenAI_Seguros

Configuração do Ambiente Virtual

Crie e ative um ambiente virtual isolado para não conflitar com outros projetos na sua máquina:

# Criar o ambiente virtual (Windows)
python -m venv venv
# Ativar o ambiente (Windows)
venv\Scripts\activate
# Se estiver no Mac/Linux, a ativação é:
source venv/bin/activate

Instalando Dependências

Instale as bibliotecsa necessárias contidas no arquivo de requisitos:

pip install -r requirements.txt

Configurando as Variáveis de Ambiente

O projeto necessita de credenciais de API.

  1. Crie uma cópia do arquivo .env_example e renomeie para .env.
  2. Abra o arquivo .env e insira as suas chaves de API.
# Exemplo de conteúdo .env:
GOOGLE_API_KEY=SUA_API_KEY_AQUI
LLM_PROVIDER=google # ou local 
LLM_MODEL=gemini-2.5-flash
EMBEDDING_MODEL=models/gemini-embedding-001
OLLAMA_MODEL=gemma:2b
FASTAPI_HOST=0.0.0.0
FASTAPI_PORT=8000
FRONTEND_URL=http://127.0.0.1:8000 # Ou a URL onde seu frontend será acessado
STREAMLIT_HOST=localhost
STREAMLIT_PORT=8501

Importante: Não envie seu arquivo .env para o repositório (GitHub, etc.). Ele contém informações sensíveis. Adicione .env ao arquivo .gitignore para evitar que ele seja enviado acidentalmente.


Execucao com Ollama Local

Se optar por rodar o LLM localmente, configure LLM_PROVIDER=local no .env.

Antes de iniciar a aplicacao, baixe o modelo necessario:

ollama pull gemma:2b

Depois, mantenha o Ollama ativo em um terminal:

ollama serve

Em outro terminal, execute a aplicacao com run_application.py.

Mesmo usando LLM local via Ollama, os embeddings continuam usando Gemini na configuracao atual. Por isso, mantenha GOOGLE_API_KEY e EMBEDDING_MODEL=models/gemini-embedding-001 configurados.


Iniciando o ChatBot

Temos um script central que prepara o banco de dados (vetorizando os documentos se necessário) e sobe a aplicação.

Opção A: Interface Interativa (Streamlit): Executa a interface principal do chatbot com histórico e avatares visuais:

python run_application.py --mode streamlit

Vídeo da aplicação em funcionamento: Modo Streamlit

Opção B:Modo Web (FastAPI + HTML): Inicia o backend invisível e permite conecdtar uma interface HTML/JS simples:

python run_application.py --mode web

Vídeo da aplicação em funcionamento: Modo web

Para encerrar a aplicação, basta pressionar Ctrl+C no terminal.

📂 Visão Geral da Estrutura

  • data/: Documentos PDF originais (Manuais/FAQ) e banco vetorial ChromaDB.
  • src/: Código-fonte modularizado contendo os fluxos do LangGraph, RAG e integração com a API Gemini.
  • run_application.py: O script orquestrador que automatiza o setup e inicialização da aplicação.

Se você for colaborador com código no repositório, consulte também o nosso guia detalhado no arquivo orientativo_github.md.

About

Desafio II - RAG - Curso InsurMinds

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages