AI/AI웹이란?

[SpringAI_2편]SpringBoot프로젝트 설정

CodeMasterSong 2025. 4. 23. 01:01
반응형

🚀 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 연동이 가능합니다.

[groovy 형식]
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() 리포지토리도 추가해야 할 수 있습니다.

[groovy 형식]
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
}

🔑 3. OpenAI API 키 설정

① OpenAI 키 발급

  1. https://platform.openai.com/account/api-keys 접속
  2. 키 생성 후 복사 (예: 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 응답이 그대로 웹 브라우저에 출력됩니다!


🎯 결과 예시

안녕하세요! 무엇을 도와드릴까요?

✅ 절차 정리

프로젝트 생성부터 실행 절차까지를 간략히 정리하면 다음과 같습니다. OpenAI 키 생성부터 간단한 절차를 진행해보는 것이 가장 좋은 방법입니다. 다음 절차와 같이 진행하고 시작 준비를 해 보세요.
단계 설명
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 모델과도 쉽게 연동하는 방법을 소개할 예정입니다.

반응형