Using Java in 2025
📌: Spring Boot 기반의 AI 챗봇 및 벡터 데이터 처리 프로젝트
해당 프로젝트의 구현 과정과 코드 상세 설명은 티스토리 블로그 포스트에서 확인하실 수 있습니다.
SpringAI는 Spring Boot로 개발된 두 개의 서브 프로젝트를 포함하는 AI 서비스 모노레포입니다.
spring_basic은 간단한 생성형 AI 챗봇 기능을 제공하고, spring_vectordb는 PDF를 벡터화하여 검색할 수 있는 시스템입니다.
- AI 챗봇 기능 구현: Spring Boot 기반 생성형 AI 응답 API 구현
- PDF 임베딩 및 검색 기능: Vector DB 기반 정보 검색 기능 제공
-
📂 spring_basic
생성형 AI 응답 기능을 제공하는 챗봇 백엔드/ask-ai?prompt=...: 기본 모델을 이용한 응답 반환/ask-ai-options?prompt=...: 모델 및 파라미터 설정 후 응답 반환
-
🖱️ spring_vectordb
PDF 문서 내용을 벡터화하고 검색 가능한 시스템- PDF → 텍스트 추출 → 임베딩 → 검색 API 제공
SpringAI/
├── spring_basic/
│ ├── src/main/java/com/ai/spring_basic/
│ │ ├── ChatService.java
│ │ ├── GenAIController.java
│ │ └── SpringBasicApplication.java
│ ├── src/main/resources/
│ │ └── application.yaml
│ ├── target/
│ │ └── spring_basic-0.0.1-SNAPSHOT.jar
│ └── pom.xml
│
└── spring_vectordb/
├── src/main/java/com/example/spring_vectordb/
│ ├── DataLoader.java
│ ├── ICSController.java
│ └── SpringVectordbApplication.java
├── src/main/resources/
│ ├── application.yaml
│ ├── one_lucky_day.pdf
│ └── schema.sql
├── target/
│ └── classes/
└── pom.xml
- Language: Java 17
- Framework: Spring Boot 3.4.1
- Spring AI: OpenAI, pgvector, PDF Reader
- Database: PostgreSQL (pgvector)
- Name: Eunseo Yu
- E-mail: eunseoyu0825@gmail.com
- GitHub: 221B0825