Amazon Bedrock 지식 베이스를 위한 크롤링 웹 페이지 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Bedrock 지식 베이스를 위한 크롤링 웹 페이지

참고

웹 URL을 데이터 소스로 크롤링하는 기능은 프리뷰 릴리즈 중이며 변경될 수 있습니다.

Amazon Bedrock에서 제공하는 웹 크롤러는 사용자가 Amazon Bedrock 지식 베이스에서 사용하기 위해 선택한 URL에 연결하고 해당 URL을 크롤링합니다. 선택한 URL에 설정된 범위 또는 제한에 따라 웹 사이트 페이지를 크롤링할 수 있습니다. Amazon Bedrock용AWS 관리 콘솔 또는 CreateDataSourceAPI를 사용하여 웹 사이트 페이지를 크롤링할 수 있습니다 (Amazon Bedrock 지원 SDK 및 참조). AWS CLI

크롤링할 웹 사이트를 선택할 때는 Amazon 이용 제한 정책 및 기타 모든 Amazon 약관을 준수해야 합니다. 웹 크롤러는 자신의 웹 페이지 또는 크롤링 권한을 가진 웹 페이지를 인덱싱할 때만 사용해야 한다는 점을 기억하십시오.

지원되는 기능

웹 크롤러는 시드 URL에서 시작하여 동일한 최상위 기본 도메인 및 경로에 있는 모든 하위 링크를 통과하여 HTML 페이지에 연결하고 크롤링합니다. 지원되는 문서를 참조하는 HTML 페이지가 있는 경우 웹 크롤러는 문서가 동일한 최상위 기본 도메인에 속하는지 여부에 관계없이 이러한 문서를 가져옵니다. 크롤링 구성을 변경하여 크롤링 동작을 수정할 수 있습니다. 을 참조하십시오. 연결 구성

다음과 같은 기능이 지원됩니다.

  • 크롤링할 URL을 여러 개 선택합니다.

  • '허용', '허용 안 함'과 같은 표준 robots.txt 지침을 준수하십시오.

  • 크롤링할 URL 범위를 제한하고 필터 패턴과 일치하는 URL은 선택적으로 제외합니다.

  • URL 크롤링 속도 제한

  • Amazon에서 크롤링하는 동안 방문한 URL의 상태 보기 CloudWatch

사전 조건

웹 크롤러를 사용하려면 다음을 확인하십시오.

  • 요청의 URL을 크롤링할 권한이 있는지 확인하세요.

참고

크롤링할 웹 사이트를 선택할 때는 Amazon 이용 제한 정책 및 기타 모든 Amazon 약관을 준수해야 합니다. 웹 크롤러는 자신의 웹 페이지 또는 크롤링 권한을 가진 웹 페이지를 인덱싱할 때만 사용해야 한다는 점을 기억하십시오.

연결 구성

크롤링 URL의 동기화 범위, 포함/제외 필터, URL 액세스, 증분 동기화 및 작동 방식에 대한 자세한 내용은 다음을 선택하세요.

시드 URL과의 각 페이지 URL별 관계를 기반으로 크롤링할 URL의 범위를 제한할 수 있습니다. 더 빠른 크롤링을 위해 시드 URL과 호스트가 동일하고 경로에 시드 URL의 경로가 포함된 URL로 제한할 수 있습니다. 더 완전한 크롤링을 위해 URL을 동일한 호스트 또는 시드 URL의 하위 도메인 내에 있는 URL로 제한할 수 있습니다.

선택적으로 포함 및 제외 필터를 제공하여 크롤링할 URL의 범위를 추가로 제한할 수 있습니다. 이는 선택한 URL과 일치하는 정규 표현식 패턴입니다. 선택 URL이 제외 필터와 일치하는 경우 해당 URL은 크롤링되지 않습니다. 포함 필터가 제공되는 경우 크롤러는 하나 이상의 포함 필터와 일치하는 경우에만 URL 검색을 시도합니다.

웹 크롤러를 사용하여 크롤링 권한이 있는 웹 사이트의 페이지를 크롤링할 수 있습니다.

참고

크롤링할 웹 사이트를 선택할 때는 Amazon 이용 제한 정책 및 기타 모든 Amazon 약관을 준수해야 합니다. 웹 크롤러는 자신의 웹 페이지 또는 크롤링 권한을 가진 웹 페이지를 인덱싱할 때만 사용해야 한다는 점을 기억하십시오.

웹 크롤러가 실행될 때마다 원본 URL에서 도달할 수 있고 범위 및 필터와 일치하는 모든 URL의 콘텐츠를 검색합니다. 모든 콘텐츠의 최초 동기화 이후 증분 동기화의 경우 Amazon Bedrock은 신규 및 수정된 콘텐츠로 지식베이스를 업데이트하고 더 이상 존재하지 않는 오래된 콘텐츠를 제거합니다. 경우에 따라 크롤러가 콘텐츠가 웹 사이트에서 삭제되었는지 여부를 파악하지 못할 수 있으며, 이 경우 지식창고에 오래된 콘텐츠를 보존하는 쪽으로 치우치게 됩니다.

데이터 원본을 지식창고와 동기화하려면 StartIngestionJobAPI를 사용하거나 콘솔에서 지식창고를 선택하고 데이터 원본 개요 섹션에서 동기화를 선택합니다.

중요

데이터 소스에서 동기화하는 모든 데이터는 데이터를 검색할 bedrock:Retrieve 권한이 있는 모든 사람이 사용할 수 있습니다. 여기에는 통제된 데이터 원본 권한이 있는 모든 데이터도 포함될 수 있습니다. 자세한 내용은 지식창고 권한을 참조하십시오.

Console

다음 단계는 Amazon Bedrock 지식 베이스에 맞게 웹 크롤러를 구성합니다. 콘솔에서 지식 기반 생성 단계의 일부로 웹 크롤러를 구성합니다.

  1. Amazon Bedrock 권한으로 IAM 역할을 AWS Management Console 사용하여 로그인하고 https://console.aws.amazon.com/bedrock/ 에서 Amazon Bedrock 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 지식 베이스를 선택합니다.

  3. 지식베이스 섹션에서 지식창고 만들기를 선택합니다.

  4. 지식창고 세부 정보를 제공하십시오.

    1. 지식창고 이름과 설명 (선택 사항) 을 입력합니다.

    2. 지식창고를 만드는 데 필요한 액세스 권한의 AWS Identity and Access Management 역할을 제공하십시오.

      참고

      지식창고를 만들기 위한 콘솔 단계의 일부로 필요한 모든 권한이 포함된 IAM 역할을 자동으로 만들 수 있습니다. 지식창고 만들기 단계를 완료하면 필요한 모든 권한을 가진 IAM 역할이 특정 지식창고에 적용됩니다.

    3. 지식창고에 할당하려는 태그를 마음대로 만드세요.

    다음 섹션으로 이동하여 데이터 소스를 구성하세요.

  5. Web Crawler를 데이터 원본으로 선택하고 구성 세부 정보를 제공합니다.

    (선택 사항) 기본 데이터 원본 이름을 변경하고 설명을 입력합니다.

  6. 크롤링하려는 URL의 원본 URL을 입력합니다. 소스 URL 추가를 선택하여 최대 9개의 URL을 추가할 수 있습니다. 원본 URL을 제공하면 해당 도메인을 크롤링할 권한이 있음을 확인하는 것입니다.

  7. 고급 설정을 확인하세요. 선택한 기본 설정을 선택적으로 변경할 수 있습니다.

    KMS key 설정의 경우 사용자 지정 키를 선택하거나 제공된 기본 데이터 암호화 키를 사용할 수 있습니다.

    데이터를 임베딩으로 변환하는 동안 Amazon Bedrock 기본적으로 AWS 소유하고 관리하는 키를 사용하여 임시 데이터를 암호화합니다. 자체 KMS 키를 사용할 수 있습니다. 자세한 정보는 데이터 모으기 중 임시 데이터 스토리지의 암호화을 참조하세요.

    데이터 삭제 정책 설정의 경우 다음 중 하나를 선택할 수 있습니다.

    • 삭제: 지식 기반 또는 데이터 소스 리소스 삭제 시 벡터 저장소에서 데이터 소스에 속하는 모든 데이터를 삭제합니다. 기본 벡터 저장소 자체는 삭제되지 않고 데이터만 삭제된다는 점에 유의하세요. AWS 계정이 삭제되면 이 플래그는 무시됩니다.

    • 유지: 지식 기반 또는 데이터 소스 리소스 삭제 시 벡터 스토어의 모든 데이터를 보존합니다.

  8. 동기화 범위를 선택합니다. 기본, 호스트 전용 또는 하위 도메인을 선택합니다. 포함 및 제외 필터 값을 입력하여 크롤링 범위를 추가로 제한합니다. 웹 크롤러가 실행될 때마다 원본 URL에서 도달할 수 있고 범위 및 필터와 일치하는 모든 URL의 콘텐츠를 검색합니다. 최초 동기화 이후 증분 동기화의 경우 Amazon Bedrock은 신규 및 수정된 콘텐츠로 지식베이스를 업데이트하고 더 이상 존재하지 않는 이전 콘텐츠는 제거합니다. 보다 완전한 크롤링을 위해 기본 도메인이 시드 URL과 동일한 URL로 제한할 수 있습니다. 웹 사이트를 크롤링하도록 데이터 원본을 구성하면 해당 웹 사이트를 크롤링할 권한이 있음을 확인하는 것입니다.

  9. 크롤링 속도의 최대 스로틀링을 입력합니다. 호스트당 분당 1~300개의 URL을 수집할 수 있습니다. 크롤링 속도가 빨라지면 비용은 증가하지만 시간은 줄어듭니다.

  10. URL 패턴 (선택 사항) 의 경우 상자에 정규 표현식 패턴을 입력하여 포함 패턴 또는 제외 패턴을 추가할 수 있습니다. 새 패턴 추가를 선택하여 최대 25개의 포함 필터 패턴과 25개의 제외 필터 패턴을 추가할 수 있습니다.

  11. 기본 구성 또는 사용자 지정된 청크 및 파싱 구성을 선택합니다.

    1. 사용자 정의 설정을 선택하는 경우 다음 청크 옵션 중 하나를 선택하십시오.

      • 고정 크기 청킹: 콘텐츠를 설정된 대략적인 토큰 크기의 텍스트 청크로 분할합니다. 청크의 최대 토큰 개수를 초과해서는 안 되는 최대 토큰 수와 연속된 청크 간의 겹침 비율을 설정할 수 있습니다.

      • 기본 청킹: 콘텐츠를 최대 300개의 토큰으로 구성된 텍스트 청크로 분할합니다. 단일 문서 또는 콘텐츠에 포함된 토큰이 300개 미만인 경우 문서는 더 이상 분할되지 않습니다.

      • 계층적 청킹: 콘텐츠는 상위-하위 청크의 중첩 구조로 구성됩니다. 최대 부모 청크 토큰 크기와 최대 하위 청크 토큰 크기를 설정합니다. 또한 각 상위 청크와 각 하위 청크의 상위 청크 간의 절대 중복 토큰 수를 설정합니다.

      • 시맨틱 청킹: 콘텐츠를 의미상 유사한 텍스트 청크 또는 문장 그룹으로 정리합니다. 대상/현재 문장을 둘러싸고 그룹화할 최대 문장 수 (버퍼 크기) 를 설정합니다. 또한 텍스트를 의미 있는 청크로 나누기 위한 중단점 백분위수 임계값을 설정합니다.

      • 청킹 없음: 각 문서는 단일 텍스트 청크로 취급됩니다. 문서를 별도의 파일로 분할하여 사전 처리하는 것이 좋습니다.

      참고

      데이터 원본을 만든 후에는 청크 전략을 변경할 수 없습니다.

    2. Amazon Bedrock의 기본 모델을 사용하여 문서를 파싱하여 표준 텍스트보다 더 많이 파싱하도록 선택할 수 있습니다. 예를 들어 구조를 그대로 유지한 상태로 문서 내의 표 형식 데이터를 파싱할 수 있습니다. 기초 모델 비용에 대한 자세한 내용은 Amazon Bedrock 가격 책정을 참조하십시오.

    3. AWS Lambda 함수를 사용하여 청킹 전략을 사용자 지정하고 문서 메타데이터 속성/필드가 처리되고 수집되는 방식을 사용자 지정할 수 있습니다. Lambda 함수 입력 및 출력을 위한 Amazon S3 버킷 위치를 제공합니다.

    벡터 스토어를 구성하려면 다음 섹션으로 이동하십시오.

  12. 데이터를 벡터 임베딩으로 변환하기 위한 모델을 선택하세요.

    Amazon Bedrock이 임베딩을 저장, 업데이트 및 관리할 수 있도록 벡터 저장소를 생성하십시오. 새 벡터 저장소를 빠르게 생성하거나 생성한 지원되는 벡터 저장소에서 선택할 수 있습니다. 새 벡터 저장소를 생성하면 필수 필드가 포함된 Amazon OpenSearch Serverless 벡터 검색 컬렉션 및 색인이 자동으로 설정됩니다. 지원되는 벡터 저장소에서 선택하는 경우 벡터 필드 이름과 메타데이터 필드 이름을 매핑해야 합니다.

    다음 섹션으로 이동하여 지식창고 구성을 검토하세요.

  13. 지식창고의 세부 정보를 확인하세요. 지식창고를 만들기 전에 모든 섹션을 편집할 수 있습니다.

    참고

    지식창고를 만드는 데 걸리는 시간은 수집하는 데이터의 양과 특정 구성에 따라 달라집니다. 지식창고 생성이 완료되면 지식창고 상태가 준비됨으로 변경됩니다.

    지식창고 만들기가 준비되거나 완료되면 콘텐츠를 최신 상태로 유지하고 싶을 때마다 처음으로 데이터 원본을 동기화하세요. 콘솔에서 지식창고를 선택하고 데이터 원본 개요 섹션에서 동기화를 선택합니다.

CLI

다음은 Amazon Bedrock 지식 베이스를 위한 웹 크롤러 구성의 예입니다.

{ "webConfiguration": { "sourceConfiguration": { "urlConfiguration": { "seedUrls": [{ "url": "https://www.examplesite.com" }] } }, "crawlerConfiguration": { "crawlerLimits": { "rateLimit": 50 }, "scope": "HOST_ONLY", "inclusionFilters": [ "https://www\.examplesite\.com/.*\.html" ], "exclusionFilters": [ "https://www\.examplesite\.com/contact-us\.html" ] } }, "type": "WEB" }