애플리케이션에 자동 추론 정책 배포 - Amazon Bedrock

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

애플리케이션에 자동 추론 정책 배포

자동 추론 정책을 테스트하고 성능에 만족하면 Amazon Bedrock Guardrails에서 애플리케이션에 사용할 수 있도록 배포할 수 있습니다. 이 페이지에서는 변경 불가능한 버전 저장, 가드레일에 연결,를 사용한 배포 자동화 CloudFormation, CI/CD 파이프라인에 통합 등 전체 배포 워크플로를 다룹니다.

자동 추론 정책 버전 저장

정책 테스트를 마치면 변경할 수 없는 버전을 생성합니다. 변경 불가능한 버전은 초안을 계속 편집할 때 가드레일에 연결된 정책이 예기치 않게 변경되지 않도록 합니다. 각 버전은 숫자 버전 번호(1, 2, 3, ...)로 식별되며 생성 후에는 수정할 수 없습니다.

콘솔 사용

  1. 왼쪽 탐색 창에서 자동 추론을 선택합니다.

  2. 애플리케이션에 사용하려는 자동 추론 정책을 선택합니다.

  3. 새 버전으로 저장을 선택합니다. 이 버전의 정책을 가드레일과 함께 사용할 수 있습니다.

API 사용

CreateAutomatedReasoningPolicyVersion API를 사용하여 변경 불가능한 버전의 자동 추론 정책을 생성합니다.

요청 파라미터

policyArn(필수)

버전을 생성할 자동 추론 정책의 Amazon 리소스 이름(ARN)입니다.

lastUpdatedDefinitionHash(필수)

새 버전에 대한 정책 정의의 해시입니다. GetAutomatedReasoningPolicy API에서이 해시를 검색합니다. 이렇게 하면 테스트한 정확한 정책 정의의 버전을 관리할 수 있습니다.

예제

# Get the current definition hash aws bedrock get-automated-reasoning-policy \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --query "definitionHash" --output text # Create the version aws bedrock create-automated-reasoning-policy-version \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --last-updated-definition-hash "583463f067a8a4f49fc1206b4642fd40..."

응답 예제:

{ "policyArn": "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk", "version": "1", "name": "MyHRPolicy" }

가드레일에 자동 추론 정책 추가

자동 추론 정책의 저장된 버전이 있으면 가드레일에 추가합니다. 가드레일은 애플리케이션이 LLM 응답을 검증하기 위해 호출하는 런타임 구성 요소입니다. 자동 추론 정책을 새 가드레일 또는 기존 가드레일에 추가할 수 있습니다.

콘솔 사용

  1. 왼쪽 탐색 창에서 가드레일을 선택한 다음 가드레일 생성을 선택합니다(또는 기존 가드레일을 선택하고 편집을 선택합니다).

  2. 자동 추론 검사 추가 화면으로 이동하면 자동 추론 정책 활성화를 선택합니다.

  3. 정책 이름에서 자동 추론 정책의 저장된 버전을 선택한 후 다음을 선택합니다.

  4. 가드레일 생성 또는 업데이트를 완료합니다.

API 사용

CreateGuardrail 또는 UpdateGuardrail API를 사용하여 가드레일에 자동 추론 정책을 추가합니다. 버전이 지정된 정책 ARN에 automatedReasoningConfig 파라미터를 포함합니다.

요청 파라미터

automatedReasoningConfig

Amazon Bedrock Guardrails의 자동 추론 검사를 위한 구성입니다.

policyArn(필수)

가드레일과 함께 사용할 자동 추론 정책 버전의 ARN입니다. 버전이 지정되지 않은 ARN이 아닌 버전이 지정된 ARN(:1, :2등으로 끝남)을 사용합니다.

예제

aws bedrock create-guardrail \ --name "HR-Policy-Guardrail" \ --description "Guardrail for HR policy validation" \ --automated-reasoning-policy-config policies="arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1" \ --cross-region-config '{"guardrailProfileIdentifier": "us.guardrail.v1:0"}' \ --blocked-input-messaging "I cannot process this request." \ --blocked-outputs-messaging "I cannot provide this response."
중요

버전이 지정된 정책 ARN(예: arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1)을 사용합니다. 버전이 지정되지 않은 ARN을 사용하는 경우 API는 오류를 반환합니다. 먼저를 사용하여 버전을 생성합니다CreateAutomatedReasoningPolicyVersion.

중요

자동 추론 검사를 사용하는 가드레일에는 교차 리전 추론 프로파일이 필요합니다. 리전 접두사와 guardrailProfileIdentifier 일치하는에 --cross-region-config 파라미터를 포함합니다(예: 미국 리전의 us.guardrail.v1:0 경우 , EU 리전의 eu.guardrail.v1:0 경우 ). 이 파라미터를 생략하면 API가를 반환합니다ValidationException.

배포를 위한 정책 버전 내보내기

CloudFormation 또는 CI/CD 파이프라인을 통해 정책을 배포하려면 정책 정의 JSON이 필요합니다. ExportAutomatedReasoningPolicyVersion API를 사용하여 저장된 버전에서 모든 규칙, 변수 및 사용자 지정 유형을 포함한 전체 정책 정의를 내보냅니다.

내보낸 정의는 AWS::Bedrock::AutomatedReasoningPolicy 리소스의 PolicyDefinition 속성에서 CloudFormation 허용하는 것과 동일한 형식입니다. 이렇게 하면 대화형 콘솔 워크플로에서 자동 배포로 정책을 쉽게 이동할 수 있습니다.

# Export the policy definition from version 1 aws bedrock export-automated-reasoning-policy-version \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1" \ --query "policyDefinition" \ --output json > policy-definition.json

내보낸 JSON의 구조는 다음과 같습니다.

{ "version": "1.0", "variables": [ { "name": "isFullTime", "type": "BOOL", "description": "Whether the employee works full-time (true) or part-time (false)." }, { "name": "tenureMonths", "type": "INT", "description": "The number of complete months the employee has been continuously employed." } ], "rules": [ { "id": "A1B2C3D4E5F6", "expression": "(=> (and isFullTime (> tenureMonths 12)) eligibleForParentalLeave)" } ], "types": [] }

이 파일을 CloudFormation 템플릿과 함께 버전 제어에 저장합니다. 정책을 업데이트할 때 새 버전을 내보내고 파일을 업데이트하여 배포를 트리거합니다.

를 사용하여 배포 자동화 CloudFormation

CloudFormation 를 사용하여 자동화된 추론 정책과 가드레일을 코드형 인프라로 배포합니다. AWS::Bedrock::AutomatedReasoningPolicy 리소스는 API 또는 콘솔에서 내보내는 정책 정의가 포함된 정책을 생성합니다. 와 함께 전체 검증 스택을 단일 템플릿에 배포할 AWS::Bedrock::Guardrail수 있습니다.

참고

CloudFormation 는 사용자가 제공한 정책 정의로 정책 리소스를 생성합니다. 빌드 워크플로를 실행하거나 소스 문서에서 규칙을 추출하지 않습니다. 먼저 대화형으로 정책을 생성하고 테스트한 다음(콘솔, API 또는 Kiro CLI 사용) 템플릿에 사용할 테스트된 정책 정의를 내보내야 합니다. 자세한 내용은 배포를 위한 정책 버전 내보내기 단원을 참조하십시오.

정책 리소스의 전체 속성 참조는 템플릿 참조의 AWS::Bedrock::AutomatedReasoningPolicy를 참조하세요. CloudFormation

예: 정책 및 가드레일 배포

다음 CloudFormation 템플릿은 정책 정의와 이를 참조하는 가드레일을 사용하여 자동 추론 정책을 생성합니다. 정책 정의를 테스트된 정책에서 내보낸 JSON으로 바꿉니다.

AWSTemplateFormatVersion: '2010-09-09' Description: Deploy an Automated Reasoning policy and guardrail Parameters: PolicyName: Type: String Default: MyHRPolicy Description: Name of the Automated Reasoning policy GuardrailName: Type: String Default: HR-Policy-Guardrail Description: Name of the guardrail Resources: AutomatedReasoningPolicy: Type: AWS::Bedrock::AutomatedReasoningPolicy Properties: Name: !Ref PolicyName Description: Validates HR chatbot responses about leave eligibility PolicyDefinition: Version: '1.0' Variables: - Name: isFullTime Type: BOOL Description: >- Whether the employee works full-time (true) or part-time (false). Set to true when users mention being full-time or working 40+ hours per week. - Name: tenureMonths Type: INT Description: >- The number of complete months the employee has been continuously employed. When users mention years of service, convert to months (for example, 2 years = 24 months). - Name: eligibleForParentalLeave Type: BOOL Description: >- Whether the employee is eligible for parental leave based on employment status and tenure. Rules: - Id: A1B2C3D4E5F6 Expression: >- (=> (and isFullTime (> tenureMonths 12)) eligibleForParentalLeave) - Id: G7H8I9J0K1L2 Expression: >- (=> (or (not isFullTime) (<= tenureMonths 12)) (not eligibleForParentalLeave)) Types: [] Tags: - Key: Environment Value: Production - Key: Team Value: HR Guardrail: Type: AWS::Bedrock::Guardrail Properties: Name: !Ref GuardrailName Description: Guardrail with Automated Reasoning checks for HR policy BlockedInputMessaging: I cannot process this request. BlockedOutputsMessaging: I cannot provide this response. AutomatedReasoningPolicyConfig: Policies: - !GetAtt AutomatedReasoningPolicy.PolicyArn CrossRegionConfig: GuardrailProfileArn: !Sub "arn:aws:bedrock:${AWS::Region}:${AWS::AccountId}:guardrail-profile/us.guardrail.v1:0" Outputs: PolicyArn: Description: ARN of the Automated Reasoning policy Value: !GetAtt AutomatedReasoningPolicy.PolicyArn PolicyId: Description: ID of the Automated Reasoning policy Value: !GetAtt AutomatedReasoningPolicy.PolicyId GuardrailId: Description: ID of the guardrail Value: !Ref Guardrail
작은 정보

프로덕션 배포의 경우 정책 정의를 별도의 JSON 파일에 보관하고 Fn::Include를 사용하거나 템플릿 파라미터로 로드하여 참조합니다. 이렇게 하면 템플릿을 정리하고 정책 정의를 독립적으로 더 쉽게 업데이트할 수 있습니다.

중요

자동 추론 검사를 사용하는 가드레일에는 교차 리전 추론 프로파일이 필요합니다. CrossRegionConfig 속성은 리전의 가드레일 프로파일 ARN을 지정합니다. 리전 접두사(us)를 배포 리전(예: eu EU 리전)에 적합한 접두사로 바꿉니다. 이 속성을 생략하면 가드레일 생성이 실패합니다.

예: 고객 관리형 KMS 키를 사용하여 배포

고객 관리형 KMS 키로 정책을 암호화하려면 KmsKeyId 속성을 추가합니다. 또한 Amazon Bedrock이 키를 사용할 수 있도록 키 정책을 구성해야 합니다. 필요한 키 정책 권한은 섹션을 참조하세요자동 추론 정책에 대한 KMS 권한.

AutomatedReasoningPolicy: Type: AWS::Bedrock::AutomatedReasoningPolicy Properties: Name: !Ref PolicyName Description: Validates HR chatbot responses about leave eligibility KmsKeyId: !GetAtt PolicyEncryptionKey.Arn PolicyDefinition: # ... policy definition ... Tags: - Key: Environment Value: Production
중요

KmsKeyId 속성을 변경하려면 리소스를 교체해야 합니다. CloudFormation 는 기존 정책을 삭제하고 새 ARN으로 새 정책을 생성합니다. 이전 정책 ARN을 참조하는 가드레일을 업데이트합니다.

다음 단계

정책 및 가드레일을 배포한 후 자동화된 추론 검사를 애플리케이션에 통합하여 런타임 시 LLM 응답을 검증합니다. 자세한 내용은 애플리케이션에 자동 추론 검사 통합 단원을 참조하십시오.