전체 글57 MCP - Spring Ai Practice 개요Spring AI는 MCP Java SDK를 Spring Boot 통합으로 확장하여 Client와 Server Starter를 제공합니다.본문MCP OverviewMCP(Model Communication Protocol)은 AI 모델이 외부 도구와 리소스와 상호작용할 수 있도록 설계된 표준화된 프로토콜입니다.MCP Java SDK는 MCP 프로토콜을 구현하여 Java 애플리케이션이 MCP 호환 AI 모델과 통신할 수 있도록 지원합니다. MCP Java SDK는 3계층 아키텍처로 구성됩니다. 클라이언트/서버 계층: McpClient는 클라이언트 측 작업을 처리하고 McpServer는 서버 측 작업을 처리합니다. 통신 관리를 위해 McpSession을 사용합니다.세션 계층(McpSession): Mcp.. 2025. 10. 23. Tool Calling - Spring Ai Practice 개요Spring AI는 도구 호출 기능을 통해 대규모 언어 모델(LLM)이 외부 도구 및 API와 상호작용할 수 있도록 지원합니다.본문Tool Calling OverviewToll Calling(Function Calling이라고도 함)은 AI 모델이 API나 도구와 상호작용하여 기능을 화장할 수 있게 해주는 일반적인 패턴입니다. Tool의 주요 용도:정보 검색: 외부 소스(예: 데이터베이스, 웹 서비스)에서 정보를 검색하여 모델의 지식을 보강합니다.액션 실행: 소프트웨어 시스템에서 이메일 전송, 데이터베이스 레코드 생성, 폼 제출, 워크플로우 트리거링 등 특정 작업을 수행합니다.모델은 도구를 직접 호출하지 않습니다. 대신 도구 호출을 위한 프롬프트 지시사항을 생성하고 애플리케이션이 이를 해석하여 실제 .. 2025. 10. 22. 문서 검색 기반 답변 (Retrieval Augmented Generation, RAG) - Spring AI Practice 개요Spring AI는 문서 검색 기반 답변(RAG) 패턴을 직접 구축하거나 Advisors API를 사용하여 기본 제공 RAG 흐름을 활용할 수 있는 모듈식 아키텍처를 제공합니다.본문RAG OverviewLLM은 훈련 데이터에 포함되지 않은 최신 정보나 특정 도메인 지식에 액세스 할 수 없는 한계가 있습니다. 검색 증강 생성(RAG)은 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 훈련 데이터 소스 외부의 신뢰할 수 있는 기술 자료를 참조하도록 하는 프로세스입니다. RAG의 주요 구성 요소와 작동 방식은 다음과 같습니다.외부 데이터 생성: LLM의 원래 학습 데이터 외부에서 관련 문서를 벡터 저장소에 저장합니다.관련 문서 검색: 사용자가 질문을 하면 벡터 저장소에서 임베딩된 문서와의 유사도.. 2025. 10. 21. 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. 이전 1 2 3 4 ··· 6 다음