본문 바로가기

전체 글50

Image Model API - Spring AI Practice 개요Spring AI는 Image Model API를 통해 다양한 AI 기반 이미지 생성 모델과 통합할 수 있는 기능을 제공합니다.본문Image Model InterfaceImage Model Interface는 call 메서드를 통해 ImagePrompt를 입력받아 ImageResponse를 반환합니다. Model 인터페이스를 확장하여 일관된 구조를 유지합니다.@FunctionalInterfacepublic interface ImageModel extends Model { ImageResponse call(ImagePrompt request);}ImagePromptImagePrompt는 ModelRequest 인터페이스를 구현하며, 이미지 생성에 필요한 메시지와 옵션을 포함합니다.public cl.. 2025. 9. 18.
Audio Models - Spring AI Practice 개요Spring AI는 Transcription 및 Text-to-Speech(TTS) API를 지원합니다.본문Transcription APISpring AI(1.0.2) 기준 OpenAI Audio Transcription과 Azure OpenAIAudio Transcription를 간편하게 사용할 수 있습니다. OpenAI Audio Transcription과 Azure OpenAIAudio Transcription은 비슷하기 때문에 OpenAI Audio Transcription 예시를 통해 설명합니다.Spring AI Starter OpenAI Audio TranscriptionOpenAI Audio Transcription 지원하는 파일 형식: flac, mp3, mp4, mpeg, mpga, .. 2025. 9. 17.
Structured Output Converter - Spring AI Practice 개요일반적으로 AI 모델의 결과를 JSON, XML 또는 Java 클래스와 같은 구조화된 형식으로 변환하는 것이 필요합니다. Spring AI는 이러한 변환을 쉽게 처리할 수 있는 Structured Output Converter 기능을 제공합니다.본문Structured Output APIStructuredOutputConverter 인터페이스는 AI 모델의 출력의 최상위의 인터페이스입니다. 그리고 Spring의 Converter 인터페이스와 FormatProvider인터페이스를 확장합니다.public interface StructuredOutputConverter extends Converter, FormatProvider {} 다음 다이어그램은 흐름을 보여줍니다:출처: https://docs.spri.. 2025. 9. 17.
Spring Boot Properties에서 System Environment Property 사용하기 개요Spring Boot 애플리케이션에서 System Property를 참조하면 실수로 git에 민감한 정보가 노출되는 것을 방지할 수 있습니다.본문1. 환경 변수 설정사용하는 Shell에 따라 환경 변수를 설정합니다. 저는 zsh를 사용합니다. ~/.zshrc 파일에 환경 변수를 설정합니다.vim ~/.zshrc OpenAI API 키를 설정하려면 파일 끝에 다음 줄을 추가합니다:export OPENAI_API_KEY="your-openai-api-key" 변경 사항을 적용합니다.source ~/.zshrc2. Spring Boot 애플리케이션에서 환경 변수 참조Spring Boot 애플리케이션의 application.properties 또는 application.yml 파일에서 환경 변수를 참조할 수.. 2025. 9. 17.
Prompts - Spring AI Practice 개요Prompts는 AI 모델이 특정 출력을 생성하도록 안내하는 데 사용하는 입력 텍스트입니다. 그래서 효과적인 프롬프트를 작성하는 것은 원하는 결과를 얻는 데 매우 중요합니다. Spring AI는 개발자가 쉽게 프롬프트를 생성하고 관리할 수 있도록 지원합니다.본문PromptSpring AI에서 Prompt는 아래와 같이 구성됩니다:List messages: Message 객체의 리스트ChatOptions options: 모델에 대한 추가 옵션public class Prompt implements ModelRequest> { private final List messages; private ChatOptions chatOptions;}MessageMessage는 Prompt의 구성 요소로 Co.. 2025. 9. 16.
Chat Client API - Spring AI Practice 개요ChatClient는 AI Model과 통신하는 fluent API를 제공합니다. 여기서 fluent API란 메서드 체이닝을 통해 직관적이고 가독성 높은 코드를 작성할 수 있는 스타일을 의미합니다.본문Creating a ChatClientChatClient.BuilderChatClient는 ChatClient.Builder 객체를 통해 생성할 수 있습니다. Builder는 API 키, 모델, 옵션 등을 설정하는 메서드를 제공합니다. Spring AI는 기본 자동 설정은 ChatClient.Builder 빈을 제공합니다.@Configurationclass AiConfig { @Bean fun chatClient(chatClientBuilder: ChatClient.Builder): Chat.. 2025. 9. 16.
Chat Model API - Spring AI Practice 개요Spring AI는 다양한 Chat Model AI와 연동하여 개발자에게 AI 기반 채팅 완성 기능을 애플리케이션에 통합할 수 있는 기능을 제공합니다. 간편하고 휴대성이 뛰어난 인터페이스로 설계되어 개발자는 최소한의코드 변경으로 여러 모델 간을 전환할 수 있습니다.본문기본 FlowPromptSpring AI에서 Prompt는 아래와 같이 구성됩니다:List messages: Message 객체의 리스트ChatOptions options: 모델에 대한 추가 옵션MessageMessage는 Content Interface를 extend하고 MessageType Enum를 추가하여 아래와 같이 구성됩니다:public interface Content { String getText(); Map ge.. 2025. 9. 15.
Social 로그인 구현 (Spring Security) 개요Spring Security를 사용하여 Social 로그인을 구현하는 방법에 대해 간단히 알아보겠습니다.Google 로그인 구현Google Oauth2은 Spring Security에서 기본적으로 지원하는 Oauth2 제공자 중 하나입니다. 구현하는 것은 매우 간단합니다.Google API Console에서 프로젝트 생성Google API Console에 접속합니다.사용자 인증 정보 > 사용자 인증 정보 만들기를 클릭합니다.OAuth 클라이언트 ID를 선택합니다.웹 애플리케이션을 선택하고 이름을 입력합니다.승인된 JavaScript 원본과 승인된 리디렉션 URI를 입력합니다.승인된 JavaScript 원본: 브라우저에서 JavaScript를 사용하여 Google API를 호출할 때 사용하는 도메인입니.. 2025. 1. 25.
Spring AuthorizationServer를 사용한 OAuth2 인증 서버 구축 (1) 개요Spring AuthorizationServer를 사용하여 OAuth2 인증 서버를 구축하는 방법에 대해 알아보겠습니다.Gradle 설정implementation "org.springframework.security:spring-security-oauth2-authorization-server"Spring Boot를 사용하지 않는 경우 버전 정보를 명시해야 합니다.application.yml 기존 설정# 서버 포트 설정server: port: 9000# 로깅 설정logging: level: org.springframework.security: tracespring: security: # 유저 정보 설정 user: name: user password: passwo.. 2025. 1. 17.
mkcert, Spring Boot를 사용하여 Localhost에서 HTTPS를 사용하는 방법 개요프로젝트 개발 중에 HTTPS를 사용해야 하는 경우가 있습니다. 이때, Localhost에서 HTTPS 사용해야 하는 경우가 있습니다. 이때, mkcert를 사용하면 간단하게 Localhost에서 HTTPS를 사용할 수 있습니다.mkcert 무엇인가요?mkcert는 로컬에서 사용할 수 있는 간단한 인증서를 생성해 주는 도구입니다.mkcert 설치 방법 (macOS)Homebrew를 사용하여 mkcert를 설치합니다.brew install mkcertmkcert 사용 방법local CA를 시스템 신뢰 저장소에 설치합니다.mkcert -install mkcert를 사용하여 인증서를 생성합니다. 이때, localhost를 사용할 경우 다음과 같이 입력합니다.mkcert localhost local CA를 .. 2025. 1. 15.