[AI/RAG] RAG 고급 검색 기술 총정리 (RRF, KG-RAG, ColBERT 등)
·
AI Study/[LLM]
1. 들어가며: "검색 결과가 좋아야 답변도 좋다"3편까지 우리는 기본 검색(Similarity Search)을 구현했습니다. 하지만 실전 데이터는 호락호락하지 않습니다. "그거 얼마야?" 같은 모호한 질문부터, "김팀장님이 쓴 기획서 중 예산 1억 이상인 것만 찾아줘" 같은 복잡한 필터링까지 처리해야 하죠.4편에서는 이러한 난관을 돌파하는 현업 RAG의 필살기 10가지를 실제 데이터 예시와 함께 총정리합니다. 2. 전략 1: 질문부터 고치자 (Query Transformation)사용자의 질문은 불완전합니다. 검색하기 딱 좋은 형태로 질문을 '성형수술' 해줘야 합니다. 2.1 Query Expansion (확장 검색)정의: 사용자의 질문이 너무 짧거나 전문 용어가 없을 때, LLM을 이용해 동의어나 구..
[AI/RAG] RAG를 위한 Embedding Model 선정, Vector DB 구축
·
AI Study/[LLM]
1. 들어가며: 컴퓨터가 '의미'를 이해하는 방법2편에서 우리는 데이터를 잘게 쪼갰습니다(Chunking). 이제 이 텍스트 조각들을 컴퓨터가 이해할 수 있는 **'숫자(벡터)'**로 바꿔야 합니다.사람: "배가 고프다" $\leftrightarrow$ "맛집을 찾는다" (의미 연결)컴퓨터 (임베딩 전): "배가 고프다" $\neq$ "맛집을 찾는다" (글자 다름)컴퓨터 (임베딩 후): [0.1, 0.5, ...] $\approx$ [0.12, 0.48, ...] (유사함!)임베딩은 텍스트를 N차원 공간의 좌표로 변환하여, 의미적 거리를 계산할 수 있게 해주는 마법입니다. 2. 임베딩 모델 선정 (MTEB 리더보드 활용법)"아무 모델이나 쓰면 안 되나요?" $\rightarrow$ 안 됩니다.임베딩 모델..
[AI/NLP] Embedding 실습 및 Vector DB 맛보기 (OpenAI, ChromaDB)
·
AI Study/[LLM]
1. 들어가며1편에서 단어를 좌표로 바꾸는 개념을 배웠고, 2편에서 BERT와 최신 모델들을 알아봤습니다.이제 남은 건 "그래서 이거 어떻게 코드로 짜는데?"입니다.백문이 불여일견. 실제로 텍스트를 넣었을 때 어떤 숫자들이 튀어나오는지, 그리고 그 숫자들이 어떻게 "배고파"라는 질문에 "김치찌개"를 찾아내는지, Python 코드로 직접 확인해 보겠습니다.2. 환경 세팅: 요즘 대세 uv로 3초 만에 준비하기현업 Python 프로젝트 관리의 신흥 강자, **uv**를 사용해 환경을 구축합니다. (pip보다 압도적으로 빠르고, 가상환경 관리도 알아서 해줍니다.) 2-1. 프로젝트 생성 및 라이브러리 설치터미널을 열고 다음 명령어들을 입력하세요.# 1. 프로젝트 폴더 생성 및 초기화uv init embeddi..
[AI/NLP] 최신 임베딩 모델과 원리 (BERT, OpenAI, MTEB, 거리 계산)
·
AI Study/[LLM]
1. 들어가며: "배(Ship)와 배(Pear)를 구분하라"1편의 Word2Vec은 단어를 벡터로 바꾸는 혁명을 일으켰지만, 한계가 명확했습니다."나는 배를 탔다"와 "나는 배를 먹었다"에서, Word2Vec은 두 '배'를 똑같은 벡터 [0.1, 0.5]로 변환합니다. 문맥을 전혀 고려하지 못하기 때문이죠.하지만 검색(RAG)이나 챗봇에서 이런 일이 벌어지면 큰일 납니다. "맛있는 과일"을 검색했는데 "조선소 건조 선박" 문서가 튀어나올 테니까요.이 문제를 해결하기 위해 등장한 것이 바로 Transformer 기반의 **문맥적 임베딩(Contextualized Embedding)**입니다.2. 문맥을 이해하는 혁명: BERT와 SBERT2.1 BERT (Bidirectional Encoder Repres..
[AI/NLP] 임베딩(Embedding)이란? (정의, 발전 과정, 최신 트랜드)
·
AI Study/[LLM]
1. 들어가며: RAG를 하려면 '임베딩'부터 알아야 한다요즘 AI 업계의 가장 뜨거운 감자는 단연 RAG (검색 증강 생성)입니다. LLM에게 우리 회사의 데이터를 참고해서 답변하게 만드는 기술이죠.그런데 RAG를 공부하다 보면 첫 단계부터 막힙니다."데이터를 벡터화(Vectorization)해서 임베딩(Embedding) 하세요."도대체 임베딩이 뭘까요? 왜 텍스트를 숫자로 바꿔야 할까요?임베딩은 AI가 인간의 언어를 이해하고, 검색하고, 추천하는 모든 기술의 뿌리이자 핵심 엔진입니다. 이 개념을 확실히 잡지 못하면, 아무리 비싼 LLM을 써도 엉뚱한 문서를 찾아오는 '멍청한 검색'만 하게 됩니다.오늘부터 3편에 걸쳐, 이 '임베딩'의 모든 것을 완벽하게 파헤쳐 보겠습니다. 1편은 그 시작점인 임베딩..