본문 바로가기

전체 글116

RAG 품질 ② 개선 — 임베딩·하이브리드·Rerank·Self-RAG 단계별 누적 개선 실험 📚 시리즈 — RAG 품질① 평가 — MLflow Evaluation 기반 검색·생성 품질 정량 측정② 개선 — 임베딩·하이브리드·Rerank·Self-RAG 단계별 누적 개선 실험 — 현재 글③ 아키텍처 — LangGraph 기반 Agentic RAG 검색 처리 흐름 ⚠️ 예시 안내 — 본 문서의 케이스별 수치·데이터셋은 실제 프로젝트 데이터를 공개 가능한 형태로 재구성한 예시값입니다. 실제 적용 시에는 먼저 도메인에 맞는 골드셋(평가 데이터셋)을 확보하고 품질을 측정한 뒤, 아래 실험 설계·누적 개선 절차를 틀로 활용하세요. 1. 실험 개요Case-by-Case 측정 및 누적 개선 기록목적: 동일한 평가 데이터셋 위에서 청킹 → 임베딩 → Retrieval → Reranking → Self-RAG .. 2026. 7. 4.
RAG 품질 ③ 아키텍처 — LangGraph 기반 Agentic RAG 검색 처리 흐름 📚 시리즈 — RAG 품질① 평가 — MLflow Evaluation 기반 검색·생성 품질 정량 측정② 개선 — 임베딩·하이브리드·Rerank·Self-RAG 단계별 누적 개선 실험③ 아키텍처 — LangGraph 기반 Agentic RAG 검색 처리 흐름 — 현재 글 1. 개요본 에이전트는 LangGraph 기반 ReAct 구조로 동작합니다. 핵심은 두 노드의 반복(루프)입니다.Agent 노드 — LLM(Gemini 3 Flash)이 검색 쿼리를 생성하거나 최종 답변을 작성합니다.검색 노드 — 하이브리드 검색(시맨틱 + 키워드)을 수행하고 Self-RAG 평가로 적합성을 판정합니다.ReAct(Reasoning + Acting) 구조란 — LLM이 추론(Reasoning)으로 "다음에 무엇을 할지"를.. 2026. 7. 4.
RAG 품질 ① 평가 — MLflow Evaluation 기반 검색·생성 품질 정량 측정 📚 시리즈 — RAG 품질① 평가 — MLflow Evaluation 기반 검색·생성 품질 정량 측정 — 현재 글② 개선 — 임베딩·하이브리드·Rerank·Self-RAG 단계별 누적 개선 실험③ 아키텍처 — LangGraph 기반 Agentic RAG 검색 처리 흐름 1. RAG 파이프라인과 평가 개요RAG는 크게 검색(Retrieval) → 증강(Augmentation) → 생성(Generation) 세 단계로 구성됩니다. 평가도 이 세 단계에 맞춰 진행해야 합니다. 왜 단계별로 평가해야 하나요?문제 상황원인 단계평가하지 않으면?엉뚱한 답변이 나옴검색 단계에서 관련 없는 문서를 가져옴생성 모델 탓으로 오해할 수 있음답변에 빠진 내용이 있음검색 단계에서 필요한 문서를 못 찾음어디서 정보가 누락됐는.. 2026. 7. 4.
한국어 RAG 검색 (Kiwi) ④ 부록 — 동의어 적용 위치·IATA 사전 생성/검증·품사·Nori 비교 📚 시리즈 — 한국어 RAG 검색 (Kiwi)① 한국어 BM25·토크나이저 선택과 Kiwi 기본 설정② 사용자·동의어 사전과 복합명사 처리③ 검색 품질 개선·사전 관리·Vector Search 통합④ 부록 — 동의어 적용 위치·IATA 사전 생성/검증·품사·Nori 비교 — 현재 글 부록 A. 동의어 적용 위치 비교·선정 A.1 케이스 정의동의어를 어느 분석 파이프라인 단계에 끼워 넣느냐에 따라 IR 엔진(Lucene·Elasticsearch·OpenSearch·Solr) 의 동작이 달라집니다.Case A — 인덱싱 시점만 확장 (index-time only): 색인 분석기에서 synonym 또는 synonym_graph 필터를 적용해 원문 토큰과 동의어 토큰을 함께 포스팅에 기록.Case B — 검.. 2026. 6. 28.
한국어 RAG 검색 (Kiwi) ③ 검색 품질 개선·사전 관리·Vector Search 통합 📚 시리즈 — 한국어 RAG 검색 (Kiwi)① 한국어 BM25·토크나이저 선택과 Kiwi 기본 설정② 사용자·동의어 사전과 복합명사 처리③ 검색 품질 개선·사전 관리·Vector Search 통합 — 현재 글④ 부록 — 동의어 적용 위치·IATA 사전 생성/검증·품사·Nori 비교 8. 검색 품질 개선 기능Kiwi 가 제공하는 옵션·API 중 검색 품질에 직접 기여하는 기능만 정리합니다. 품질에 영향이 없거나 미미한 옵션(예: Token 메타데이터 출력) 은 본 절에서 제외합니다. 8.1 언어모델 (model_type) — KNLM · SBG · CoNg적용 시점: 양쪽 동일 — 본 가이드 표준 'cong' | 기본값: 'none' (자동 선택)model_type정확도속도메모리권장 시나리오'knlm.. 2026. 6. 28.
한국어 RAG 검색 (Kiwi) ② 사용자·동의어 사전과 복합명사 처리 📚 시리즈 — 한국어 RAG 검색 (Kiwi)① 한국어 BM25·토크나이저 선택과 Kiwi 기본 설정② 사용자·동의어 사전과 복합명사 처리 — 현재 글③ 검색 품질 개선·사전 관리·Vector Search 통합④ 부록 — 동의어 적용 위치·IATA 사전 생성/검증·품사·Nori 비교 5. 사용자 사전왜 필요한가 — Kiwi 의 기본 LM 분석기는 일반 한국어 코퍼스로 학습되어 도메인 특화 어휘 (IATA·항공 약어·복합명사·단위명사 등) 를 잘못 분해하거나 누락할 수 있습니다. 사용자 사전은 도메인 어휘를 런타임에 등록해 형태소 분석의 태그·우선순위·분해 방식 을 제어합니다.언제 쓰는가 — 4가지 시나리오:신규 약어·고유명사 인식 (DGR, ULD, B777)의존명사(NNB) → 일반명사(NNG) 재.. 2026. 6. 28.
한국어 RAG 검색 (Kiwi) ① 한국어 BM25·토크나이저 선택과 Kiwi 기본 설정 📚 시리즈 — 한국어 RAG 검색 (Kiwi)① 한국어 BM25·토크나이저 선택과 Kiwi 기본 설정 — 현재 글② 사용자·동의어 사전과 복합명사 처리③ 검색 품질 개선·사전 관리·Vector Search 통합④ 부록 — 동의어 적용 위치·IATA 사전 생성/검증·품사·Nori 비교 1. 개요 및 목적 1.1 본 가이드의 목적본 가이드는 A항공 매뉴얼 RAG 의 한국어 검색 품질을 일관되게 운영하기 위한 토크나이저·동의어 처리 표준을 정의합니다. 한국어는 어근에 조사·어미·접사가 결합하는 교착어이고 매뉴얼에는 IATA·기재 코드·복합명사가 빈출하므로, 단순한 공백 토큰화로는 BM25 검색의 recall 이 크게 떨어집니다. 본 가이드는 다음 네 가지를 Single Source of Truth (SSO.. 2026. 6. 28.
K8s 구성 - AWS 1. 개요 - AWS에서 Amazon EC2에 Kubernetes를 구성하는 절차를 간단하게 설명하고자 합니다. - 구성 환경은 Amazon EC2(Redhat 9.2), CRI-O 1.25.4, Kubernetes 1.28, flannel 0.22.2입니다. - AWS는 관리형 서비스인 Amazon EKS(Elastic Kubernetes Service)와 Amazon ECS(Elastic Container Service)를 제공하고 있습니다. 2. AWS EC2 구성 2.1 Key pair 생성 Kubernetes를 설치하기 위하여 Amazon EC2에 접속할 때 사용할 키를 생성합니다. - 메뉴 EC2 console > Network & Security > Key Pairs > Create key .. 2023. 8. 30.
Virtual Waiting Room on AWS - Inlet strategy 1. 개요 - 목적 Virtual Wainting Room 사용 시 동시 처리량을 조절하는 Inlet strategy를 이해하고 활용한다. - Virtual Waiting Room? 이 솔루션은 대량 트래픽 버스트 발생 시 웹사이트로 수신되는 사용자 요청을 버퍼링 할 수 있는 기능을 제공한다. Virtual Waiting Room on AWS 2. Inlet strategy - 타겟 사이트에 더 많은 사용자를 수용하기 위하여 Virtual Waiting Room의 Serving counter에 대하여 증가 시점과 증가량을 결정할 때 사용되는 전략이다. - Inlet strategy를 이해하기 위해서는 ElastiCache for Redis에서 관리하는 Serving count와 Queue counter의.. 2022. 8. 21.
Virtual Waiting Room on AWS 1. 소개 - 기능: 이 솔루션은 대량 트래픽 발생 시 웹사이트로 수신되는 사용자 요청을 버퍼링 할 수 있는 기능을 제공 - 작성자: AWS - 라이선스: Apache license 2.0 - AWS 솛루션? ✓ AWS 서비스, 코드 및 구성을 조합하여 바로 배포할 수 있는 솔루션 (https://aws.amazon.com/ko/solutions/) ✓ ‘콘텐츠 전송 및 엣지 서비스’ 분야에 소개된 Virtual Waiting Romm on AWS 솔루션 2. Deployment - 자세한 내용은 아래 가이드를 참조하기 바라며, 아래에 설치 및 테스트 내용을 간략하게 기술하였음 https://docs.aws.amazon.com/solutions/latest/virtual-waiting-room-on-aw.. 2022. 8. 9.
Integrating S3 and DocumentDB with AWS Managed Streaming for Apache Kafka (MSK) 2022.08.01 목차 1. 개요 2. 아키텍처 구성도 3. 환경 구성 및 테스트 A. AWS MSK 구성 B. AWS DocumentDB 구성 C. AWS S3 구성 D. AWS EC2를 이용한 MongoDB, Kafka 클라이언트 구성 E. AWS MSK Connect with Confluent S3 Sink Connector 구성 F. AWS MSK Connect with MongoDB Connector 구성 G. Kafka Connector 기능 확인 4. 제약 사항 5. 대안 아키텍처 참조 문서 1. 개요 - MSK (Managed Streaming for Apache Kafka)는 완전 관리형의 고가용성 Apache Kafka 서비스를 통해 안전하게 데이터를 스트리밍 한다. - MSK Con.. 2022. 8. 1.
NFS subdir external provisioner 1. 개요 - 쿠버네티스에는 내장 NFS 프로비저너가 없다. NFS를 위한 스토리지클래스를 생성하려면 외부 프로비저너를 사용해야 한다. ✓ NFS Ganesha server and external provisioner ✓ NFS subdir external provisioner - NFS subdir external provisioner ✓ PVC(Persistent Volume Claim)에 대한 쿠버네티스 PV(Persistent Volume)를동적으로 프로비저닝하기 위하여 사전에 구성된 NFS server를 사용하는 automatic provisioner이다. ✓ PV는 "${namespace}-${pvcName}-${pvName}"로 프로비저닝된다. ✓ NFS-Client Provisioner를.. 2022. 1. 11.
Kubeflow 1.4.1 in Minikube 구성 1. 개요 - minikube에 Kubeflow 1.4.1을 설치한다. - Kubeflow 설치 방식이 버전 1.2까지는 kfctl를 사용하였으나, 1.3부터는 kustomize를 사용한다. ✓ kfctl is a CLI for deploying and managing Kubeflow, Latest release: 1.2.0(21 Nov 2020), https://github.com/kubeflow/kfctl ▷ Kubeflow 1.2 in On-prem 구성 ▷ Kubeflow 1.2 in Minikube 구성 ✓ Kubeflow 1.4.1는 Istio 1.9.6, Knative 0.22.1을 포함하고 있다. 2. 환경 - kubeflow 1.4.1 - minikube 1.17.1 - kubernete.. 2021. 12. 30.
Velero와 restic - 'signal: killed' 1. 개요 - velero backup 실행 시 발생된 에러의 원인을 파악하고 조치한다. 2. 환경 - Velero 1.7 & restic 0.12.0 - MinIO 2021-11-09T03:21:45Z - Kubernetes 1.16.15 3. 문제점 - PostgreSQL Pod의 볼륨을 백업하는 도중에 'signal: killed'에러가 발생되었다. 상세 에러 메시지: od volume backup failed: error running restic backup, stderr=: signal: killed $ k logs -n velero velero-77bd5cd848-k54rk -f | grep 'level=error' … time="2021-12-16T06:24:38Z" level=error .. 2021. 12. 16.
Velero와 restic - 'Error checking repository for stale locks' 1. 개요 - velero backup 실행 시 발생된 에러의 원인을 파악하고 조치한다. 2. 환경 - Velero 1.7 & restic 0.12.0 - MinIO 2021-11-09T03:21:45Z - Kubernetes 1.16.15 3. 문제점 - velero Pod에서 생성되어 있는 restic repository를 주기적으로 점검하는 과정에서 에러가 발생된다. 상세 에러 메시지: Fatal: unable to open config file: Stat: The specified key does not exist. Is there a repository at the following location? s3:https://api.acp.kt.co.kr:9002/k8s-ext/restic/geums.. 2021. 12. 16.