문서 메뉴
문서 홈
/
MongoDB 아틀라스
/ /

Amazon 기반 지식 기반 통합 시작하기

이 페이지의 내용

  • 배경
  • 전제 조건
  • 사용자 지정 데이터 로드
  • 엔드포인트 서비스 구성
  • Atlas Vector Search 인덱스 만들기
  • 기술 자료 만들기
  • 에이전트 만들기
  • 다음 단계

Atlas Vector Search를 지식 기반 로 사용할 수 있습니다. Amazon 기반암 의 경우 생성형 AI 애플리케이션을 구축하고 RAG(검색 강화 생성)를 구현합니다. 이 튜토리얼에서는 Amazon 기반과 함께 Atlas Vector Search를 사용하는 방법을 보여줍니다. 구체적으로 다음 조치를 수행합니다.

  1. 사용자 지정 데이터를 Amazon S3 버킷에 로드합니다.

  2. 선택적으로 AWS PrivateLink를 사용하여 엔드포인트 서비스를 구성합니다.

  3. 데이터에 Atlas Vector Search 검색 인덱스를 만듭니다.

  4. Atlas에 데이터를 저장하기 위한 지식창고를 생성합니다.

  5. 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 이상입니다.

  • 시크릿 이 있는 AWS계정 Atlas cluster에 대한 자격 증명이 포함되어 있습니다.

  • 액세스 이 튜토리얼에 사용된 다음 기초 모델에 해당합니다.

  • AWS CLInpm AWS PrivateLink 엔드포인트 서비스를 구성하려는 경우 설치됩니다.

텍스트 데이터가 포함된 Amazon S3 버킷이 아직 없는 경우, 새 버킷을 생성하고 MongoDB 모범 사례에 대한 공개적으로 액세스할 수 있는 다음 PDF를 로드합니다.

1
  1. MongoDB 모범 사례 가이드로 이동합니다.

  2. PDF에 액세스하려면 Read Whitepaper 또는 Email me the PDF 를 클릭합니다.

  3. PDF를 로컬에 다운로드하여 저장합니다.

2
  1. 단계에 따라 S 버킷을3 생성합니다. . 설명이 포함된 을(를) 사용해야 Bucket Name 합니다.

  2. 버킷에 파일을 업로드하는 단계. 방금 다운로드한 PDF가 포함된 파일을 선택합니다.

기본적으로 Amazon 베드락은 공용 인터넷을 통해 지식창고에 연결합니다. 연결을 더욱 안전하게 보호하기 위해 Atlas Vector Search는 AWS PrivateLink 를 통해 가상 네트워크를 통해 지식창고에 연결할 수 있도록 지원합니다. 엔드포인트 서비스.

선택 사항으로 다음 단계를 완료하여 Atlas 클러스터의 AWS PrivateLink 비공개 엔드포인트에 연결하는 엔드포인트 서비스를 활성화합니다.

1

단계에 따라 Atlas 클러스터에 대한 AWS PrivateLink 비공개 엔드포인트를 설정 합니다. 비공개 엔드포인트를 식별하려면 설명이 포함된 VPC ID 를 사용해야 합니다.

자세한 내용 은 Atlas의 비공개 엔드포인트에 대해 알아보기를 참조하세요.

2

MongoDB와 파트너사는 트래픽을 비공개 엔드포인트로 전달하는 네트워크 로드 밸런서가 지원하는 엔드포인트 서비스를 구성하는 데 사용할 수 있는 클라우드 개발 키트(CDK)를 제공합니다.

CDK GitHub 리포지토리 에 지정된 단계를 따르세요. 를 클릭하여 CDK 스크립트를 준비하고 실행합니다.

이 섹션에서는 컬렉션에 Atlas Vector Search 인덱스를 생성하여 Atlas를 벡터 데이터베이스(벡터 저장소라고도 함)로 설정합니다.

Atlas Vector Search 인덱스를 만들려면 Atlas 프로젝트에 대한 Project Data Access Admin 이상의 액세스 권한이 있어야 합니다.

1
  1. 아직 표시되지 않은 경우 다음 목록에서 원하는 프로젝트가 포함된 조직을 선택합니다. 탐색 표시줄의 Organizations 메뉴.

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.

    클러스터 페이지가 표시됩니다.

2

cluster의 Browse Collections 버튼을 클릭합니다.

데이터 탐색기 가 표시됩니다.

3
  1. + Create Database 버튼을 클릭합니다.

  2. Database namebedrock_db을(를) 입력합니다.

  3. Collection nametest을(를) 입력합니다.

  4. 데이터베이스와 첫 번째 collection을 생성하려면 Create을(를) 클릭하세요.

4

사이드바, Data Explorer 또는 클러스터 세부 정보 페이지에서 Atlas Search 페이지로 이동할 수 있습니다.

  1. 사이드바에서 Services 제목 아래의 Atlas Search 을 클릭합니다.

  2. Select data source 드롭다운에서 클러스터를 선택하고 Go to Atlas Search 를 클릭합니다.

    Atlas Search 페이지가 표시됩니다.

  1. cluster의 Browse Collections 버튼을 클릭합니다.

  2. 데이터베이스를 확장하고 컬렉션을 선택합니다.

  3. 컬렉션의 Search Indexes 탭을 클릭합니다.

    Atlas Search 페이지가 표시됩니다.

  1. 클러스터의 이름을 클릭합니다.

  2. Atlas Search 탭을 클릭합니다.

    Atlas Search 페이지가 표시됩니다.

5
  1. Create Search Index 버튼을 클릭합니다.

  2. Atlas Vector Search 아래에서 JSON Editor 을 선택한 다음 Next 를 클릭합니다.

  3. Database and Collection 섹션에서 bedrock_db 데이터베이스를 찾고 test 컬렉션을 선택합니다.

  4. Index Name 필드에 vector_index를 입력합니다.

  5. 기본 정의를 다음 샘플 인덱스 정의로 바꾼 다음 Next 을 클릭합니다.

    이 인덱스 정의는 vectorSearch 유형의 인덱스에서 다음 필드를 인덱싱하도록 지정합니다.

    • embedding 필드를 벡터 유형으로 지정합니다. embedding 필드에는 지식창고를 구성할 때 지정하는 임베딩 모델을 사용하여 생성된 벡터 임베딩이 포함되어 있습니다. 인덱스 정의는 1536 벡터 차원을 지정하고 cosine 를 사용하여 유사성을 측정합니다.

    • 데이터를 사전 필터링하기 위한 필터 유형인 metadatatext_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}
6

인덱스가 작성 중임을 보여주는 모달 창이 표시됩니다.

7

인덱스 작성에는 약 1분 정도가 소요됩니다. 작성하는 동안 Status 열은 Initial Sync를 읽습니다. 빌드가 완료되면 Status 열에 Active가 표시됩니다.

이 섹션에서는 지식창고 를 생성합니다. 사용자 지정 데이터를 벡터 저장소에 로드합니다.

1
  1. Amazon Web Services 콘솔에 로그인합니다.

  2. 왼쪽 상단에서 Services 드롭다운 메뉴를 클릭합니다.

  3. Machine Learning 을 클릭한 다음 Amazon Bedrock 을 선택합니다.

  4. Amazon Bedrock 랜딩 페이지에서 Get started 을 클릭합니다.

2

Amazon 베드락은 FM 에 대한 액세스 권한을 자동으로 부여하지 않습니다. 아직 모델 액세스 권한을 추가하지 않았다면 단계에 따라 모델 액세스 권한 을 추가하세요.타이탄1 임베딩 G - 텍스트인간 Claude V2.1 모델.

3
  1. Amazon 베드락 콘솔의 왼쪽 탐색에서 Knowledge bases 을(를) 클릭합니다.

  2. Create knowledge base를 클릭합니다.

  3. mongodb-atlas-knowledge-baseKnowledge base name 로 지정합니다.

  4. Next를 클릭합니다.

기본적으로 Amazon 베드락은 지식 기반에 액세스하기 위해 새 IAM 역할을 생성합니다.

4
  1. 지식 기반에서 사용하는 데이터 소스의 이름을 지정합니다.

  2. 데이터 소스가 포함된 S 버킷의3 URI 를 입력합니다. 또는 Browse S3 를 클릭하고 목록에서 데이터 소스가 포함된 S3 버킷을 찾습니다.

  3. Next를 클릭합니다.

    Amazon 베드락에는 데이터 소스의 텍스트 데이터를 벡터 임베딩으로 변환하는 데 사용할 수 있는 임베딩 모델이 표시됩니다.

  4. Titan Embeddings G1 - Text0}을 선택합니다.

5
  1. Vector database 섹션에서 Choose a vector store you have created를 선택합니다.

  2. MongoDB Atlas 을(를) 선택하고 다음 옵션을 구성합니다.

    • 의 경우 Hostname 연결 문자열 에 있는 Atlas cluster의 URL을 입력합니다. 호스트 이름은 다음 형식을 사용합니다.

      <clusterName>.mongodb.net
    • Database namebedrock_db을(를) 입력합니다.

    • Collection nametest을(를) 입력합니다.

    • Credentials secret ARN 에 Atlas 클러스터 자격 증명이 포함된 시크릿의 ARN 을 입력합니다. 자세한 내용은 Amazon Web Services Secret Manager 개념을 참조하세요.

  3. Metadata field mapping 섹션에서 다음 옵션을 구성하여 Atlas가 데이터 소스를 포함하고 저장하는 데 사용하는 Atlas Search 인덱스 및 필드 이름을 결정합니다.

    • Vector search index namevector_index을(를) 입력합니다.

    • Vector embedding field pathembedding을(를) 입력합니다.

    • Text field pathtext_chunk을(를) 입력합니다.

    • Metadata field pathmetadata을(를) 입력합니다.

  4. 엔드포인트 서비스를 구성한 경우 PrivateLink Service Name 을(를) 입력합니다.

  5. Next를 클릭합니다.

6

지식창고에 대한 세부 정보를 검토한 후 Create knowledge base 를 클릭하여 생성을 완료합니다.

7

Amazon 베드락이 지식창고를 생성한 후에는 데이터를 동기화하라는 메시지가 표시됩니다. Data source 섹션에서 데이터 소스를 선택하고 Sync 을 클릭하여 S3 버킷의 데이터를 동기화하고 Atlas에 로드합니다.

동기화가 완료되면 클러스터의 bedrock_db.test 컬렉션으로 이동 하여 Atlas UI에서 벡터 임베딩을 볼 수 있습니다.

이 섹션에서는 에이전트 를 생성합니다. Atlas Vector Search를 사용하여 RAG 를 구현하고 데이터에 대한 질문에 답변합니다. 이 에이전트에 메시지를 표시하면 다음을 수행합니다.

  1. 지식창고에 연결하여 Atlas에 저장된 사용자 지정 데이터에 액세스합니다.

  2. Atlas Vector Search를 사용하여 프롬프트에 따라 벡터 저장소에서 관련 문서를 검색합니다.

  3. AI 채팅 모델을 활용하여 이러한 문서를 기반으로 상황 인식 응답을 생성합니다.

다음 단계를 완료하여 RAG 에이전트를 생성하고 테스트합니다.

1
  1. Amazon 기반암의 왼쪽 탐색에서 Agents 을(를) 클릭합니다.

  2. Create Agent를 클릭합니다.

  3. mongodb-rag-agent 을(를) Name (으)로 지정하고 Create 을(를) 클릭합니다.

2

기본적으로 Amazon 베드락은 에이전트에 액세스할 수 있는 새 IAM 역할을 생성합니다. Agent details 섹션에서 다음을 지정합니다.

  1. 드롭다운 메뉴에서 데이터에 대한 질문에 답변하는 데 사용되는 제공자 및 AI 모델로 AnthropicClaude V2.1 를 선택합니다.

    참고

    Amazon 베드락은 FM 에 대한 액세스 권한을 자동으로 부여하지 않습니다. 아직 모델 액세스 권한을 추가하지 않았다면 단계에 따라 모델 액세스 권한 을 추가하세요.2 의1 경우 Claude V . 모델.

  2. 에이전트가 작업을 완료하는 방법을 알 수 있도록 지침을 제공합니다.

    예를 들어 샘플 데이터 를 사용하는 경우 다음 지침을 붙여넣습니다.

    You are a friendly AI chatbot that answers questions about working with MongoDB.
  3. Save를 클릭합니다.

3

생성한 지식창고에 에이전트를 연결하려면 다음을 수행합니다.

  1. Knowledge Bases 섹션에서 Add을 클릭합니다.

  2. 드롭다운 메뉴에서 mongodb-atlas-knowledge-base 을(를) 선택합니다.

  3. 에이전트가 데이터 소스와 상호 작용하는 방법을 결정하기 위해 지식 기반을 설명합니다.

    샘플 데이터를 사용하는 경우 다음 지침을 붙여넣습니다.

    This knowledge base describes best practices when working with MongoDB.
  4. Add을 클릭한 다음 Save를 클릭합니다.

4
  1. Prepare 버튼을 클릭합니다.

  2. Test 을(를) 클릭합니다. 테스트 Amazon 아직 표시되지 않은 경우 에이전트 세부 정보 오른쪽에 테스트 창이 표시됩니다.

  3. 테스트 창에서 프롬프트를 입력합니다. 에이전트는 모델에 프롬프트를 표시하고, 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가 검색한 텍스트 청크를 볼 수 있습니다.

5

MongoDB와 파트너는 다음과 같은 개발자 리소스도 제공합니다.

다음도 참조하세요.

돌아가기

Spring AI

다음

API 리소스