spring AI 에서는 어떤식으로 활용될 수 있을지
2주간 구현해본 토이프로젝트(포스팅 맨하단에 github 링크)이며,
완전 무료로 사용할 수 있는 Gemini 를 활용했다.
genAI 모델: gemini-3.1-flash-lite-preview (분당 15회 제한이 있으니 천천히..ㅎ)
Embedd 모델 : gemini-embedding-001
올라마 임베딩 모델 : all-minilm
- 로컬에서 돌리려고 올라마 세팅을 했다가,
Rag 임베딩 수준이 처참(내 노트북 기준)해서 제미나이로 변경함
개발환경
- springboot : 3.5.11
- spring AI : 1.1.2
- openJDK : 17
- Gradle 8.14.4
- VectorDB: pgvector 0.8.2
- Database: postgresql(16.13-1)
- Redis: version 3.0.504
- UI : thymeleaf
Workflow
전체적인 워크플로우는 아래와 같다.

프로세스 흐름
- 사용자가 질문을 던진다.
- Orchestrator 에서 질문이 어떤 타입인지 추론하여 라우팅한다.
- 라우팅된 Agent Layer 에서 각각 정의된 시스템프롬프팅을 통해 Tool을 사용한다.
Agent 종류
- LLM : 기본적인 질문
- RAG : 문서적재(임베딩), 문서 유사도 검색
- DATABASE : SQL 생성 및 실행
- 협업 : 특정 Agent를 두개 이상 합쳐서 사용하는 경우
- MCP : LLM이 사용할 수 있는 프로토콜
구현된 화면






포스팅 아래의 순서로 작성함.
[Spring AI] 3편: Database 쿼리생성 및 실행을 위한 HITL(Human in the Loop)
GitHub - joonhyeok95/spring-ai-google-gen: 제미나이 무료API로 구현하는 PDF RAG, 데이터베이스 추출, LLM 서비
제미나이 무료API로 구현하는 PDF RAG, 데이터베이스 추출, LLM 서비스. Contribute to joonhyeok95/spring-ai-google-gen development by creating an account on GitHub.
github.com
'개발 > Spring' 카테고리의 다른 글
| [Spring AI] 3편: Database 쿼리생성 및 실행을 위한 HITL(Human in the Loop) (0) | 2026.03.20 |
|---|---|
| [Spring AI] 2편: RAG 문서 임베딩 (0) | 2026.03.20 |
| [Springboot] @JsonProperty는 언제 써야 할까! (0) | 2023.02.22 |
| [MSA] SAGA pattern (0) | 2022.12.19 |
| [Springboot] 대용량 Select Query OOM 방지를 위한 스트림 (0) | 2022.12.13 |