Amazon 기반 지식 기반 통합 시작하기
Atlas Vector Search를 지식 기반 로 사용할 수 있습니다. Amazon 기반암 의 경우 생성형 AI 애플리케이션을 구축하고 RAG(검색 강화 생성)를 구현합니다. 이 튜토리얼에서는 Amazon 기반과 함께 Atlas Vector Search를 사용하는 방법을 보여줍니다. 구체적으로 다음 조치를 수행합니다.
사용자 지정 데이터를 Amazon S3 버킷에 로드합니다.
선택적으로 AWS PrivateLink를 사용하여 엔드포인트 서비스를 구성합니다.
데이터에 Atlas Vector Search 검색 인덱스를 만듭니다.
Atlas에 데이터를 저장하기 위한 지식창고를 생성합니다.
Atlas Vector Search를 사용하여 RAG 를 구현하는 에이전트를 만듭니다.
배경
Amazon 베드락은 생성형 AI 애플리케이션을 구축하기 위한 완전 관리형 서비스입니다.FM(기초 모델) 을 활용할 수 있습니다. 다양한 AI 회사의 단일 API 로 제공됩니다.
Atlas Vector Search를 Amazon 기반의 지식 기반으로 사용하여 Atlas에 사용자 지정 데이터를 저장하고 에이전트 를 생성할 수 있습니다.RAG 를 구현하고 데이터에 대한 질문에 답변합니다. RAG 에 대해 자세히 알아보려면 Atlas Vector Search를 사용한 검색-증강 생성(RAG)을 참조하세요.
전제 조건
이 튜토리얼을 완료하려면 다음 조건을 충족해야 합니다.
MongoDB 버전 6 을(를) 실행하는 Atlas M10+ 클러스터입니다.0.11, 7.0.2 이상입니다.
사용자 지정 데이터 로드
텍스트 데이터가 포함된 Amazon S3 버킷이 아직 없는 경우, 새 버킷을 생성하고 MongoDB 모범 사례에 대한 공개적으로 액세스할 수 있는 다음 PDF를 로드합니다.
PDF를 Amazon S3 버킷에 업로드합니다.
단계에 따라 S 버킷을3 생성합니다. . 설명이 포함된 을(를) 사용해야 Bucket Name 합니다.
버킷에 파일을 업로드하는 단계. 방금 다운로드한 PDF가 포함된 파일을 선택합니다.
엔드포인트 서비스 구성
기본적으로 Amazon 베드락은 공용 인터넷을 통해 지식창고에 연결합니다. 연결을 더욱 안전하게 보호하기 위해 Atlas Vector Search는 AWS PrivateLink 를 통해 가상 네트워크를 통해 지식창고에 연결할 수 있도록 지원합니다. 엔드포인트 서비스.
선택 사항으로 다음 단계를 완료하여 Atlas 클러스터의 AWS PrivateLink 비공개 엔드포인트에 연결하는 엔드포인트 서비스를 활성화합니다.
Atlas에서 비공개 엔드포인트를 설정합니다.
단계에 따라 Atlas 클러스터에 대한 AWS PrivateLink 비공개 엔드포인트를 설정 합니다. 비공개 엔드포인트를 식별하려면 설명이 포함된 VPC ID 를 사용해야 합니다.
엔드포인트 서비스를 구성합니다.
MongoDB와 파트너사는 트래픽을 비공개 엔드포인트로 전달하는 네트워크 로드 밸런서가 지원하는 엔드포인트 서비스를 구성하는 데 사용할 수 있는 클라우드 개발 키트(CDK)를 제공합니다.
CDK GitHub 리포지토리 에 지정된 단계를 따르세요. 를 클릭하여 CDK 스크립트를 준비하고 실행합니다.
Atlas Vector Search 인덱스 만들기
이 섹션에서는 컬렉션에 Atlas Vector Search 인덱스를 생성하여 Atlas를 벡터 데이터베이스(벡터 저장소라고도 함)로 설정합니다.
필요한 액세스 권한
Atlas Vector Search 인덱스를 만들려면 Atlas 프로젝트에 대한 Project Data Access Admin
이상의 액세스 권한이 있어야 합니다.
절차
Atlas에서 Clusters 프로젝트의 페이지로 이동합니다.
아직 표시되지 않은 경우 다음 목록에서 원하는 프로젝트가 포함된 조직을 선택합니다. 탐색 표시줄의 Organizations 메뉴.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.
클러스터 페이지가 표시됩니다.
Collections 페이지로 이동합니다.
cluster의 Browse Collections 버튼을 클릭합니다.
데이터 탐색기 가 표시됩니다.
클러스터의 Atlas Search 페이지로 이동합니다.
사이드바, Data Explorer 또는 클러스터 세부 정보 페이지에서 Atlas Search 페이지로 이동할 수 있습니다.
사이드바에서 Services 제목 아래의 Atlas Search 을 클릭합니다.
Select data source 드롭다운에서 클러스터를 선택하고 Go to Atlas Search 를 클릭합니다.
Atlas Search 페이지가 표시됩니다.
cluster의 Browse Collections 버튼을 클릭합니다.
데이터베이스를 확장하고 컬렉션을 선택합니다.
컬렉션의 Search Indexes 탭을 클릭합니다.
Atlas Search 페이지가 표시됩니다.
클러스터의 이름을 클릭합니다.
Atlas Search 탭을 클릭합니다.
Atlas Search 페이지가 표시됩니다.
Atlas Vector Search 인덱스를 정의합니다.
Create Search Index 버튼을 클릭합니다.
Atlas Vector Search 아래에서 JSON Editor 을 선택한 다음 Next 를 클릭합니다.
Database and Collection 섹션에서
bedrock_db
데이터베이스를 찾고test
컬렉션을 선택합니다.Index Name 필드에
vector_index
를 입력합니다.기본 정의를 다음 샘플 인덱스 정의로 바꾼 다음 Next 을 클릭합니다.
이 인덱스 정의는 vectorSearch 유형의 인덱스에서 다음 필드를 인덱싱하도록 지정합니다.
embedding
필드를 벡터 유형으로 지정합니다.embedding
필드에는 지식창고를 구성할 때 지정하는 임베딩 모델을 사용하여 생성된 벡터 임베딩이 포함되어 있습니다. 인덱스 정의는1536
벡터 차원을 지정하고cosine
를 사용하여 유사성을 측정합니다.데이터를 사전 필터링하기 위한 필터 유형인
metadata
및text_chunk
필드입니다. 지식 기반을 구성할 때 이러한 필드를 지정합니다.
1 { 2 "fields": [ 3 { 4 "numDimensions": 1536, 5 "path": "embedding", 6 "similarity": "cosine", 7 "type": "vector" 8 }, 9 { 10 "path": "metadata", 11 "type": "filter" 12 }, 13 { 14 "path": "text_chunk", 15 "type": "filter" 16 } 17 ] 18 }
기술 자료 만들기
이 섹션에서는 지식창고 를 생성합니다. 사용자 지정 데이터를 벡터 저장소에 로드합니다.
모델 액세스를 관리합니다.
Amazon 베드락은 FM 에 대한 액세스 권한을 자동으로 부여하지 않습니다. 아직 모델 액세스 권한을 추가하지 않았다면 단계에 따라 모델 액세스 권한 을 추가하세요.타이탄1 임베딩 G - 텍스트 및 인간 Claude V2.1 모델.
Atlas를 지식 기반에 연결하세요.
Vector database 섹션에서 Choose a vector store you have created를 선택합니다.
MongoDB Atlas 을(를) 선택하고 다음 옵션을 구성합니다.
의 경우 Hostname 연결 문자열 에 있는 Atlas cluster의 URL을 입력합니다. 호스트 이름은 다음 형식을 사용합니다.
<clusterName>.mongodb.net Database name에
bedrock_db
을(를) 입력합니다.Collection name에
test
을(를) 입력합니다.Credentials secret ARN 에 Atlas 클러스터 자격 증명이 포함된 시크릿의 ARN 을 입력합니다. 자세한 내용은 Amazon Web Services Secret Manager 개념을 참조하세요.
Metadata field mapping 섹션에서 다음 옵션을 구성하여 Atlas가 데이터 소스를 포함하고 저장하는 데 사용하는 Atlas Search 인덱스 및 필드 이름을 결정합니다.
Vector search index name에
vector_index
을(를) 입력합니다.Vector embedding field path에
embedding
을(를) 입력합니다.Text field path에
text_chunk
을(를) 입력합니다.Metadata field path에
metadata
을(를) 입력합니다.
엔드포인트 서비스를 구성한 경우 PrivateLink Service Name 을(를) 입력합니다.
Next를 클릭합니다.
데이터 소스를 동기화합니다.
Amazon 베드락이 지식창고를 생성한 후에는 데이터를 동기화하라는 메시지가 표시됩니다. Data source 섹션에서 데이터 소스를 선택하고 Sync 을 클릭하여 S3 버킷의 데이터를 동기화하고 Atlas에 로드합니다.
동기화가 완료되면 클러스터의 bedrock_db.test
컬렉션으로 이동 하여 Atlas UI에서 벡터 임베딩을 볼 수 있습니다.
에이전트 만들기
이 섹션에서는 에이전트 를 생성합니다. Atlas Vector Search를 사용하여 RAG 를 구현하고 데이터에 대한 질문에 답변합니다. 이 에이전트에 메시지를 표시하면 다음을 수행합니다.
지식창고에 연결하여 Atlas에 저장된 사용자 지정 데이터에 액세스합니다.
Atlas Vector Search를 사용하여 프롬프트에 따라 벡터 저장소에서 관련 문서를 검색합니다.
AI 채팅 모델을 활용하여 이러한 문서를 기반으로 상황 인식 응답을 생성합니다.
다음 단계를 완료하여 RAG 에이전트를 생성하고 테스트합니다.
모델을 선택하고 프롬프트를 제공합니다.
기본적으로 Amazon 베드락은 에이전트에 액세스할 수 있는 새 IAM 역할을 생성합니다. Agent details 섹션에서 다음을 지정합니다.
드롭다운 메뉴에서 데이터에 대한 질문에 답변하는 데 사용되는 제공자 및 AI 모델로 Anthropic 및 Claude V2.1 를 선택합니다.
참고
Amazon 베드락은 FM 에 대한 액세스 권한을 자동으로 부여하지 않습니다. 아직 모델 액세스 권한을 추가하지 않았다면 단계에 따라 모델 액세스 권한 을 추가하세요.2 의1 경우 Claude V . 모델.
에이전트가 작업을 완료하는 방법을 알 수 있도록 지침을 제공합니다.
예를 들어 샘플 데이터 를 사용하는 경우 다음 지침을 붙여넣습니다.
You are a friendly AI chatbot that answers questions about working with MongoDB. Save를 클릭합니다.
에이전트를 테스트합니다.
Prepare 버튼을 클릭합니다.
Test 을(를) 클릭합니다. 테스트 Amazon 아직 표시되지 않은 경우 에이전트 세부 정보 오른쪽에 테스트 창이 표시됩니다.
테스트 창에서 프롬프트를 입력합니다. 에이전트는 모델에 프롬프트를 표시하고, Atlas Vector Search를 사용하여 관련 문서를 조회한 다음, 문서를 기반으로 응답을 생성합니다.
샘플 데이터를 사용한 경우 다음 프롬프트를 입력합니다. 생성된 응답은 다를 수 있습니다.
What's the best practice to reduce network utilization with MongoDB? The best practice to reduce network utilization with MongoDB is to issue updates only on fields that have changed rather than retrieving the entire documents in your application, updating fields, and then saving the document back to the database. [1] 팁
에이전트 응답에 있는 주석을 클릭하면 Atlas Vector Search가 검색한 텍스트 청크를 볼 수 있습니다.
다음 단계
MongoDB와 파트너는 다음과 같은 개발자 리소스도 제공합니다.