Este repositório contém o código-fonte de uma interface web customizada, baseada no Open WebUI, para um projeto de Inteligência Artificial na área da saúde. A iniciativa é uma colaboração do grupo de extensão e pesquisa COMPET com o Centro Integrado de Saúde Amaury de Medeiros (CISAM) da Universidade de Pernambuco (UPE), em Recife.
A plataforma foi adaptada para servir como um ambiente seguro e intuitivo para interação com modelos de linguagem especializados, focados em apoiar profissionais, residentes e pesquisadores das áreas de Saúde da Mulher, Obstetrícia e Neonatologia.
- Interface Adaptada: A interface foi modificada para refletir a identidade visual da UPE e otimizar o fluxo de trabalho dos profissionais de saúde do CISAM.
- Segurança e Privacidade (On-Premises): Projetado para rodar em servidores locais (on-premises), garantindo que nenhum dado sensível de paciente seja exposto externamente, em conformidade com a Lei Geral de Proteção de Dados (LGPD).
- Assistente Especializado: Conecta-se a modelos de IA que podem ser treinados para fornecer apoio à decisão clínica, sumarizar documentos, e acessar rapidamente protocolos e literatura médica relevante.
- Foco no Usuário Clínico: Componentes como o chat, entrada de texto e diálogos foram ajustados para as necessidades de um ambiente hospitalar.
- Potencial para Ensino: A ferramenta pode ser usada como um ambiente de simulação para o treinamento de residentes e estudantes, permitindo a exploração segura de casos clínicos.
- Análise de prontuários médicos: Analisa prontuários médicos de forma simplificada na interface e retorna uma avaliação do paciente.
- Frontend: SvelteKit
- Backend: Python e Ollama (através do Open WebUI)
- Containerização: Docker e Docker Compose
Siga os passos abaixo para ter a interface rodando em sua máquina.
-
Clone o repositório:
git clone [https://github.com/compet-cisam/interface.git](https://github.com/compet-cisam/interface.git) cd interface -
Crie o arquivo de ambiente: O projeto usa um arquivo
.envpara configurar variáveis de ambiente. Renomeie o arquivo de exemplo:mv .example.env .env
(*Nota: Você pode editar o arquivo
.envse precisar alterar alguma configuração, como as portas dos serviços). -
Baixar o modelo Medgemma
medgemma-4b-it-Q8_0.ggufdo Hugging Face:cd modelfiles/medgemma-4b-it-Q8_0 wget [https://huggingface.co/kelkalot/medgemma-4b-it-GGUF/resolve/main/medgemma-4b-it-Q8_0.gguf](https://huggingface.co/kelkalot/medgemma-4b-it-GGUF/resolve/main/medgemma-4b-it-Q8_0.gguf) -
Adicionar o modelo dentro do container do Ollama:
docker exec -it <nome_do_container_ollama> ollama create nome_do_modelo_novo -f /modelfiles/nome_do_modelo_novo/Modelfile
Como adicionar outros modelos:
- Criar pasta para o modelo novo dentro da pasta modelfiles:
/modelfiles/nome_do_modelo_novo(substituirnome_do_modelo_novopelo nome desejado). - Dentro da pasta nova, criar um arquivo
Modelfilecontendo as instruções para a execução do modelo pelo Ollama — checar a documentação do Ollama ou oModelfilejá existente em/modelfiles/medgemma-4b-it-Q8_0. - Na pasta raiz, alterar o arquivo
entrypoint.shpara incluir o modelo desejado (antes dewait):[...] ollama create nome_do_modelo_novo -f /modelfiles/nome_do_modelo_novo/Modelfile wait - Rebuildar o ambiente e acessar a interface atualizada:
Acesse:
docker-compose down docker-compose up -d --build
http://localhost:8080
- Criar pasta para o modelo novo dentro da pasta modelfiles:
-
Inicie os containers: Na pasta raiz do projeto, execute o comando:
docker-compose up -d
O comando irá construir as imagens dos containers e iniciá-los em background (
-d).Caso não queira usar todos os containers
- Para deixar o ambiente de desenvolvimento mais leve, você pode inicializar apenas os containers necessários. Na pasta raiz do projeto, execute o comando:
docker compose up -d ollama open-webui
-
Acesse a interface: Após a inicialização, a interface estará disponível no seu navegador. Acesse o endereço:
http://localhost:8080(*A porta pode variar. Verifique o arquivo
docker-compose.yamlou seu.envse necessário).
ATENÇÃO:
- O servidor Ollama não deve estar rodando na sua máquina; esse processo deve ser feito através do Docker Compose.
- Não commitar diretamente na branch
main. - Qualquer problema ao tentar configurar o projeto na sua máquina, entre em contato.
