Nice

· BackEnd
개요 열심히 구현해둔 Whisper 배치 시스템을 통해 나온 STT Text 데이터를 통해 의미있는 서비스를 만드는 것이 이번 과제였다. 그 중 TextRank 알고리즘을 이용한 문서 요약 과제가 추가되었으나 TextRank 알고리즘은 이론적으로 설명 가능한 대안이나 현실적이진 못했다.. STT 데이터 자체는 애초에 정확하지 않다. 그래서 STT Text 를 사용하여 내용, 키워드를 파악해볼 수 있도록 ELK로 데이터 분류 작업을 해보기로 하였다. (블로그 -ES로 간편해진 텍스트 분류) ElasticSearch가 검색하는 방법 우선, ElasticSearch와 RDBMS(Mysql, Oracle)의 차이에 대해 알아보자. 아래는 가장 큰 두가지 요소인 인덱싱과 검색방법의 차이이다. INDEX Elast..
· 알고리즘
개요 Whisper STT 과제에 이어, 추출된 문장들을 요약하는 과제가 추가되었다. 문장 요약 방법 2가지 문장 요약에는 크게 추출적 요약(Extractive Summarization)과 추상적 요약(Abstractive Summarization)으로 나누어진다. 추상적 요약은 AI를 이용해 나름대로 새로운 문장으로 요약을 하는 것이고, 추출적 요약은 말 그대로 글에서 중요한 문장만을 추출시켜 요약하는 것이다. 우선 추출적 요약을 사용해보기로 하였다. 페이지링크 알고리즘 우리가 쓰려는 텍스트랭크 알고리즘은 페이지랭크 알고리즘을 기반으로 한다. 페이지링크는 더 중요한 페이지는 더 많은 다른 사이트로부터 링크를 받는다는 관찰에 기초한 검색기술이다. 웹페이지는 정점, 그리고 웹페이지가 포함하는 하이퍼링크는 ..
· INFRA
개요 이전 글에서 KONG을 docker로 실행하는 방법에 대해 알아보았다. 이번에는 이 kong 컨테이너 이미지에 인증서를 입혀 https를 이용해 들어갈 수 있도록 해보자 ! SSL 인증서란? CA란? SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다. 아래는 SSL이 어떻게 작동하는지에 대한 간단한 과정을 설명한 것이다. 출처 아래에서 웹브라우저는 Chrome, 웹서버는 Nginx로 이해하자. [웹브라우저] SSL로 암호화된 페이지를 요청하게 된다. (일반적으로 https://가 사용된다) [웹서..
· INFRA
이어서 Kong API Gateway에 대해 더 알아보자! 여기 를 참고하면 Kong + Konga + Postgresql DB 를 docker 로 설치할 수 있다. 하지만 매번 이렇게 run 명령어를 일일이 칠 수도 없을 뿐더러 잘못해 docker container를 delete 시키게 되면 모든 데이터들이 날아갈 우려가 있다. 따라서 아래와 같이 docker-compose.yml 파일에 한꺼번에 정리하고 docker volume을 마운트해놓으면 좋다. 도커에 대한 설명과 아래에 쓰인 여러 지식들은 여기 에 정리해 두었으니 참고하면 좋다! docker-compose.yml 을 이용해 여러 컨테이너 run 시키기 기본적으로 kong에 관련된 config 데이터들은 postgresql 서버에 들어가므로 k..
· INFRA
API Gateway 현재 회사 프로젝트는 Flask API Server와 React 화면으로 구성되어 있으며 여러 GET 요청을 간단히 처리하고 있다. 인증처리나 loadbalancing 기능을 구현하기 위해, API GATEWAY를 이용하여 본래의 api 로직을 해치지 않고 여러 부가 기능을 추가하는 것으로 결정했다! 이렇게 서비스를 독립적으로 마이크로하게 나누어, 서비스의 개선과 확장을 용이하게 하는 것을 MSA 아키텍처라고 부른다. KONG 아래와 같이 KONG(킹콩🦍??) API GATEWAY를 사용하여 Client와 API 간 통신에 여러 부가 기능들을 대신 수행할 수 있다. KONGA Kong 관리를 쉽게 도와주는 GUI 툴, 즉 대시보드이다. Kong 설치 나는 docker 를 이용하여 설..
· INFRA
도커를 공부하며 헷갈리는 개념을 정리하는 공간입니다. 1. Docker build와 Docker run의 차이? "Docker build"는 이미지를 생성하고 정의하는 데 사용되며, "Docker run"은 이미지를 실행하여 컨테이너를 생성하고 실행하는 데에 사용되는 명령어이다. 2. 컨테이너와 이미지 차이? 예를 들어, Python 어플리케이션을 도커 이미지로 빌드하려고 한다. Python 코드와 필요한 종속성(라이브러리)을 포함하는 도커 이미지를 만든다. 이후 이 도커 이미지를 사용하여 Python 어플리케이션을 실행하려고 한다. 이미지를 기반으로 컨테이너를 생성하고 시작한다. 컨테이너는 이미지의 인스턴스이며 실행 중인 Python 어플리케이션을 나타낸다. 예를 들어 ubuntu라는 image가 있다..
· INFRA
Can’t log into Elastic (self hosted) “Oops! Error. Try again.” [lens_merge_tables] > [esaggs] > EsError TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark .. 해당 에러들은 모두 Elastic disk 가 가득차서 생기는 오류이다. free -h 명령어로 Elastic server에서 몇 퍼센트를 사용하고 있는지 확인할 수 있다. 아래 /elk 메모리가 90퍼센트 이상 사용하게 되면 주로 해당 오류들이 발생한다. [**@n**** config]# df -h Filesystem Size Used Avail Use% Mounted on dev**** t** t**s..
· AI
문제 상황 회사에서는 상담 센터에서 수많은 양의 상담 전화를 받고 있다. 이 상담 전화를 STT whisper로 받아 프로그램을 돌리고 있는데, 사실상 이 서비스가 빛을 발하지 못하고 있다. 밤새 돌려놓으면 2000건 까지는 돌릴 수 있으나 그 이상의 데이터(4000건 까지 들어옴)를 돌리지 못하는 어려움이 있음 whisper 에 화자분리는 지원이 되지 않아 해당 script의 화자 파악에 어려움이 있음✔️ 통화 음질이 아주 나빠서 정확도가 너무 떨어짐✔️ 이 STT 자료들을 조금 더 의미있게 사용하기를 원한다. 예를 들어 상담원 A와 상담원 B의 언어적 특징이나, 상담원들이 많이 사용하는 단어들을 추출한다거나 등 등 .. 내가 해볼 수 있는 기술적 영역에서 해결해볼 수 있는 것들? Kafka 등을 이용..
· INFRA
개요 Elastic Observability로 NVIDIA GPU 메트릭을 모니터링하는 방법 을 참고하여 작업하였습니다. 해당 서버는 Linux에서 NVIDIA CUDA가 설치되어 GPU가 세팅되어 있는 환경이다. 해당 GPU가 얼마만큼 사용되는지 nvidia-smi 명령어를 사용하면 알 수 있지만, cmd 창에서 일일히 확인하지 않고 kibana 등을 이용하여 시각화하기 위해서 GPU 성능 모니터링 ELK 를 탑재하였다 ! DCGM DCGM (Data Center GPU Management) 툴은 NVIDIA GPU의 성능 및 상태를 실시간으로 모니터링하여 GPU의 온도, 전력 소비, 메모리 사용량, 그래픽 작업 부하 등의 데이터를 수집하고 분석할 수 있는 툴이다. GPU와 관련한 데이터는 metric..
· INFRA
해당 작업은 elastic metricbeat docker module 과 Docker Performance Monitoring with Metricbeat and ELK Stack (사진 출처) 을 참고하여 작업하였습니다. 개요 Linux에 ELK Stack(Metricbeat) 를 세팅하여 dashboard에서 확인하는 과정은 여기 에서 확인할 수 있다. ELK metricbeat는 Docker container 들에서 metric 데이터를 가져올 수 있는 모듈을 제공한다. 추가적으로 아래의 다른 모듈들도 기본적으로 제공되는데, ./metricbeat-7.12.1-linux-x86_64(다운로드 경로)/modules.d 경로에서 확인해볼 수 있다. activemq.yml.disabled docker...
jeonyoungseo
'Nice' 태그의 글 목록