전체 글

전체 글

    [PostgreSQL]. Python ORM(sqlalchemy)으로 데이터 삽입하기

    create_table.py from sqlalchemy import MetaData, Table from sqlalchemy import create_engine import json import os from sqlalchemy import Integer, String, DateTime from sqlalchemy import Column meta = MetaData() FILE = os.path.dirname(os.path.realpath(__file__)) CONFIG = json.load(open(FILE + '/pg_test_config.json')) username = CONFIG['username'] password = CONFIG['password'] host = CONFIG['host'..

    [NLP]. SentenceTransformer Tokenize 멀티턴 형식으로 수정하기

    def origin_tokenize(self, texts: Union[List[str], List[Dict], List[Tuple[str, str]]]): """ Tokenizes the texts """ return self._first_module().tokenize(texts) def tokenize(self, texts: Union[List[str], List[Dict], List[Tuple[str, str]]]): """ Tokenization is Mutiturn Utterance Custom 안녕 [SEP] 뭐해 ㅋㅋㅋㅋㅋ [SEP] 나 집에서 넷플릭스 보고있지 """ encoded_dict = self.origin_tokenize(texts) idx = [] input_ids = encod..

    [NLP]. 텍스트 데이터 정제(이모지 , 특수문자, url , 한자 제거)

    import re import emoji from soynlp.normalizer import repeat_normalize pattern = re.compile(f'[^ .,?!/@$%~%·∼()\x00-\x7Fㄱ-ㅣ가-힣]+') url_pattern = re.compile( r'https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)') def clean(x): x = pattern.sub(' ', x) x = emoji.replace_emoji(x, replace='') #emoji 삭제 x = url_pattern.sub('', x) x = x.strip() x = repe..

    [리뷰]. 도커(Docker) 컨테이너 휴지 케이스 (feat.인카토스)

    도커(Docker)는 컨테이너 관리 시스템이다. 개발자라면 도커를 모를 수 없을 것이다. 도커를 자주 접하다보니까 언제부터 입에 달라붙기 시작했다.. 명령어를 너무 많이 쳐서 그런가 ㅋㅋ 캐릭터 및 로고도 너무 친근해졌고 애정이가기 시작했다.(사랑의 시작..) 심지어 닉네임을 도커(Docker)로 한적도 있다. 이렇게 도커의 빠져들고있을때 사무실에도 사용할 수 있는 도커 굿즈를 발견했다. 이거 있으면 도커 잘 쓸수 있을까? 우리는 공유 오피스를 사용해서 다른 사무실 직원들이 지나다니면서 볼 수도 있는데 개발 고수처럼 보여질 것 같아서 뭔가 뿌듯하네요. 사실은 주니어랍니다.. 도커 컨터이너를 휴지케이스로 녹일 생각을하다니 정말 아이디어가 좋은 것 같습니다. 성덕이 되어버렸네요 ㅋㅋ 색상은 화이트 추천드립니..

    [NLP]. SentenceTransformer 모델 TensorFlow로 불러오기

    참고 : https://www.philschmid.de/tensorflow-sentence-transformers HuggingFace 에는 Tensorflow 모델 형식인 h5 파일이 없는상태 h5 모델이 없는 상태에서도 Tensorflow 모델로 불러올 수 있다. 클래스 구현 import tensorflow as tf from typing import Union , List from transformers import TFAutoModel from transformers import AutoTokenizer class TFSentenceTransformer(tf.keras.layers.Layer): def __init__(self, model_name_or_path): super(TFSentenceT..

    [NLP]. Sentence-Transformer 모델 onnx 형식으로 변환하기

    HuggingFace에 등록된 모델을 불러와 onnx 파일 형식으로 저장하기 from pathlib import Path from transformers.convert_graph_to_onnx import convert convert(framework="pt", model="j5ng/sentence-klue-roberta-base", output=Path("onnx_models/trfs-model.onnx"), opset=11)​ Logs ransformers.convert_graph_to_onnx` package is deprecated and will be removed in version 5 of Transformers warnings.warn( ONNX opset version set to: 11..

    [Docker]. Amzon Linux Docker and docker-compose 설치

    Docker 설치 yum 으로 Docker 설치 sudo yum install docker -y Docker 실행 sudo service docker start Docker 그룹에 sudo 추가 (인스턴스 접속 후 도커 바로 제어할 수 있도록) sudo usermod -aG docker ec2-user auto-start에 docker 등록 sudo chkconfig docker on 도커 권한 변경 sudo chmod 666 /var/run/docker.sock 작동 테스트 (선택사항) docker run hello-world 도커 컴포즈(docker-compose) 설치 🐙 sudo curl -L https://github.com/docker/compose/releases/latest/download..

    [ElasticSearch]. 엘라스틱서치 밋업(MeetUp) 참가

    며칠 전 한국 엘라스틱 서치 그룹에서 진행하는 밋업에 다녀왔다. 사실 밋업 행사는 처음이라 어떻게 진행될까 궁금했고, 엘라스틱서치는 혼자서 독학으로 배운 서비스라 같은 처지에 놓인 사람들을 만나보고 싶어서 방문했다. 행사 내용은 엘라스틱서치를 잘 사용하고 있는 기업에서 발표주제를 정해 발표하는 세션이 있었고 자연어처리 주제는 아니었지만 흥미로웠다. 일단 내가 사용하면서 개선해야겠다고 마음만 먹었던 부분들을 그냥 넘어갔는데 발표 하신분께서는 집요하게 파고들어 찾아내셨다. 엘라스틱 서치 검색 쿼리가 복잡해질수록 알아보기 어려운데 RDBMS의 ORM 처럼 사용할 순 없을까? 고민만 하고 바빠서 그냥 넘어갔던 게 쉽게 얻어갈 수 있었다. 내가 알아보려고 했으면 적어도 이틀은 걸렸을 것이다. 밋업에서 얻어가는 것..

    [위로봇 프로젝트]. 오복이 육아일기 2일차 - 설계

    2022.12.06 - [Chatbot] - [위로봇 프로젝트]. 오복이 육아일기 1일차 - 소개 위로봇 오복이의 프로세스는 아주 간단하게 설계되어있습니다. 웹 서버는 Python 언어를 기반으로한 FastAPI를 사용했습니다. 웹 서버와 같은 인스턴스 안에는 엘라스틱서치 검색엔진이 있습니다. 데이터 흐름 시나리오 1. 카카오톡 채널 유저 채팅 카카오톡 채널에 접속한 유저가 채팅을 전송하면 채팅 데이터는 직접 구축한 GCP 서버로 요청을 보냅니다. 2. FastAPI Web Server 웹 서버인 fastapi는 요청을 받아 질문의 텍스트만 파씽하고 질문을 엘라스틱서치 쿼리로 전송합니다. 3. ElasticSearch 검색엔진인 엘라스틱서치는 질문의 텍스트와 가장 비슷한 질문을 검색하고 그 질문에 대한 ..

    [위로봇 프로젝트]. 오복이 육아일기 1일차 - 소개

    안녕하세요 오늘부터 토이 프로젝트로 카카오톡 채널을 이용한 챗봇을 만들어보기로 했습니다. http://pf.kakao.com/_BNZRb 사실 이미 만들었지만 중간메모를 안 하고 개발하니 정리가 안 되는 부분이 있어서 처음부터 하나하나 기록하면서 다시 개발해보고자 합니다. 카카오톡 오픈빌더를 연동하여 챗봇을 만들고자 하는 분들께 참고가 되면 좋겠습니다. 1. 캐릭터 소개 이름 : 오복이 직업 : 심리상담사 종류? : 물범 "위로봇 오복이"는 인공지능 비서가 아닙니다. 오복이는 내가 한 질문에 대해 위로로 답변해주는 감성 대화 챗봇입니다. 오복이는 정해진 시나리오로 답변하지 않습니다.(직접구현한 API를 통해 답변합니다.) 오복이는 검색시스템을 통해 질문과 가장 유사한 질문을 찾아 그의 해당하는 답변을 해..