Skip to content

Latest commit

Β 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

✈️ AI Travel Planner

LLM & RAG 기반 개인 맞좀 μ—¬ν–‰ 일정 μΆ”μ²œ ν”Œλž«νΌ

AI Travel PlannerλŠ” μ‚¬μš©μžμ˜ μ—¬ν–‰ 쑰건(μ—¬ν–‰μ§€, κΈ°κ°„, μ˜ˆμ‚°, 인원, μ—¬ν–‰ μŠ€νƒ€μΌ, μ΄λ™μˆ˜λ‹¨)을 기반으둜 LLM이 λ§žμΆ€ν˜• μ—¬ν–‰ 일정을 μƒμ„±ν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

λ‹¨μˆœ 일정 μΆ”μ²œμ΄ μ•„λ‹Œ LLM + RAG + 지도 API + OpenAPI + AI Agentλ₯Ό κ²°ν•©ν•˜μ—¬ μ‹€μ œ μ—¬ν–‰ κ³„νšμ„ μƒμ„±ν•˜κ³ , CRUDλ₯Ό 톡해 μ‚¬μš©μžκ°€ 자유둭게 μ—¬ν–‰ 일정을 관리할 수 μžˆλ„λ‘ κ΅¬ν˜„ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.


πŸ“Œ ν”„λ‘œμ νŠΈ λͺ©ν‘œ

λ³Έ ν”„λ‘œμ νŠΈλŠ” AI 기술과 Spring Boot 기반 λ°±μ—”λ“œ κΈ°μˆ μ„ κ²°ν•©ν•œ μ·¨μ—…μš© 포트폴리였 ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

λͺ©ν‘œ

  • LLM 기반 μ—¬ν–‰ 일정 생성
  • RAG 기반 κ΄€κ΄‘ 데이터 검색
  • AI Agentλ₯Ό ν†΅ν•œ μ™ΈλΆ€ API μžλ™ 호좜
  • Google Maps 기반 지도 μ„œλΉ„μŠ€
  • μ—¬ν–‰ 일정 CRUD μ„œλΉ„μŠ€
  • Docker 및 AWS 기반 μ„œλΉ„μŠ€ 배포

πŸ›  Tech Stack

Backend

  • Java 17
  • Spring Boot
  • Spring Security
  • JWT
  • Spring Data JPA
  • Hibernate
  • MySQL
  • Redis

Frontend

  • HTML5
  • CSS3
  • JavaScript
  • Thymeleaf

(μΆ”ν›„ React 적용 κ°€λŠ₯)

AI Server

  • Python
  • FastAPI
  • OpenAI API
  • RAG
  • ChromaDB
  • Embedding Model
  • LLM Agent

External API

  • Google Maps API
  • Kakao Local API
  • Weather API
  • OCR API
  • OpenAI API

Infra

  • Docker
  • Docker Compose
  • AWS EC2
  • AWS RDS
  • AWS S3
  • GitHub Actions

πŸ— System Architecture

                 Frontend
      HTML / CSS / JavaScript / Thymeleaf
                    β”‚
                    β–Ό
             Spring Boot Backend
   (JWT / CRUD / REST API / External API)
                    β”‚
                    β–Ό
               FastAPI AI Server
      (LLM / RAG / Agent / AI Service)
                    β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β–Ό                     β–Ό
      OpenAI API          ChromaDB
         β”‚                     β”‚
         β–Ό                     β–Ό
      LLM 생성          κ΄€κ΄‘ 데이터 검색
                    β”‚
                    β–Ό
      Google Maps / Kakao / Weather API
                    β”‚
                    β–Ό
                  MySQL

✨ μ£Όμš” κΈ°λŠ₯

πŸ‘€ νšŒμ› κΈ°λŠ₯

  • νšŒμ›κ°€μž…
  • 둜그인
  • JWT 인증
  • Spring Security
  • λ§ˆμ΄νŽ˜μ΄μ§€

πŸ€– AI μ—¬ν–‰ 일정 생성

μ‚¬μš©μžκ°€

  • μ—¬ν–‰μ§€
  • μ—¬ν–‰ κΈ°κ°„
  • 인원
  • μ˜ˆμ‚°
  • μ—¬ν–‰ μŠ€νƒ€μΌ
  • μ΄λ™μˆ˜λ‹¨

을 μž…λ ₯ν•˜λ©΄ AIκ°€

  • μ—¬ν–‰ 일정 생성
  • κ΄€κ΄‘μ§€ μΆ”μ²œ
  • λ§›μ§‘ μΆ”μ²œ
  • μ˜ˆμƒ λΉ„μš© 계산
  • 졜적 동선 μΆ”μ²œ

을 μ œκ³΅ν•©λ‹ˆλ‹€.


🚢 μ΄λ™μˆ˜λ‹¨ 기반 졜적 동선

μ‚¬μš©μžλŠ” μ΄λ™μˆ˜λ‹¨μ„ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 🚢 도보
  • 🚌 λŒ€μ€‘κ΅ν†΅
  • πŸš— λ Œν„°μΉ΄

Google Maps APIλ₯Ό μ΄μš©ν•˜μ—¬

  • 이동 거리 계산
  • 이동 μ‹œκ°„ 계산
  • μž₯μ†Œ 재배치
  • 졜적 경둜 생성

을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.


πŸ—Ί 지도 μ„œλΉ„μŠ€

Google Maps API

  • 지도 ν‘œμ‹œ
  • μž₯μ†Œ 마컀
  • 이동 경둜
  • 거리 계산
  • μ˜ˆμƒ μ΄λ™μ‹œκ°„

Kakao Local API

  • κ΄€κ΄‘μ§€ 검색
  • λ§›μ§‘ 검색
  • 카페 검색

🌦 날씨 기반 일정 μΆ”μ²œ

Weather APIλ₯Ό ν™œμš©ν•˜μ—¬

  • λΉ„ μ˜€λŠ” λ‚  β†’ μ‹€λ‚΄ κ΄€κ΄‘μ§€ μΆ”μ²œ
  • 맑은 λ‚  β†’ μ•Όμ™Έ κ΄€κ΄‘μ§€ μΆ”μ²œ
  • λ”μš΄ λ‚  β†’ 카페/μ‹€λ‚΄ 일정 μΆ”μ²œ

κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.


πŸ“š RAG 기반 κ΄€κ΄‘ 정보 검색

μ‚¬μš© 데이터

  • ν•œκ΅­κ΄€κ΄‘κ³΅μ‚¬
  • Visit Korea
  • 관광곡사 PDF
  • μΆ•μ œ 정보
  • κ΄€κ΄‘ 데이터 CSV
  • κ΄€κ΄‘ 데이터 JSON

RAG Pipeline

Data Collection

↓

Preprocessing

↓

Chunking

↓

Embedding

↓

ChromaDB

↓

Retriever

↓

LLM

↓

Answer

μ˜ˆμ‹œ 질문

  • λΆ€μ‚° 7μ›” μΆ•μ œ μžˆμ–΄?
  • λΉ„ μ˜€λŠ” λ‚  λΆ€μ‚° μΆ”μ²œν•΄μ€˜
  • λΆ€λͺ¨λ‹˜κ³Ό μ œμ£Όλ„ μ—¬ν–‰ μΆ”μ²œν•΄μ€˜

πŸ€– LLM Agent

Agentκ°€ ν•„μš”ν•œ 도ꡬλ₯Ό 직접 ν˜ΈμΆœν•©λ‹ˆλ‹€.

μ‚¬μš© Tool

  • Weather API
  • Google Maps API
  • Kakao Local API
  • RAG Search
  • 일정 생성
  • μ˜ˆμ‚° 계산

μ˜ˆμ‹œ

λΆ€μ‚°

↓

내일 λΉ„

↓

Weather API

↓

μ‹€λ‚΄ κ΄€κ΄‘μ§€ 검색

↓

Google Maps

↓

AI 일정 생성

πŸ’¬ AI μ—¬ν–‰ 챗봇

μ˜ˆμ‹œ

λ‘˜μ§Έ λ‚  일정이 λ„ˆλ¬΄ λΉ‘μ„Έ

↓

일정 재배치
회 λ¨Ήκ³  μ‹Άμ–΄

↓

λ§›μ§‘ μΆ”κ°€
카페 더 λ„£μ–΄μ€˜

↓

일정 μˆ˜μ •

πŸ’° AI μ˜ˆμ‚° 뢄석

μ‚¬μš©μžμ˜ μ˜ˆμ‚°μ„ λΆ„μ„ν•˜μ—¬

  • μˆ™μ†Œ
  • ꡐ톡
  • 식비
  • μ‡Όν•‘
  • μž…μž₯료

λ₯Ό κ³„μ‚°ν•˜κ³ 

μ˜ˆμ‚° 초과 μ—¬λΆ€λ₯Ό μ•Œλ €μ€λ‹ˆλ‹€.


πŸ“„ OCR 영수증 등둝

영수증 μ—…λ‘œλ“œ

↓

OCR

↓

κΈˆμ•‘ μΆ”μΆœ

↓

가계뢀 μžλ™ 등둝


😊 μ—¬ν–‰ ν›„κΈ° AI 뢄석

ν›„κΈ° μž‘μ„±

↓

AI 감성뢄석

↓

긍정/λΆ€μ • 뢄석

↓

ν‚€μ›Œλ“œ μΆ”μΆœ

↓

λ§Œμ‘±λ„ 뢄석


πŸ“Œ CRUD

μ—¬ν–‰ 일정

  • Create
  • Read
  • Update
  • Delete

λ°©λ¬Έ μž₯μ†Œ

  • Create
  • Read
  • Update
  • Delete

μ—¬ν–‰ 가계뢀

  • Create
  • Read
  • Update
  • Delete

체크리슀트

  • Create
  • Read
  • Update
  • Delete

μ—¬ν–‰ ν›„κΈ°

  • Create
  • Read
  • Update
  • Delete

πŸ“Š AI μ„±λŠ₯평가

평가 ν•­λͺ©

  • AI 응닡속도
  • 토큰 μ‚¬μš©λŸ‰
  • μž₯μ†Œ 쀑볡λ₯ 
  • 이동거리 νš¨μœ¨μ„±
  • RAG 검색 정확도
  • μ‚¬μš©μž λ§Œμ‘±λ„

βš™ λͺ¨λΈ μ΅œμ ν™”

  • Prompt Engineering
  • JSON Output κ³ μ •
  • Redis Cache
  • RAG Optimization
  • Chunk Size 쑰절
  • Top-K Retrieval 쑰절

πŸ”¬ LLM Fine-Tuning

ν˜„μž¬ ν”„λ‘œμ νŠΈμ—μ„œλŠ”

  • Prompt Engineering
  • RAG 기반 응닡 μ΅œμ ν™”

λ₯Ό μ μš©ν•˜λ©°,

ν–₯ν›„

  • μ—¬ν–‰ 일정 데이터셋 ꡬ좕
  • LoRA 기반 Fine-Tuning

을 톡해 일정 생성 ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚¬ μ˜ˆμ •μž…λ‹ˆλ‹€.


πŸ“‚ Database

Users

  • νšŒμ› 정보

Trips

  • μ—¬ν–‰ 일정

Trip Days

  • μ—¬ν–‰ λ‚ μ§œλ³„ 일정

Places

  • λ°©λ¬Έ μž₯μ†Œ

Expenses

  • μ—¬ν–‰ 가계뢀

Checklists

  • 체크리슀트

Reviews

  • μ—¬ν–‰ ν›„κΈ°

πŸš€ Deployment

  • Docker
  • Docker Compose
  • AWS EC2
  • AWS RDS
  • AWS S3
  • GitHub Actions CI/CD

πŸ“‹ Development Roadmap

Step 1

  • ν”„λ‘œμ νŠΈ 생성
  • 둜그인 / νšŒμ›κ°€μž…
  • JWT 인증
  • μ—¬ν–‰ 일정 CRUD

Step 2

  • FastAPI ꡬ좕
  • OpenAI API
  • AI 일정 생성
  • JSON 응닡

Step 3

  • Kakao API
  • Google Maps
  • μž₯μ†Œ 검색
  • 졜적 동선 생성

Step 4

  • RAG ꡬ좕
  • ChromaDB
  • κ΄€κ΄‘ 데이터 μˆ˜μ§‘

Step 5

  • LLM Agent
  • AI 챗봇
  • μ˜ˆμ‚° 뢄석
  • ν›„κΈ° 감성뢄석

Step 6

  • Redis
  • Docker
  • AWS
  • GitHub Actions

πŸ“„ Resume Point

  • Spring Boot 기반 REST API 개발
  • JWT 인증 및 Spring Security 적용
  • JPA/Hibernate 기반 CRUD κ΅¬ν˜„
  • FastAPI 기반 AI μ„œλ²„ ꡬ좕
  • OpenAI API 및 LLM ν™œμš©
  • RAG νŒŒμ΄ν”„λΌμΈ ꡬ좕
  • ChromaDB 벑터 검색 κ΅¬ν˜„
  • LLM Agent 섀계 및 κ΅¬ν˜„
  • Google Maps / Kakao Local API 연동
  • Weather API ν™œμš©
  • Docker Compose 기반 μ„œλΉ„μŠ€ ꡬ성
  • AWS EC2 / RDS 배포
  • GitHub Actions 기반 CI/CD ꡬ좕

AI-Travel-Planner/
β”‚
β”œβ”€β”€ README.md                # ν”„λ‘œμ νŠΈ μ†Œκ°œ
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ 01_μš”κ΅¬μ‚¬ν•­μ •μ˜μ„œ.md
β”‚   β”œβ”€β”€ 02_κΈ°μˆ μŠ€νƒ.md
β”‚   β”œβ”€β”€ 03_μ‹œμŠ€ν…œμ•„ν‚€ν…μ²˜.md
β”‚   β”œβ”€β”€ 04_ERD.md
β”‚   β”œβ”€β”€ 05_APIλͺ…μ„Έμ„œ.md
β”‚   β”œβ”€β”€ 06_화면섀계.md
β”‚   β”œβ”€β”€ 07_κ°œλ°œμΌμ •.md
β”‚   └── 08_νŠΈλŸ¬λΈ”μŠˆνŒ….md
β”œβ”€β”€ backend/                 # Spring Boot λ°±μ—”λ“œ
β”œβ”€β”€ ai-server/               # FastAPI AI μ„œλ²„
β”œβ”€β”€ frontend/                # HTML/CSS/JS/Thymeleaf ν™”λ©΄
β”œβ”€β”€ docker/                  # Docker κ΄€λ ¨ μ„€μ •
└── .github/
    └── workflows/           # GitHub Actions CI/CD μ„€μ •

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages