반응형

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

전체적인 워크플로우는 아래와 같다.

application workflow

프로세스 흐름

  1. 사용자가 질문을 던진다.
  2. Orchestrator 에서 질문이 어떤 타입인지 추론하여 라우팅한다.
  3. 라우팅된 Agent Layer 에서 각각 정의된 시스템프롬프팅을 통해 Tool을 사용한다.

Agent 종류

  • LLM : 기본적인 질문
  • RAG : 문서적재(임베딩), 문서 유사도 검색
  • DATABASE : SQL 생성 및 실행
  • 협업 : 특정 Agent를 두개 이상 합쳐서 사용하는 경우
  • MCP : LLM이 사용할 수 있는 프로토콜

구현된 화면

협업 에이전트(SQL+차트)
구글 MCP) 일정관리 Agent
노션 MCP) 시인 Agent
SQL Agent 자가 비판
협업(SQL + 디지털마케터)

 

LLM Agent와 RAG Agent

 

 

포스팅 아래의 순서로 작성함.

[Spring AI] 2편: RAG 문서 임베딩

[Spring AI] 3편: Database 쿼리생성 및 실행을 위한 HITL(Human in the Loop)

[Spring AI] 4편: MCP 서버 구동과 실행

 

 

 

 

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

 

반응형
복사했습니다!