전체 글

· 언어모델
서비스를 하는 사람은 항상 고객이 필요하고 있다. 고객은 서비스에 대한 질문을 하고 서비스 담당자는 이에 대한 답변을 한다. 서비스가 커질수록 이에 소모되는 비용이 커진다.질문에 대한 답을 Bot이 할 수 있게 개발해보자.준비할 것LLM (Large Language Model) : 답변을 생성Chat History : 질문에 대한 답변 기록VectorDB : Chat History를 저장Slack Bot : 질문을 받고 LLM에 요청을 보낸 뒤 답변을 반환앞으로 만들 Slack Bot은 그림과 같이 아래와 같은 Step을 갖는다. 1. 채팅 히스토리를 벡터화해서 VectorDB에 넣는다. 2. Slack Bot으로 들어온 질문을 벡터화한다. 3. 유사한 히스토리를 VectorDB로 부터 찾는다. 4. 찾..
· Python
flake8을 린터로 사용하고 black을 코드포매터로 사용하고 있는데 ruff는 이 두가지 역할을 모두하며 매우 빠르다. (추가로 isort도 사용하는데, ruff를 사용하면 다 대체 가능)그냥 ruff 만을 사용하면 되는 수준이다.그리고 다양한 곳에서 사용중이다. (검증이 되었단 소리)Apache AirflowApache SupersetFastAPIHugging FacePandasSciPyGithub Star 수도 급격히 증가하고 있다.1. 설치pip를 통해 간단히 설치할 수 있다.pip install ruff2. 사용법Checkruff위는 명령어는 현재 디렉토리 하위의 .py 파일을 검사한다.check가 생략된 것으로 검사만을 수행한다.Fixruff --fixcheck된 내용을 알아서 수정해준다.3..
· Kafka
서론랭체인 완벽입문 책을 읽다가 redis를 쉽게 이용할 수 있는 upstash 라는 서비스를 알게되었습니다.https://upstash.com/ 를 확인해보니 Redis 뿐만 아니라 Kafka, VectorDB, QStash(?)가 사용 가능한 것을 보고 궁금해져서 사용해보며 글을 남기고자 합니다.가격upstash는 완전 관리형 서비스로 앞서 언급한 서비스를 관리해줍니다. 전부 무료는 당연히 아니고 가격 정책이 있었습니다.(QStash는 Upstash의 스케줄러 & 메시징큐를 위한 서비스)Service공짜쓴만큼 지불Redis10,000 Request Per Day$0.2 per 100kKafka10,000 Request Per Day$0.6 per 100kVector10,000 Request Per D..
· 언어모델
https://www.yes24.com/Product/Goods/124922985책 내용 중 기록하고 싶은 내용을 작성합니다.1. 챗지피티와 랭체인기존에는 용도별로 각각의 모델을 준비해야 했지만, GPT는 엄청나게 많은 다양한 종류의 텍스트로 학습해 다양한 작업에 댕응할 수 있는 언어 모델이다.언어 모델을 크게 두가지로 분류됨Chat : 대화형 상호작용 생성에 특화된 모델Complete : 주어진 텍스트에 이어 텍스트를 생성모델 별 허용 컨텍스트gpt-3.5-turbo-16k : 16k의 컨텍스트 길이를 처리할 수 있음suffix가 없으면 일반적으로 4kgpt-3.5-turbo-0613 와 같이 날짜가 suffix로 있는 경우는 특정 버전으로 고정된 것API 요금은 송신 입력 토큰과 수신 출력 토큰에 모..
· MLOps
이 글은 https://cloud.google.com/bigquery/docs/create-machine-learning-model?hl=ko 의 내용을 수행한 기록입니다. 다수의 기업에서 GCP의 BigQuery를 데이터 웨어하우스 혹은 데이터 레이크로 채택하여 사용하고 있다. ML 프로젝트에선 이 데이터를 이용해서 모델을 학습하고 배포한다. 여기서 어디서 학습을 진행하느냐에 따라 데이터 전송 비용이 발생한다. 데이터 전송을 어떻게 하느냐에 따라 크고 작은 비용이 발생한다. 학습 시 추가로 필요한 증분 데이터만을 전달하는 게 좋겠지만 매 학습 때 마다 필요한 데이터를 전부 전송하기도 한다. 빅쿼리 ML은 사용자가 직접 SQL 쿼리를 통해 머신러닝 모델을 생성, 학습, 평가할 수 있는 서비스이다. 이제 ..
· Python
Redis는 고성능 키-값 저장소로, 캐싱, 메시지 브로커, 큐 시스템 등 다양한 용도로 사용된다. 이 글에서는 파이썬에서 Redis를 사용하는 방법을 소개한다. Redis 시작하기 Redis 설치하기 Redis는 다양한 운영 체제에서 사용할 수 있습니다. 공식 웹사이트에서 제공하는 설치 지침(https://redis.io/docs/install/install-redis/) 을 따라 Redis를 설치할 수 있다. 나는 Mac 환경을 사용하므로 brew를 통해 설치했다. brew install redis 이제 redis를 실행하자. brew services start redis 파이썬에서 Redis 사용하기 설치한 Redis를 파이썬으로 제어하기 위해선 redis-py 라이브러리가 필요하다. pip ins..
· Python
안녕하세요. 오늘은 행정동 지리정보를 불러와서 시각화하는 방법에 소개하려 합니다. 행정동은 한 지역의 행정 구획을 의미하며, 이를 시각화하여 지리적 특성을 파악하거나 데이터 분석에 활용할 수 있습니다. 다음과 같은 순서로 소개합니다. 지리정보 가져오기 정보를 읽고 시각화하기 1. 지리정보 가져오기 기본적으로 지리정보는 매년 행정안정부로부터 공개됩니다. 일반적으로 shapefile 형태로 공개됩니다. (shapefile 파일 형식은 지리 정보 시스템(GIS) 소프트웨어를 위한 지리 공간 벡터 데이터 형식) 저는 포스팅에서 2024.02.13에 발표된 시군구 구역도를 받았습니다. 감사합니다. :) 다운로드하여서 파일을 열어보면 아래와 같은 파일 구조를 갖습니다. 시군구 ├── sig.dbf ├── sig.p..
· MLOps
참고한 블로그 - https://medium.com/dkatalis/kubeflow-with-mlflow-702cf2ebf3bf 앞선 포스팅에서 Kubeflow를 설치했다. 그리고 MLflow도 설치했다. 이번 포스팅의 목적은 Kubeflow 대시보드에 MLFlow가 하나의 탭으로 추가하는 것이다. Kubeflow의 Central Dashboard에서 하나의 탭을 클릭할 때 다양한 엔드포인트로 라우팅 하기 위해 VirtualService를 사용한다. (주피터, Katib, pipeline 등) 우리의 목적은 mlflow 버튼을 클릭하면 mlflow tracker UI로 라우팅 해야 하므로 추가로 virtual service를 생성해야 한다. 아래 yaml을 배포하자. kubectl apply -f mlf..
ssuwani
Oops!!