목록전체 글 (240)
도찐개찐
1. 청킹(Chunking)이란? 청킹(Chunking)은 긴 문서를 검색에 적합한 작은 조각(청크, Chunk)으로 나누는 과정입니다. RAG(Retrieval-Augmented Generation) 파이프라인에서 문서를 인덱싱할 때 가장 먼저 거치는 핵심 전처리 단계이며, 이후 임베딩 → 벡터 저장 → 검색 → 생성으로 이어지는 모든 단계의 품질을 좌우합니다.2. 왜 청킹이 필요한가?① 임베딩 모델의 입력 길이 제한임베딩 모델마다 한 번에 처리할 수 있는 최대 토큰 수가 정해져 있습니다. 이 상한을 초과하면 텍스트가 잘리거나 오류가 발생합니다.모델최대 토큰all-MiniLM-L6-v2256text-embedding-3-small8,191jina-embeddings-v28,192 ② 의미 희석 문제 2..
1. 버전은 직접 수정하지 않는다Python Semantic Release를 사용할 때는 보통 아래 파일의 버전을 사람이 직접 수정하지 않습니다. # pyproject.toml[project]version = "0.1.0" 또는: # src/athena_llm_tester/__init__.py__version__ = "0.1.0" 대신 커밋 메시지를 기준으로 Semantic Release가 자동으로 다음 버전을 계산하고 파일을 수정합니다. 공식 CLI 문서 기준 semantic-release version 명령은 다음 버전 계산, 버전 파일 갱신, CHANGELOG 갱신, 커밋, 태그, push, Release 생성 흐름을 수행합니다.2. 버전 증가 기준Python Semantic Release는 커밋 ..
1. Python Semantic Release란?Python Semantic Release는 Git 커밋 메시지를 기준으로 다음 릴리즈 버전을 자동 결정하는 도구입니다.예를 들어 다음과 같이 커밋하면: fix: 로그인 실패 오류 수정feat: 사용자 권한 관리 기능 추가feat!: 인증 구조 변경 PSR은 커밋 메시지를 분석해서 다음 버전을 자동으로 계산합니다.일반적으로 Conventional Commits 기준에서는 다음과 같이 해석합니다.커밋 타입버전 증가fix:PATCH 증가, 예: 1.0.0 → 1.0.1feat:MINOR 증가, 예: 1.0.0 → 1.1.0BREAKING CHANGE 또는 !MAJOR 증가, 예: 1.0.0 → 2.0.0Conventional Commits 공식 명세도 fix..
gitlab의 초기 비밀번호를 찾으려면 다음과 같은 명령어만 쳐주면 간단하게 찾을 수 있습니다.cat /etc/gitlab/initial_root_password | grep Password:아래처럼 Password 부분에 비밀번호가 나오게 되는데 이 패스워드를 root id와 함께 치면됩니다 root@ip...:/home/ubuntu# cat /etc/gitlab/initial_root_password | grep Password:Password: 1dHlEnF...
안녕하세요 안젤라😇입니다.오늘은 Mac에서 Docker를 이용해 gitLab을 설치해볼게요.준비Docker는 우선 설치가 되어있어야 합니다. 저는 Desktop 버전으로 설치를 했습니다.폴더 생성 및 GITLAB_HOME 환경변수 설정mkdir ~/gitlabexport GITLAB_HOME=$HOME/gitlabDocker 인라인 명령어로 설치Docker는 휘발성 저장공간을 할당하기 때문에 위에 설정해 둔 환경변수를 활용해 볼륨으로 설정해줍니다.sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart alw..
1. LLM의 한계와 RAG의 필요성최근 LLM은 뛰어난 성능을 보여주지만, 지식의 최신성 부족, 특정 도메인 지식 부재, 그리고 부정확한 정보를 생성하는 환각(Hallucination) 현상 등의 한계를 가지고 있습니다. 이러한 문제를 해결하기 위해 RAG(검색 증강 생성) 기술이 등장했습니다. RAG는 LLM이 답변을 생성하기 전, 외부 데이터베이스나 문서에서 관련 정보를 먼저 '검색'하고, 이 정보를 바탕으로 답변을 '생성'하는 방식입니다. 이를 통해 LLM을 매번 재학습시키지 않고도 최신 정보나 특정 도메인 지식을 활용하여 답변의 정확성과 신뢰도를 높일 수 있습니다. RAG는 단순히 LLM의 약점을 보완하는 것을 넘어, AI가 정적인 학습 데이터에 의존하지 않고 실시간으로 필요한 외부 지식을 동적..
RAG(Retrieval-Augmented Generation)의 응답 품질 테스트 및 튜닝을 위한 기법은 Retrieval과 Generation 단계 모두를 평가하고 개선하는 과정으로 나뉩니다. 아래에 목적별로 구분해 대표적인 평가 및 튜닝 기법을 정리해 드립니다.✅ RAG 응답 품질 평가 목적별 기법 정리목적대표 기법설명Retrieval 품질 평가- Precision@k / Recall@k- MRR / nDCG- Hit Rate / Top-k 포함률질의에 대해 관련 있는 문서가 상위에 잘 검색되었는지 정량 평가의미 기반 평가- Embedding Similarity- Semantic Search Precision정답과 검색 문서 간 의미적 유사도 비교Generation 응답 평가- BLEU / ROUG..
하나의 질의에 대해 의도를 분석하고, 그 결과에 따라Document RAG,Personalized RAG,Tool Calling등 적절한 처리 방식을 선택하는 로직을 설계하는 역할은 일반적으로 다음과 같은 포지션 또는 역할명으로 정의됩니다:적절한 역할명역할명설명AI 오케스트레이션 엔지니어(AI Orchestration Engineer)사용자 질의의 의도 분석 → 적절한 처리 루트 (RAG, Tool 사용 등)로 분기하는 전체 흐름 제어 로직 설계AI 에이전트 설계자(AI Agent Architect)질의 기반으로 agent의 행동 전략을 결정 (예: Retrieval vs. Tool use 등)프롬프트 플로우 설계자(Prompt Flow Designer)복합 질의 흐름에서 프롬프트·컨텍스트 분기 및 조합..