이번 실습에서는 Faiss를 이용하여 vector 유사도 검색을 실험해 보자.이번 글에서는 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 이용할 거다. 1. 환경 설정먼저 Faiss 패키지를 설치해 준다. gpu와 cpu를 사용하는 패키지가 서로 다른데 나는 구글 코랩에서 gpu를 사용할 거기 때문에 gpu 버전으로 다운받아줬다.# GPU를 사용하는 버전의 Faiss Python 패키지 설치!pip install faiss-gpu그리고 임베딩 생성을 위한 벡터 인코더로 sentence-transformers를 설치해 준다.!pip install sentence-transformers2. 데이터 전처리이제 데이터를 다운받고 전처리를 해주자.# 위키미디어로부터 kowiki ..
Tools
Elasticsearch를 이용해 vector 유사도 검색을 실험해 보자. 기존 역색인 검색과 비교해서 결과가 어떻게 달라지는지 확인해 보면 좋을 것 같다. 이번 글에서는 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 이용할 거다. ES를 설치하고, 한글 형태소 분석기인 Nori를 설치하고(기존 역색인 검색과 비교하기 위해 설치) ES 데몬 인스턴스 만들고 접속하는 부분은 지난 글에 작성했기 때문에 넘어가겠다. 👇 이전 글 👇구글 코랩에서 Elasticsearch 설치 및 실습 구글 코랩에서 Elasticsearch 설치 및 실습이번 실습에서는 가장 많이 활용되고 있는 검색엔진 솔루션 중 하나인 Elasticsearch를 설치하고 구동해 보자.데몬으로 구동한 후 가장..
이번에는 Elasticsearch 검색 API 및 Query DSL를 사용해서 다양한 형태의 검색 명령을 수행해 보자.이번 데이터셋도 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 사용해 볼 것이다.환경설정하고 ES 데몬 실행하고 wikimedia 데이터셋 가져와서 nori 분석기로 데이터 색인까지 저번글에 작성되어 있으니 그 부분 참고하면 좋을 것 같다. 👇 이전 글 👇구글 코랩에서 Elasticsearch 설치 및 실습 구글 코랩에서 Elasticsearch 설치 및 실습이번 실습에서는 가장 많이 활용되고 있는 검색엔진 솔루션 중 하나인 Elasticsearch를 설치하고 구동해 보자.데몬으로 구동한 후 가장 간단한 형태의 색인 및 검색 테스트를 통해 정상적으로 ..
이번에는 지난 글에 이어서 Elasticsearch에서 공식적으로 지원하는 한글 형태소 분석기인 Nori를 설치하고 사용해 보자. 기본 Analyzer 사용 시와 Nori 형태소 분석기를 사용했을 때의 차이점에 대해 비교해 보자. 이번에 사용할 데이터셋은 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 사용할 거다.다음 명령어는 지난번에 다뤘기 때문에 빠르게 넘어간다.!pip install elasticsearch==8.8.0!wget -q https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.0-linux-x86_64.tar.gz!tar -xzf elasticsearch-8.8.0-linux-x86..
이번 실습에서는 가장 많이 활용되고 있는 검색엔진 솔루션 중 하나인 Elasticsearch를 설치하고 구동해 보자.데몬으로 구동한 후 가장 간단한 형태의 색인 및 검색 테스트를 통해 정상적으로 동작하는지 확인해 보자.일단 데이터셋은 cnn_dailymail로 약 27만 개의 cnn 뉴스 데이터로 진행해 볼 것이다. 1. Elasticsearch 설치Elasticsearch를 노트북 환경에 설치한다.# Elasticsearch Python 패키지 설치!pip install elasticsearch==8.8.0# Elasticsearch 8.8.0 다운로드 및 압축 풀기# 리눅스용 엘라스틱서치 서버 설치를 위한 패키지 다운로드!wget -q https://artifacts.elastic.co/downloa..
스프링 부트, 카프카, 슬랙 연동 - 실시간 에러 알림 시스템 구축 📌 서론 이전 글에서 로컬 환경에서 도커로 Kafka를 실행하고, 스프링 부트에서 카프카로 메시지를 전송했다.(producer) 이제 Kafka에서 특정 토픽으로 메시지가 들어왔을 때 해당 메시지를 슬랙에 알림으로 전송하는 프로세스만 남았다. (consumer) 이번 글에서 슬랙과 스프링 부트를 연동하고 스프링 부트에서 에러가 발생하면 해당 에러가 슬랙으로 잘 전달이 되는지 확인하자. 이전 글에서 이미 kafka를 실행시켜줬고, kafka producer까지는 완료된 상황이다. 만약 이 두 개 중 하나라도 안되어있다면 해당 글을 읽고 오는 걸 권장한다. 🔻 docker-compose로 kafka 실행 🔻 macOS에서 docker-com..
스프링 부트에서 Kafka로 메시지 전송하기: 실시간 에러 로그 처리 📌 서론 이전 글에서 docker-compose로 로컬 환경에 카프카를 실행했다. 스프링 부트 프로젝트에서 에러가 발생하면 Slack으로 알림을 보내기 위해서 Kafka를 사용하기 위해서 이전 글에서 로컬 환경에서 docker-compose로 카프카를 실행했다. 이제 스프링 부트에 에러 핸들링하는 부분에 카프카 메시지를 전송(producer)하는 코드를 추가하는 과정을 함께 살펴보자 🔻 macOS 환경에서 도커로 카프카를 실행하는 방법이 궁금하다면? 🔻 macOS에서 docker-compose로 Kafka 설치하기 (Zookeeper 사용 X) macOS에서 docker-compose로 Kafka 설치하기 (Zookeeper 사용 X)..
macOS에서 docker-compose로 Kafka 설치하기 (Zookeeper 사용 X) 📌 서론 스프링 부트 프로젝트에서 에러가 발생하면 Slack으로 알림을 보내기 위해서 Kafka를 사용해 보기로 했다. 우선 테스트 환경에서 Kafka를 실행해보기 위해서 macOS 환경에서 docker-compose로 Kafka를 설치해 봤다. 이전에 Zookeeper를 사용하던 때랑 달라진 점이 많아서 조금 헷갈리지만 그래도 최대한 할 수 있는 데까지는 정리해 봤다. 여전히 모르는 개념이 많기 때문에 계속 공부하면서 적용해 봐야겠다... docker-compose.yml 다음 docker-compose.yml 파일은 Kafka 클러스터를 구성하기 위한 Docker 컨테이너 설정을 담고 있다. Kafka 클러스..