8차시. 첫 번째 RAG 실습
5. 실습 ① — 인덱싱 만들기
출처: 원본 PDF 08차시_첫번째RAG실습.pdf 10쪽 · 쪽 그림 10쪽
먼저 준비 단계부터 만듭니다. 7차시의 prepare_chunks를 그대로 씁니다.
📝 src/first_rag.py — 1단계
from dotenv import load_dotenv
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
from prepare import prepare_chunks # 7차시에서 만든 함수
load_dotenv()
# ①② 문서 읽고 조각내기 (6·7차시 결과 재사용)
chunks = prepare_chunks("data/manual.pdf")
# ③ 조각을 벡터로 바꿔 저장
print("임베딩 중... (조금 걸립니다)")
emb = OpenAIEmbeddings(model="text-embedding-3-small")
store = FAISS.from_documents(chunks, emb)
print("✓ 인덱싱 완료")실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)
✓ 3쪽 로딩 완료 (총 1529자)
✓ 조각 21개 생성 (평균 77자, 최소 47자, 최대 99자)
⚠ 50자 미만 조각이 있습니다. chunk_size 확인 권장
임베딩 중... (조금 걸립니다)
✓ 인덱싱 완료5-1) 실행해보기
✓ 2쪽 로딩 완료 (총 343자)
✓ 조각 6개 생성 (평균 59자, 최소 13자, 최대 99자)
임베딩 중... (조금 걸립니다)
✓ 인덱싱 완료⚠️ 여기서 에러가 난다면
AuthenticationError
→ .env 파일에 OPENAI_API_KEY가 제대로 있는지 확인하세요
→ load_dotenv()가 맨 위에 있는지 확인하세요
ModuleNotFoundError: faiss
→ pip install faiss-cpu
RateLimitError
→ API 사용 한도를 확인하세요. 결제 정보 등록이 필요할 수 있습니다