- Spring Boot 3.5.x β Java microservices framework
- Spring AI 1.x β unified AI abstraction
- Qdrant β vector database for semantic search
- Docker Compose β for local AI & DB orchestration
- JUnit 5 β unit & integration testing
- Lombok β concise Java code
- Gradle (Kotlin DSL) β build system
-
Start dependencies:
docker compose -f docker/docker-compose.yml up -d
- Ollama: http://localhost:11434
- Qdrant: http://localhost:6333
- Qdrant Dashboard: http://localhost:6333/dashboard
-
Build & run:
./gradlew clean build ./gradlew bootRun
You can set model: phi3 (default) or use a more powerful model, e.g. deepseek-r1-distill-qwen-7b for better quality.
- POST /api/ai/chat β Regular LLM chat
- POST /api/ai/chat-rag β Chat with RAG
- POST /api/rag/save-text β Save texts to vector DB
- POST /api/rag/save-doc β Index document (PDF/TXT/JSON)
- POST /api/rag/search β Search in vector DB
- GET /api/rag/count β Documents count
Unit & integration tests: src/test/java
./gradlew test