강의 추천/검색 기능 글 시리즈강의 추천/검색 기능 구현 1탄 - OpenSearch와 Elasticsearch강의 추천/검색 기능 구현 2탄 - OpenAI Vector Embeddings 사용법 (Java 실습) 이번엔 실제로 AWS의 Amazon OpenSearch Service를 구축하는 글이다.1탄에서 OpenSearch의 구조와 특징을 이해하면 실제로 도메인을 구축 후인덱스 생성, 도큐먼트 생성 등의 코드와 동작 원리를 더 잘 이해할 수 있다. Amazon OpenSearch Service 도메인 생성 방법프리티어 기준이 글에서는 무료로 사용 가능한 프리티어 기준으로 구축했다. AWS에서 Amazon OpenSearch Service를 검색한 후 도메인 생성을 누른다.도메인 이름을 입력하고 표..
Reviewing(리뷰잉) 프로젝트의 강의 추천 기능을 구현하며 공부했던 내용과 기능 구현 시리즈를 만들고 있다.이전글 강의 추천/검색 기능 구현 1탄 - OpenSearch와 ElasticSearch 에서는 OpenSearch를 사용하기 위해공부한 내용을 정리했었다. 이번에는 강의 추천 기능을 구현하기위해 벡터 유사도 계산을 구현했는데 이때 텍스트를 벡터로 변환할 때 사용했던OpenAI Vector Embeddings에 대한 내용을 Embeddings부터 공부하고 직접 벡터 변환 구현까지 정리할 예정이다.Vector(벡터)란?벡터란 크기와 방향을 가지고 있는 양을 나타내는 개념이다.벡터의 차원은 벡터 성분의 개수를 의미하는데 2차원 벡터는 2개의 성분을 갖는다.Ex) [1,2] - 2차원 벡터, [1,..
Reviewing(리뷰잉) 프로젝트를 진행하면서 강의 추천 기능을 구현했는데 이때 AWS의 OpenSearch Service를 사용했다. OpenSearch와 Elasticsearch의 비교부터 공부 및 구현 내용을 정리할 예정이다.Elasticsearch란?Elasticsearch는 Apache Lucene에 구축되어 배포된 검색 및 분석 엔진이다.검색 엔진 : 원하는 정보를 검색해 주는 시스템분석 엔진 : 데이터를 분석해 주는 시스템Apache Lucene : Java 기반 정보 검색 라이브러리이며 더그 커팅(하둡 개발자)에 의해 개발되었다. 아파치 소프트웨어 재단에 의해 지원되며 아파치 라이선스하에 배포된다. Elasticsearch를 통해 ..