stdio.h 님의 글 91
GGUF 양자화 레벨 벤치마크로 고르기
로컬에서 LLM을 돌리기 시작하면 모델 자체보다 "어느 양자화 레벨을 받아야 하나"에서 더 오래 고민하게 된다. Hugging Face 저장소에 같은 모델이 Q4_K_M, Q5_K_M, Q8_0으로…
LLM 응답을 깨지지 않는 JSON으로 강제하기
사내에 vLLM이나 Ollama로 모델을 띄워놓고 거기에 데이터 추출이나 함수호출을 맡기다 보면, 결국 같은 자리에서 막힌다. 모델이 뱉은 텍스트를 json.loads() 에 넣는 순간이다. 열에 …
RAG 정확도를 리랭커로 끌어올리기
RAG를 붙여 놓고 나면 꼭 한 번은 겪는 장면이 있다. 질문은 멀쩡한데 모델이 엉뚱한 문단을 근거로 답을 지어낸다. 로그를 열어 보면 벡터 검색이 가져온 상위 문서부터 질문과 미묘하게 어긋나 있다…
Open WebUI로 사내 자체 호스팅 ChatGPT 만들기
사내에서 외부 ChatGPT 사용을 막아둔 곳이 늘고 있다. 계약서나 소스 코드를 붙여넣는 순간 데이터가 밖으로 나가니 보안팀 입장에선 당연한 조치다. 그래서 요즘 "우리 망 안에서만 도는 챗봇을 …
MongoDB 3노드 레플리카셋 자동 장애조치 구성
단일 MongoDB 노드로 서비스를 돌리다 보면 결국 한 번은 겪는다. 프로세스가 죽거나 디스크가 꽉 차면 그 순간 데이터베이스 전체가 멈춘다. 예전에 mongodump와 oplog로 백업 복구를 …
mongodump와 oplog로 MongoDB 백업하고 장애 직전 시점으로 복구(PITR)하기
운영 중인 MongoDB에서 누군가 db.orders.drop() 을 잘못 날리는 사고는 생각보다 흔하다. 새벽에 받아둔 풀 백업만 있으면 그 시점으로는 돌아가지만, 백업 이후 낮 동안 들어온 주문…
Apache Tomcat과 Spring Boot의 차이 - WAS와 프레임워크, 내장 톰캣까지 관계 정리
톰캣 설치나 커넥터 설정을 정리해두면 현장에서 꼭 따라오는 질문이 있다. 스프링 부트를 쓰는데 톰캣을 따로 깔아야 하는지, 둘 중 무엇을 먼저 익혀야 하는지 같은 것들이다. 신입 개발자만 묻는 것도…
Prometheus에 대한 최근의 소소한 이야기
1. Prometheus PromQL Prometheus는 CNCF 졸업(graduated) 프로젝트인 모니터링·알림 시스템이다. 질의에는 PromQL 을 쓰는데, 타임시리즈 데이터 조회에 최적화돼…
Google App Engine 빨리 시작하기
1. 개요 2. 시작 SDK는 설치되어있다는 전제 하에 작업한다. gcloud app create --project=[YOUR_PROJECT_ID] 3. App Engine 자바 구성요소 설치 gc…
GKE에 Ingress 생성하기
1. 개요 GKE 에 Ingress를 생성한다. 2. 샘플 애플리케이션 배포 * web-deployment.yaml apiVersion: extensions/v1beta1 kind: Deployme…
gcloud SDK로 Compute Engine 생성하기
1. 개요 Google Cloud Compute Engine에서 VM 인스턴스를 생성하고 삭제하는 기본 예제이다. 생성에는 gcloud compute instances create 명령어를 사용하고…
GCP gcloud SDK 설치 (CentOS)
1. 개요 yum을 통한 gcloud SDK 설치 방법이다. 2. yum 정보 업데이트 다음 명령어를 실행한다. sudo tee -a /etc/yum.repos.d/google-cloud-sdk.r…