OpenAI5 Spring AI를 사용하여 당근 상품 등록 기능 개발하기 개요당근 앱을 사용하다 보면 많은 부분에서 AI를 사용하여 상품 정보를 쉽게 등록하게 해 주거나 사용자가 입력한 정보를 사용하여 관련 있는 광고를 노출해주고 있는 것을 볼 수 있다. 이전 포스팅에서 Spring AI를(https://blog.igooo.org/162) 사용하여 간단하게 AI를 연동하는 방법을 알아봤는데 이번 포스팅에서는 기능을 더 추가하여 당근 앱에서 사용하는 기능을 구현해 본다. Getting startedSpring InitializrAI 연동을 위해서 OpenAI를 추가하고, Frontend를 위해서 간단한 Vaandi 의존성을 추가하여 프로젝트를 생성한다. Config application.properties예제에서는 OpenAI를 사용하고 gpt-4o 모델을 사용한다.vaadin.. 2025. 2. 16. Spring AI 영수증 이미지 처리하기 개요Spring AI를 사용하여 영수증 이미지 파일에 총액과 상품 정보를 조회하여 화면에 출력하는 기능을 개발한다.Spring AI와 OpenAI를 사용하면 매우 적은 코드로 간단하게 AI기능을 구현할 수 있다. Getting startedSpring InitializrAI 연동을 위해서 OpenAI를 추가하고, Frontend를 위해서 간단한 Vaandi 의존성을 추가하여 프로젝트를 생성한다. Config application.properties이미지 파일 업로드를 위해서 multipart 업로드 사이즈를 설정한다.OpenAI와 연동을 위해서 사용하는 모델과 API Key를 입력한다.(참고 https://blog.igooo.org/150)spring.application.name=ai-receiptva.. 2025. 1. 21. Elasticsearch 시맨틱 검색(semantic search) 개요Elasticsearch의 semantic_text를 사용하여 시맨틱 검색을 사용하는 방법과, Full-text saerch 검색과는 어떤 차이점이 있는지 같이 알아본다. Full-text searchFull-text 검색은 사용자가 입력한 문장을 언어에 맞는 형태소 분석기를 사용하여 각각의 품사로 분리하고, 분리된 단어들은 BM23(https://en.wikipedia.org/wiki/Okapi_BM25) 알고리즘에 따라 문서 안에 키워드의 발생 빈도, 문서의 길이 등을 값을 기준으로 평가하여 score가 놓은 문서를 찾는 방식이다.단점은 형태소 분석기로 분리된 단어에 대해서만 검색이 가능하다. (ex 맛집으로 검색하면 식당이 들어간 문서는 검색되지 않는다.동의어를 사용하면 처리가 가능하지만 사용자.. 2024. 11. 27. Spring AI를 사용한 AI 어시스턴트 구현 RAG - Part 2 (with OpenAI) 개요Spring AI에 첫 번째 부분에서 Spring AI를 LLM과(대규모 언어 모델) 통합하는 기본 사항에 대하여 구현했다. 사용자 지정 ChatClient를 생성하여 애플리케이션에서 제공하는 함수를 호출하에 사용자 프롬프트에 응답하는 기능에 대하여 구현했다. Part 2에서는 일반적인 함수 호출 방식의 제약에 맞지 않은 대규모 데이터 세트를 처리할 수 있는 기술인 RAG를(Retrieval-Augmented Generation) 사용하여 검색 기능을 살펴보고, RAG를 사용하여 어떻게 AI를 애플리케이션과 통합할 수 있는지 알아본다. RAG(Retrieval-Augmented Generation) RAG(Retrieval-Augmented Generation)는 대규모 언어 모델의 출력을 최적화하.. 2024. 10. 3. Spring AI를 사용한 AI 어시스턴트 구현 - Part 1 (with OpenAI) 개요Spring AI를 활용하여 사용자가 자연어 사용을 통한 애플리케이션과 상호작용할 수 있도록 AI 어시스턴스 기능을 구현한다. Spring AI 예제는 Spring Petclinic을 사용하여 구현했지만, 아래 예제에서는 심플한 TODO 애플리케이션을 구현하여 AI 어시스턴트 기능 구현에 대하여 설명한다. 사용된 기술Spring Petclinic 코드를(https://github.com/spring-projects/spring-petclinic/tree/spring-ai) 기반으로 예제를 작성할 예정이라 AI 기능을 제외한 기능에 대해서는 Spring Petclinic AI 코드를 참고한다.Spring AI는 다양한 LLM 모델을 지원하지만 예제에서는 OpenAI를 사용하여 구현한다.(OpenAI를.. 2024. 10. 1. 이전 1 다음