이 튜토리얼에서는 API 키나 크레딧 없이 로컬에서 검색 보강 생성(RAG)을 구현 방법을 보여 줍니다. RAG 에 대해자세히 학습 MongoDB 사용한 검색 증대 생성(RAG) 을 참조하세요.
구체적으로 다음 조치를 수행합니다.
로컬 Atlas 배포서버를 생성합니다.
환경을 설정합니다.
로컬 임베딩 모델을 사용하여 벡터 임베딩을 생성합니다.
데이터에 MongoDB Vector Search 인덱스 생성합니다.
로컬 LLM을 사용하여 데이터에 대한 질문에 답합니다.
이 튜토리얼에서는 atlas-local-lib-py 라이브러리를 통해 Python 과 Docker 사용하여 로컬 Atlas 배포서버 생성합니다. 이 라이브러리는 Docker 컨테이너를 자동으로 처리하고 연결 문자열에 대한 프로그래밍 방식의 액세스 제공하여 배포서버 관리 간소화합니다. 자세한 학습 은 atlas-local-lib-py 리포지토리 참조하세요.
Search 및 Vector Search가 설치된 MongoDB Community 또는 Enterprise 클러스터 사용할 수도 있습니다.
참고
로컬 Atlas 배포는 테스트용으로만 제공됩니다. 프로덕션 환경의 경우클러스터 배포 .
전제 조건
일반적인 전제 조건 외에 이 튜토리얼에는 다음이 필요합니다.
로컬 배포 만들기
환경 설정
로컬 모델로 임베딩 생성
이 섹션에서는 listingsAndReviews 컬렉션 이 포함된 sample_airbnb 데이터베이스 의 데이터를 사용하여 로컬에서 임베딩 모델을 로드하고 벡터 임베딩을 생성합니다.
이 코드는 실행 데 몇 분 정도 걸릴 수 있습니다. 완료되면 mongosh에서 로컬 배포서버 에 연결하거나 배포의 연결 문자열 사용하여 애플리케이션 연결하여 벡터 임베딩을 볼 수 있습니다. 그런 다음 sample_airbnb.listingsAndReviews 컬렉션 에서 읽기 작업을 실행 수 있습니다.
팁
Atlas에서 벡터를 효율적으로 저장하고 수집하기 위해 샘플 데이터의 임베딩을 BSON 벡터로 변환합니다. 자세한 내용은 네이티브 임베딩을 BSON 벡터로 변환하는 방법을 참조하세요.
MongoDB Vector Search 인덱스 만들기
sample_airbnb.listingsAndReviews 컬렉션 에서 벡터 검색 활성화 하려면 MongoDB Vector Search 인덱스 만듭니다.