강의 동영상
학습 목표
- 임베딩과 벡터 저장소의 원리를 이해하고, 단순 RAG를 넘어선 지능형 RAG(Advisors)와 질문 변환(Query Engineering)의 핵심 메커니즘을 설명할 수 있다.
- Spring AI를 활용해 다양한 포맷의 데이터를 정제하여 벡터 DB에 적재하고, 대화 맥락이 유지되는 도메인 특화 챗봇을 설계 및 구현할 수 있다.
- 사용자의 복잡한 질문 의도를 정확히 파악하기 위해 지속적으로 쿼리를 확장 및 개선하고, 데이터의 정밀한 엔지니어링을 통해 답변의 신뢰성을 확보하려는 자세를 갖출 수 있다.
임베딩과 벡터 저장소
임베딩(Embedding)이란?
임베딩은 텍스트, 이미지, 오디오와 같은 비정형 데이터를 컴퓨터가 이해할 수 있는 **부동 소수점 숫자의 배열(벡터, Vector)**로 변환하는 과정입니다.
- 임베딩 모델: 이 변환 작업을 수행하는 AI 모델입니다.
- 차원(Dimension): 벡터를 구성하는 숫자의 개수입니다. 모델에 따라 수백에서 수천 차원의 벡터([0.1, 0.5, ...])로 출력됩니다.
왜 벡터로 변환하는가? (유사도 계산)
데이터를 다차원 공간상의 한 점(벡터)으로 표현하면, 수학적인 거리 계산을 통해 데이터 간의 의미적 유사성을 파악할 수 있기 때문입니다.
| 구분 |
특징 |
비유 |
| 유사도 높음 |
벡터의 방향과 크기가 비슷함 |
"강아지"와 "애완견” |
| 유사도 낮음 |
벡터의 방향과 크기가 크게 다름 |
"강아지"와 "물고기” |
임베딩과 벡터 저장소(Vector Store)의 관계
임베딩 모델이 생성한 벡터는 벡터 저장소에 저장되며, 이곳에서 효율적인 검색이 이루어집니다.
-
시각화: 수많은 벡터 데이터를 2차원 평면에 뿌려보면, 의미가 유사한 데이터끼리 군집(Cluster)을 이룹니다.

-
유사도 검색: 사용자의 질문(Query)을 벡터로 변환한 뒤, 저장소 내에서 가장 거리가 가까운 벡터를 찾아냅니다.
실무 활용 사례