Aurora PostgreSQL을 Amazon Bedrock의 지식 기반으로 사용 - Amazon Aurora

Aurora PostgreSQL을 Amazon Bedrock의 지식 기반으로 사용

Aurora PostgreSQL 15.4, 14.9, 13.12, 12.16 버전부터 Aurora PostgreSQL DB 클러스터를 Amazon Bedrock의 지식 기반으로 사용할 수 있습니다. 자세한 내용은 Amazon Aurora에서 벡터 저장소 생성을 참조하세요. 지식 기반은 Amazon S3 버킷에 저장된 구조화되지 않은 텍스트 데이터를 자동으로 가져와 텍스트 청크 및 벡터로 변환하고 PostgreSQL 데이터베이스에 저장합니다. 생성형 AI 애플리케이션을 사용하면 Amazon Bedrock용 에이전트를 사용하여 지식 기반에 저장된 데이터를 쿼리하고 이러한 쿼리의 결과를 사용하여 기본 모델에서 제공하는 답변을 보강할 수 있습니다. 이 워크플로를 검색 증강 생성(RAG)이라고 합니다. RAG에 대한 자세한 내용은 검색 증강 생성(RAG)을 참조하세요.

필수 조건

Aurora PostgreSQL 클러스터를 Amazon Bedrock용 지식 기반으로 사용하려면 다음 사전 조건을 숙지하세요. 상위 수준에서는 Bedrock과 함께 사용할 수 있도록 다음 서비스를 구성해야 합니다.

  • Amazon Aurora PostgreSQL DB 클러스터는 다음 버전으로 생성됩니다.

    • 15.4 이상 버전

    • 14.9 이상 버전

    • 13.12 이상 버전

    • 12.16 이상 버전

    참고

    대상 데이터베이스에서 pgvector 확장을 활성화하고 버전 0.5.0 이상을 사용해야 합니다. 자세한 내용은 HNSW 인덱싱이 포함된 pgvector v0.5.0을 참조하세요.

  • 데이터 API

  • Secrets Manager에서 관리하는 사용자입니다. 자세한 내용은 Amazon Aurora 및 AWS Secrets Manager를 통한 암호 관리 단원을 참조하십시오.

Aurora PostgreSQL을 Amazon Bedrock의 지식 기반으로 사용하도록 준비

Amazon Bedrock의 지식 기반으로 사용할 Aurora PostgreSQL DB 클러스터를 생성하고 구성하려면 아래 단계를 따라야 합니다.

  1. Aurora PostgreSQL DB 클러스터를 생성합니다. 자세한 내용은 Aurora PostgreSQL DB 클러스터 생성 및 연결 단원을 참조하세요.

  2. Aurora PostgreSQL DB 클러스터를 생성하는 동안 Data API를 활성화합니다. 지원되는 버전에 대한 자세한 내용은 RDS 데이터 API 사용 섹션을 참조하세요.

  3. Amazon Bedrock에서 사용할 Aurora PostgreSQL DB 클러스터 Amazon 리소스 이름(ARN)을 기록해 둡니다. 자세한 내용은 Amazon 리소스 이름(ARN)을 참조하세요.

  4. 마스터 사용자로 데이터베이스에 로그인하고 pgvector를 설정합니다. 확장이 설치되지 않은 경우 다음 명령을 사용하세요.

    CREATE EXTENSION IF NOT EXISTS vector;

    HNSW 인덱싱을 지원하는 pgvector 0.5.0 이상 버전을 사용하세요. 자세한 내용은 HNSW 인덱싱이 포함된 pgvector v0.5.0을 참조하세요.

    다음 명령을 사용하여 현재 설치된 pg_vector 버전을 확인합니다.

    postgres=>SELECT extversion FROM pg_extension WHERE extname='vector';
  5. Bedrock이 데이터를 쿼리하는 데 사용할 수 있는 특정 스키마를 만듭니다. 다음 명령을 실행해 스키마를 생성합니다.

    CREATE SCHEMA bedrock_integration;
  6. Bedrock이 데이터를 쿼리하는 데 사용할 수 있는 새 역할을 생성합니다. 다음 명령을 실행해 새 역할을 생성합니다.

    CREATE ROLE bedrock_user WITH PASSWORD password LOGIN;
    참고

    Secrets Manager 암호를 만들 때 사용하는 것과 동일한 암호를 사용하게 되므로 이 암호를 기록해 두세요.

  7. 스키마에 테이블이나 인덱스를 생성할 수 있도록 bedrock_integration 스키마를 관리할 bedrock_user 권한을 부여합니다.

    GRANT ALL ON SCHEMA bedrock_integration to bedrock_user;
  8. bedrock_user로 로그인하고 에서 bedrock_integration schema에 테이블을 생성합니다.

    CREATE TABLE bedrock_integration.bedrock_kb (id uuid PRIMARY KEY, embedding vector(1536), chunks text, metadata json);
  9. Bedrock이 데이터를 쿼리하는 데 사용할 수 있는 코사인 연산자를 사용하여 인덱스를 생성하는 것이 좋습니다.

    CREATE INDEX on bedrock_integration.bedrock_kb USING hnsw (embedding vector_cosine_ops);
  10. AWS Secrets Manager 데이터베이스 보안 암호를 생성합니다. 자세한 내용은 AWS Secrets Manager 데이터베이스 보안 암호를 참조하세요.

Bedrock 콘솔에서 지식 기반 생성

지식 기반의 벡터 저장소로 사용할 Aurora PostgreSQL을 준비하는 동안 Amazon Bedrock 콘솔에 제공해야 하는 다음과 같은 세부 정보를 수집합니다.

  • Amazon Aurora DB 클러스터 ARN

  • 보안 암호 ARN

  • 데이터베이스 이름(예: postgres)

  • 테이블 이름 - 스키마 한정 이름(예: CREATE TABLE bedrock_integration.bedrock_kb)을 사용하는 것이 좋습니다. 이 이름은 bedrock_integration 스키마에 bedrock_kb 테이블을 생성합니다.

  • 테이블 필드:

    ID: (id)

    텍스트 청크(청크)

    벡터 임베딩(임베딩)

    메타데이터(메타데이터)

이러한 세부 정보를 사용하여 Bedrock 콘솔에서 지식 기반을 생성할 수 있습니다. 자세한 내용은 Amazon Aurora에서 벡터 저장소 생성을 참조하세요.

Aurora가 지식 기반으로 추가되면 데이터 소스를 지식 기반으로 통합합니다. 자세한 내용은 지식 기반에 데이터 소스 통합을 참조하세요.