Agent 엔지니어링
Embedding에서 Milvus까지
모델은 의미를 좌표로 바꾸고, Milvus는 수많은 좌표에서 의미가 가장 가까운 항목을 빠르게 찾습니다.
전체 데이터 흐름
1
원본 콘텐츠
질문, 문서, 이미지 등 비즈니스 데이터.
2
Embedding
동일한 모델이 콘텐츠를 고정 길이 실수 벡터로 인코딩합니다.
3
ANN 검색
근사 최근접 이웃은 약간의 정확도를 큰 속도 향상과 교환합니다.
4
비즈니스 결과
Top-K 문서를 애플리케이션이나 LLM에 전달합니다.
키워드만으로 부족한 이유
표현은 달라도 의미는 비슷하다
“돈을 돌려받는 법”과 “환불 절차”는 공통 단어가 적어도 의미 공간에서는 가깝습니다. 단, Embedding은 통계적 의미를 표현할 뿐 사실을 검증하지 않습니다.
전수 비교는 확장되지 않는다
모든 벡터를 정확히 비교하면 비용이 커집니다. ANN은 후보를 줄이므로 Recall과 지연 시간을 함께 평가해야 합니다.
Metric 방향을 뒤집지 마세요
| Metric | 더 유사한 방향 | 직관 |
|---|---|---|
| L2 | 거리가 작을수록 | 공간의 절대 거리 |
| IP | 점수가 클수록 | 벡터 크기도 점수에 영향 |
| COSINE | 유사도가 클수록 | 방향 중심, 텍스트에 자주 사용 |
필수 조건: 삽입과 질의에 동일한 Embedding 모델, 전처리, 차원을 사용하고 인덱스와 검색의 metric도 일치시켜야 합니다.
Milvus의 역할
저장
벡터와 ID, 출처, 범주, 시간 같은 스칼라 필드를 함께 저장합니다.
검색
Top-K 벡터 검색과 스칼라 필터를 수행합니다.
관리
Collection, 인덱스, 로드, 데이터 수명주기를 관리합니다. Embedding 생성이나 최종 답변은 담당하지 않습니다.
Takeaway Embedding은 의미 표현 방식을, Milvus는 의미를 빠르고 안정적으로 저장하고 찾는 방식을 결정합니다.