10차시. 벡터저장소 이해
이번 차시에서 배우는 것
출처: 원본 PDF 10차시_벡터저장소이해.pdf 1쪽 · 쪽 그림 1쪽
벡터저장소 이해 — 수만 개 중에서 순식간에 찾기
✓ 왜 전용 저장소가 필요한지 이해한다
✓ FAISS로 인덱스를 만들고 디스크에 저장한다
✓ 저장한 인덱스를 다시 불러와 임베딩 비용을 아낀다 ✓ 점수를 포함한 검색으로 결과의 신뢰도를 확인한다 ✓ 문서를 추가·삭제하는 방법을 익힌다
✓ 상황에 맞는 저장소를 고르는 기준을 안다
교안 해설: 이 시간에 하는 일
출처: 교안 10_벡터저장소이해.md
질문마다 모든 조각과 1536차원 곱셈을 하면 조각 수가 늘 때 느려집니다. FAISS는 가까운 후보를 빨리 찾는 인덱스입니다. 정확도를 조금 양보하는 대신 속도를 얻습니다. 학습과 프로토타입에는 로컬 파일인 FAISS로 충분합니다.
저장하면 index.faiss와 index.pkl이 생깁니다. 교안은 이 바이너리를 복사하지 않습니다. 실행하면 그 차시 폴더에 새로 생깁니다. indexer.py의 get_store는 폴더가 있으면 불러오고, 없으면 만들어 저장합니다.
거리와 유사도는 방향이 반대인 경우가 있습니다. 함수 이름이 with_score이면 작을수록 가까운 거리일 수 있고, relevance score는 클수록 가깝습니다. 불러올 때 임베딩 모델이 저장할 때와 다르면 검색이 이상해집니다. 세 파일은 API 또는 저장된 인덱스가 필요해 샘플은 예시입니다.
강의 PPT 흐름
출처: 강의 PPT 10차시_벡터저장소이해.pptx (21장)
| 장 | 꼬리표 | 슬라이드 제목 |
|---|---|---|
| 1 | - | 실습으로 배우는 LangGraph : 내 손으로 RAG 시스템 만들기 |
| 2 | LEARNING GOALS | 이번 차시에서 배우는 것 |
| 3 | TWO PROBLEMS | 9차시가 남긴 숙제 |
| 4 | INDEX | 전부 뒤지지 않는 기술 |
| 5 | ANN | 정확도를 조금 내주고 속도를 얻는다 |
| 6 | KEY TERMS | 핵심 용어 |
| 7 | THE FLOW | 언제 무엇이 일어나는가 |
| 8 | TWO FILES | 저장하면 파일이 두 개 생깁니다 |
| 9 | THE PATTERN | 있으면 불러오고, 없으면 만든다 |
| 10 | TWO SCORES | 여기서 정말 많이 실수합니다 |
| 11 | READING SCORES | 점수를 보면 k가 보입니다 |
| 12 | ADD & REPLACE | 문서가 늘어나거나 바뀌면 |
| 13 | STORE OPTIONS | 저장소 종류와 선택 기준 |
| 14 | FAISS LIMITS | 언제 FAISS를 벗어나야 하나 |
| 15 | IMPROVED | 8차시 대비 좋아진 점 세 가지 |
| 16 | TROUBLESHOOTING | 자주 겪는 문제 |
| 17 | RECORD IT | 인덱스와 설정을 함께 기록하기 |
| 18 | CHECKLIST | 이번 차시 체크리스트 |
| 19 | ASSIGNMENT | 이번 차시 과제 |
| 20 | NEXT | 다음 차시 미리보기 — 11차시 Retriever 기초 실습 |
| 21 | - | 마무리 |