전체 글54 Chat Memory - Spring AI Practice 개요LLM은 stateful하지 않기 때문에 대화형 애플리케이션에서 과거 대화를 기억하고 컨텍스트를 유지하는 것이 중요합니다. Spring AI는 Chat Memory API를 통해 대화 히스토리를 관리하고 이를 프롬프트에 통합하여 보다 자연스럽고 일관된 대화를 가능하게 합니다. ChatMemoryRepository 인터페이스는 대화 세션별로 메시지를 저장하고 검색하는 기능만 담당하여 어떤 메시질르 보관하고 언제 제거할지는 ChatMemory 인터페이스가 담당합니다.본문Chat Memory vs Chat HistoryChat Memory: 대규모 언어 모델이 대화 전체에서 맥락 인식을 유지하기 위해 보관하고 사용하는 정보Chat History: 사용자와 모델 간에 교환된 모든 메시지를 포함한 전체 대화 .. 2025. 10. 2. Vector Databases - Spring AI Practice 개요Spring AI는 벡터 데이터베이스와의 통합을 지원하여 임베딩된 데이터를 효율적으로 저장하고 검색할 수 있는 기능을 제공합니다.본문API OverviewDocumentWriter: 벡터 데이터베이스에 문서를 쓰는 기능을 제공해야 하는 인터페이스입니다. Consumer>를 구현합니다.VectorStore: 벡터 데이터베이스와 상호작용하는 핵심 인터페이스입니다. 벡터의 저장, 검색, 삭제 등의 기능을 제공합니다. DocumentWriter를 확장합니다.add(List documents): Document 객체 리스트를 벡터 데이터베이스에 추가합니다.accept(List documents): Document 객체 리스트를 벡터 데이터베이스에 추가하는 Consumer 메서드입니다.delete(List id.. 2025. 10. 2. Embeddings Model API - Spring AI Practice 개요Spring AI는 Embeddings Model API를 통해 다양한 AI 기반 임베딩 모델과 통합할 수 있는 기능을 제공합니다.본문EmbeddingsEmebeddings은 텍스트, 이미지, 오디오 등 다양한 데이터 유형을 부동 소수점 숫자 배열로 표현하는 기술입니다. 이러한 표현은 기계 학습 모델이 데이터를 이해하고 처리하는 데 도움이 되며 Vector라고 불립니다. Embeddings은 검색, 추천 시스템, 분류, 군집화 등 다양한 AI 및 NLP 작업에 활용됩니다.Design of the Embeddings Model APIPortability: Spring의 모듈화 및 상호 교환성 원칙을 준수하여 다양한 Embeddings 모델을 쉽게 통합할 수 있도록 설계되었습니다.Simplicity: 사.. 2025. 10. 2. Adivisors API - Spring AI Practice 개요Spring AI Advisors API는 Spring AI에서 가로채고 수정하고 확장할 수 있는 강력한 메커니즘을 제공합니다.본문Core Components출처: https://docs.spring.io/spring-ai/reference/api/advisors.html#_core_componentsadvisorCall(), advisorStream(): Advisor의 핵심 메서드로 프롬프트를 보내기 전에 검사, 정의, 확장하고 응답을 받은 후 응답 검사, 처리 오류 처리 등을 수행합니다.getOrder(): Advisor의 실행 순서를 정의합니다. 낮은 값이 먼저 실행됩니다.getName(): Advisor의 이름을 반환합니다.Advisors Flow출처: https://docs.spring.i.. 2025. 10. 2. 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. 이전 1 2 3 4 ··· 6 다음