1. 프롤로그: 왜 ‘AI 개발자’ 사주인가?

전통적인 사주 풀이는 어렵고 따분합니다. “올해는 물의 기운이 강하니…” 같은 말은 현대의 개발자들에게는 다소 와닿지 않죠. 하지만 만약 **“실리콘밸리 출신의 천재 개발자”**가 당신의 인생을 코드로 보고 ‘디버깅’해준다면 어떨까요?

이 프로젝트는 바로 그 엉뚱한 상상에서 시작되었습니다. 감정 섞인 위로 대신, 건조하고 시니컬한 말투로 당신의 사주를 “안티 패턴"과 “배드 해빗(Bad Habit)“으로 분석해 주는 챗봇, **‘Dev-Fortune’**입니다.

2. 프로젝트 시스템 구조도

전체적인 데이터 흐름과 기술 스택을 한눈에 살펴보겠습니다.

graph TD A[사용자 고민 입력] --> B[Spring Boot Application] subgraph "Backend Stack" B --> C{Spring AI} C --> D[WebFlux/Streaming] C --> E[SimpleVectorStore] end subgraph "AI Engine" C -- HTTP:11434 --- F[Ollama: qwen2.5] end subgraph "Data Source" G[(sajuAPI.json)] --> E end B --> H[시니컬한 개발자 사주 답변]

3. 기술 스택 (The Stack)

  • Framework: Spring Boot 3.x
  • AI Library: Spring AI
  • LLM: Ollama (qwen2.5:3b)
  • Vector DB: SimpleVectorStore
  • Data Source: JSON 기반의 사주 풀이 데이터

4. 왜 Spring AI와 RAG인가?

일반적인 모델은 사주에 대한 지식이 파편화되어 있거나, 우리가 원하는 특유의 “개발자 스타일"로 대답하도록 통제하기 어렵습니다. 이를 해결하기 위해 우리는 RAG(Retrieval-Augmented Generation) 기법을 사용하여 전문 사주 데이터를 미리 벡터화해서 저장해 둡니다.

다음 편에서는 Ollama를 이용해 내 컴퓨터에 로컬 AI 환경을 구축하고 Spring Boot와 연결하는 방법을 알아보겠습니다.