Docs Menu

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

참고

Atlas Vector Search는 현재 미국 내 AWS 지역에서만 지식 기반으로 제공됩니다.

Atlas Vector Search를 Amazon Bedrock지식 기반으로 사용하여 생성형 인공지능 애플리케이션을 빌드하고 검색 증강 생성(RAG)을 구현할 수 있습니다. 이 튜토리얼에서는 Amazon Bedrock에서 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 로 제공됩니다.

Amazon Bedrock의 지식 기반으로 Atlas Vector Search를 사용하여 사용자 지정 데이터를 Atlas에 저장하고 RAG를 구현하여 데이터에 대한 질문에 답변하는 에이전트를 만들 수 있습니다. RAG에 대해 자세히 알아보려면 Atlas Vector Search를 사용한 검색 증강 생성(RAG)을 참조하세요.

이 튜토리얼을 완료하려면 다음 조건을 충족해야 합니다.

  • MongoDB 버전 6.0.11, 7.0.2 이상을 실행하는 Atlas M10+ 클러스터입니다.

  • Atlas 클러스터에 대한 자격 증명이 포함된 시크릿이 있는 AWS계정.

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

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

텍스트 데이터를 포함하는 Amazon S3 버킷이 없는 경우, 새 버킷을 생성하고 MongoDB 모범 사례에 대한 다음 공개 액세스 PDF를 로드하세요.

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

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

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

2
  1. S3 버킷을 생성하기 위한 단계를 따르세요. 설명이 포함된 Bucket Name을 사용해야 합니다.

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

기본적으로 Amazon Bedrock은 공용 인터넷을 통해 지식 기반에 연결됩니다. 연결 보안을 강화하기 위해 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를 클릭합니다.

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

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를 클릭합니다.

    참고

    클러스터가 없는 경우 Create cluster를 클릭하여 클러스터를 생성합니다. 자세히 알아보려면 클러스터 생성을 참조하세요.

  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
6

페이지에서 다음 항목을 선택한 후 Next를 클릭합니다.

Search Type

Vector Search 인덱스 유형을 선택합니다.

Index Name and Data Source

다음 정보를 지정합니다.

  • Index Name: vector_index

  • Database and Collection:

    • bedrock_db database

    • test 컬렉션

Configuration Method

For a guided experience, select Visual Editor.

To edit the raw index definition, select JSON Editor.
7

vectorSearch 유형의 인덱스 정의는 다음 필드를 인덱싱합니다.

  • embedding 필드를 벡터 유형으로 사용합니다. embedding 필드에는 지식 기반을 구성할 때 지정한 임베딩 모델을 사용하여 생성된 벡터 임베딩이 포함됩니다. 인덱스 정의는 1024 벡터 차원을 지정하고 cosine을(를) 사용하여 유사성을 측정합니다.

  • metadata, text_chunkpage_number 필드를 데이터 사전 필터링을 위한 필터하다 유형으로 사용합니다. 지식 기반을 구성할 때 Amazon 기반암에서 이러한 필드도 지정합니다.

인덱스 할 필드 로 embedding 를 지정하고 1024 차원을 지정합니다.

인덱스를 구성하려면 다음을 수행합니다.

  1. Similarity Method 드롭다운 메뉴에서 Cosine을(를) 선택합니다.

  2. Filter Field 섹션에서 데이터를 필터하다 할 metadata, text_chunkpage_number 필드를 지정합니다.

JSON 편집기에 다음 인덱스 정의를 붙여넣습니다.

1{
2 "fields": [
3 {
4 "numDimensions": 1024,
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 "path": "page_number",
19 "type": "filter"
20 }
21 ]
22}
8
9

Atlas에서 인덱스가 작성 중임을 알려주는 모달 창이 표시됩니다.

10
11

새로 생성된 인덱스가 Atlas Search 탭에 표시됩니다. 인덱스가 생성되는 동안 Status 필드는 Build in Progress로 표시됩니다. 인덱스 생성이 완료되면 Status 필드에 Active가 표시됩니다.

참고

컬렉션이 클수록 인덱스를 생성하는 데 시간이 더 오래 걸립니다. 인덱스 빌드가 완료되면 이메일 알림을 받게 됩니다.

이 섹션에서는 사용자 지정 데이터를 벡터 저장소에 로드하기 위한 지식 기반을 생성합니다.

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

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

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

2

Amazon Bedrock은 FM에 대한 액세스 권한을 자동으로 부여하지 않습니다. 아직 추가하지 않았다면 단계에 따라 Titan Embeddings G1 - TextAnthropic Claude V2 1 모델에 대한 모델 액세스 권한을 추가합니다.

3
  1. Amazon Bedrock 콘솔의 왼쪽 탐색에서 Knowledge Bases를 클릭합니다.

  2. Create를 클릭한 다음 Knowledge base with vector store를 선택합니다.

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

  4. Next를 클릭합니다.

기본적으로 Amazon Bedrock은 지식 기반에 액세스하기 위한 새로운 IAM 역할을 생성합니다.

4
  1. 지식 기반에서 사용되는 데이터 소스의 이름을 지정하세요.

  2. 데이터 소스가 포함된 S3 버킷의 URI를 입력하세요. 또는 Browse S3을(를) 클릭하고 목록에서 데이터 소스가 포함된 S3 버킷을 찾으세요.

  3. Next를 클릭합니다.

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

  4. Titan Embeddings G1 - Text 모델을 선택합니다.

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

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

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

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

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

    • Credentials secret ARN의 경우 Atlas 클러스터 자격 증명이 포함된 시크릿의 ARN을 입력합니다. 자세한 내용은 AWS Secrets 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 Bedrock이 지식 기반을 생성한 후에는 데이터를 동기화하라는 메시지가 표시됩니다. 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 Bedrock의 왼쪽 탐색창에서 Agents를 클릭합니다.

  2. Create Agent를 클릭합니다.

  3. Namemongodb-rag-agent를 지정하고 Create를 클릭합니다.

2

기본적으로 Amazon Bedrock은 에이전트에 액세스하기 위한 새로운 IAM 역할을 생성합니다. Agent details 섹션에서 다음을 지정합니다.

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

    참고

    Amazon Bedrock은 FM 에 대한 액세스 권한을 자동으로 부여하지 않습니다. 아직 추가하지 않았다면 Anthropic Claude V2.1 모델에 대한 모델 액세스를 추가하는 단계를 따르세요.

  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

문제를 해결하려면 Amazon Bedrock 지식 기반 통합 문제 해결을 참조하세요.

다음도 참조하세요.