🚀 Spring Boot 프로젝트에 Spring AI 설정하고 웹에서 결과 출력하기
Spring AI를 실제로 사용하려면 어떻게 시작해야 할까요?
이번 글에서는 Spring Boot 프로젝트를 새로 생성하고, OpenAI API와 연동하여 결과를 웹에서 확인할 수 있는 간단한 예제를 만들어 보겠습니다.
Spring을 잘 몰라도, 차근차근 따라오면 AI 기능이 웹에서 출력되는 기쁨을 느끼실 수 있어요!
🛠️ 1. 프로젝트 생성 (Spring Initializr)
https://start.spring.io 에 접속해서 아래 설정으로 프로젝트를 생성합니다.
항목 | 값 |
Project | Gradle - Kotlin 또는 Java (선호 언어 선택) |
Language | Java |
Spring Boot | 3.2.x 이상 |
Dependencies | Spring Web, Spring Boot DevTools (편의) |
이후 Generate 버튼 클릭 후 압축을 풀고 IDE(IntelliJ, VSCode 등)에서 열어주세요.
📦 2. build.gradle에 Spring AI 의존성 추가
OpenAI Starter를 사용하면 별도 설정 없이 바로 ChatGPT 연동이 가능합니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.ai:spring-ai-openai-spring-boot-starter:0.8.0-SNAPSHOT'
}
최신 버전은 Spring AI GitHub에서 확인 가능하며, mavenCentral() 또는 springMilestone() 리포지토리도 추가해야 할 수 있습니다.
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
}
🔑 3. OpenAI API 키 설정
① OpenAI 키 발급
- https://platform.openai.com/account/api-keys 접속
- 키 생성 후 복사 (예: sk-abc123...)
[ChatGPT API]ChatGPT API Key 생성 방법을 알아보자.
🔑 ChatGPT API 키 생성 및 활용 가이드인공지능 기반 서비스는 다양한 분야에서 빠르게 활용되고 있습니다. 그중에서도 ChatGPT API는 자연어 처리(NLP) 분야에서 강력한 성능을 자랑하며, 여러 프로
all-tech-hub.tistory.com
② application.yml 또는 application.properties 설정
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
💡 보안 Tip: 키를 코드에 직접 쓰지 말고 .env 파일이나 환경변수로 설정하는 걸 추천합니다.
📄 4. 간단한 AI 응답 서비스 클래스 생성
이제 실제로 AI와 통신할 코드를 작성해봅니다.
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AiService {
private final ChatClient chatClient;
@Autowired
public AiService(ChatClient.Builder chatClientBuilder) {
this.chatClient = chatClientBuilder.build();
}
public String ask(String userMessage) {
return chatClient.prompt()
.user(userMessage)
.call()
.content();
}
}
🌐 5. REST API 컨트롤러 작성
간단한 GET 요청으로 AI 응답을 받을 수 있도록 컨트롤러를 작성합니다.
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/ai")
public class AiController {
private final AiService aiService;
public AiController(AiService aiService) {
this.aiService = aiService;
}
@GetMapping("/chat")
public String chat(@RequestParam String message) {
return aiService.ask(message);
}
}
▶️ 6. 실행 및 테스트
실행
./gradlew bootRun
웹 테스트
브라우저에서 다음 URL로 접속해보세요:
http://localhost:8080/ai/chat?message=안녕
✅ "안녕"에 대한 ChatGPT 응답이 그대로 웹 브라우저에 출력됩니다!
🎯 결과 예시
안녕하세요! 무엇을 도와드릴까요?
✅ 절차 정리
단계 | 설명 |
1단계 | Spring Initializr로 프로젝트 생성 |
2단계 | build.gradle에 의존성 추가 |
3단계 | OpenAI 키 설정 (환경변수 권장) |
4단계 | ChatClient 기반 AI 서비스 작성 |
5단계 | REST API로 결과 웹에 노출 |
6단계 | 실행 후 브라우저로 테스트 |
📌 다음 편 예고: 다양한 LLM 연동 실습
다음 편에서는 단순히 OpenAI만 쓰는 것이 아니라, Azure OpenAI, Hugging Face, Google Vertex AI 등 다른 AI 모델과도 쉽게 연동하는 방법을 소개할 예정입니다.
'AI > AI웹이란?' 카테고리의 다른 글
[SpringAI_1편]계속 발전하는 Web! AI가 늘어나는 Web! (1) | 2025.04.21 |
---|---|
[AI]AI Website이 뭐야? 웹사이트에 비서를 두자. (0) | 2025.02.03 |