O projeto Springrag é uma aplicação Spring Boot que utiliza a biblioteca LangChain4j para criar um assistente de chat baseado em documentos. Ele carrega documentos do sistema de arquivos, processa-os em embeddings e utiliza esses embeddings para recuperar conteúdo relevante em respostas de chat.
- Carregamento de documentos do sistema de arquivos.
- Conversão de documentos em embeddings.
- Armazenamento de embeddings em memória.
- Recuperação de conteúdo relevante baseado em embeddings.
- Assistente de chat configurado para responder perguntas baseadas nos documentos carregados.
src/main/java/br/com/ganog/springrag/- Código fonte principal.src/main/resources/documents/- Diretório onde os documentos são armazenados.pom.xml- Arquivo de configuração do Maven.
- Java 21
- Maven
-
Clone o repositório:
git clone https://github.com/devkamaji/springrag.git cd springrag -
Instale o Ollama na máquina:
https://ollama.com/ após instalação, execute o comando: ollama run llama3
-
Compile o projeto:
mvn clean install
-
Execute a aplicação:
mvn spring-boot:run
-
A aplicação estará disponível em
http://localhost:8080.
POST /rag- Envia uma pergunta para o assistente configurado com recuperação de conteúdo.POST /norag- Envia uma pergunta para o assistente sem recuperação de conteúdo.
flowchart LR
Documentos -->|Processa documentos| Embedding_Model
Embedding_Model -->|Armazena embeddings| Embedding_Store
Embedding_Store -->|Recupera conteúdo relevante| Content_Retriever
Content_Retriever -->|Fornece conteúdo para resposta| Assistant