Amazon Bedrock에서 프롬프트 흐름 생성 - Amazon Bedrock

Amazon Bedrock에서 프롬프트 흐름 생성

참고

Amazon Bedrock Prompt Flows는 미리 보기로 제공 중이며 변경될 수 있습니다.

프롬프트 흐름을 생성하려면 최소한 프롬프트 흐름의 이름과 설명을 제공하고 적절한 권한이 있는 서비스 역할을 지정합니다(또는 Amazon Bedrock 콘솔에서 자동으로 생성되는 서비스 역할을 사용합니다). 그런 다음 프롬프트 흐름의 단계 역할을 하는 노드와 노드 간 연결을 구성하여 프롬프트 흐름을 정의합니다. 흐름을 만들기 전에 Amazon Bedrock Prompt Flows의 개념과 용어를 숙지하고 사용 가능한 노드 유형에 대해 알아보려면 Amazon Bedrock Prompt Flows 작동 방식의 내용을 살펴보는 것이 좋습니다. 프롬프트 흐름을 만드는 방법을 알아보려면 선택한 방법에 해당하는 탭을 선택하고 다음 단계를 따릅니다.

Console
플로우를 생성하려면
  1. Amazon Bedrock 권한이 있는 IAM 역할을 사용하여 AWS Management Console에 로그인하고 AWS Management Console 시작하기에서 Amazon Bedrock 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 Amazon Bedrock Prompt Flows를 선택합니다.

  3. Amazon Bedrock Prompt Flows 섹션에서 프롬프트 흐름 생성을 선택합니다.

  4. 흐름의 이름을 입력하고, 필요한 경우 설명을 입력합니다.

  5. 서비스 역할 이름에서 다음 옵션 중 하나를 선택합니다.

  6. (선택 사항) KMS 키로 프롬프트 흐름을 암호화하려면 암호화 설정 사용자 지정(고급)을 선택하고 키를 선택합니다. 자세한 내용은 Amazon Bedrock이 흐름을 암호화 및 복호화할 수 있도록 허용하는 키 정책 단원을 참조하십시오.

  7. 생성(Create)을 선택합니다. 흐름이 만들어지면 흐름을 구축할 수 있는 프롬프트 흐름 빌더로 이동하게 됩니다.

  8. 이어지는 절차에 따라 계속해서 흐름을 구축할 수도 있고, 나중에 프롬프트 흐름 빌더를 이용할 수도 있습니다.

흐름을 구축하는 방법
  1. 프롬프트 흐름 빌더가 아직 열려 있지 않은 경우 다음을 수행합니다.

    1. Amazon Bedrock 권한이 있는 IAM 역할을 사용하여 AWS Management Console에 로그인하고 AWS Management Console 시작하기에서 Amazon Bedrock 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 Amazon Bedrock Prompt Flows를 선택합니다. 그런 다음 Amazon Bedrock Prompt Flows 섹션에서 흐름을 선택합니다.

    3. 프롬프트 흐름 빌더에서 편집을 선택합니다.

  2. 프롬프트 흐름 빌더 섹션에서 중앙에 있는 창에 흐름 입력 노드와 흐름 출력 노드가 표시됩니다. 다음은 흐름의 입력 및 출력 노드입니다.

  3. 노드를 추가하고 구성하는 방법

    1. 프롬프트 흐름 빌더 창에서 노드를 선택합니다.

    2. 흐름의 첫 번째 단계에 사용할 노드를 중앙에 있는 창으로 드래그합니다.

    3. 노드의 원은 연결 지점입니다. 흐름 입력 노드를 두 번째 노드에 연결하려면 흐름 입력 노드의 원에서 방금 추가한 노드의 입력 섹션에 있는 원으로 선을 드래그합니다.

    4. 방금 추가한 노드를 선택합니다.

    5. 프롬프트 흐름 빌더 창의 구성 섹션에서 선택한 노드에 대한 구성을 제공하고 노드의 입력 및 출력에 대한 이름, 데이터 유형 및 표현식을 정의합니다.

    6. 프롬프트 흐름 빌더 창에서 노드를 선택합니다.

    7. 단계를 반복하여 흐름의 나머지 노드에 노드를 추가하고 구성합니다.

      참고

      Amazon Bedrock이 자동으로 만든 서비스 역할을 사용하는 경우 노드를 추가할 때 적절한 권한으로 역할이 업데이트됩니다. 하지만 사용자 지정 서비스 역할을 사용하는 경우 Amazon Bedrock에서 Amazon Bedrock Prompt Flows에 대한 서비스 역할 생성 섹션을 참조하여 서비스 역할에 연결된 정책에 적절한 권한을 추가해야 합니다.

  4. 흐름의 마지막 노드의 출력흐름 출력 노드의 입력과 연결합니다. 흐름 출력 노드가 여러 개 있을 수 있습니다. 흐름 출력 노드를 더 추가하려면 흐름 출력 노드를 흐름을 중지할 노드 옆으로 드래그합니다. 두 노드 간의 연결도 그려야 합니다.

  5. Amazon Bedrock에서 프롬프트 흐름 테스트를 위한 다음 절차를 계속 진행하거나 나중에 다시 돌아와서 진행할 수 있습니다. 다음 단계를 계속 진행하려면 다음을 선택합니다. 나중에 다시 돌아오려면 저장 및 종료를 선택합니다.

노드 또는 연결 삭제

흐름을 구축하는 과정에서 노드를 삭제하거나 노드 연결을 제거해야 할 수 있습니다.

노드를 삭제하려면
  1. 삭제할 노드를 선택합니다.

  2. 프롬프트 흐름 빌더 창에서 삭제 아이콘( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. )을 선택합니다.

    참고

    Amazon Bedrock이 자동으로 만든 서비스 역할을 사용하는 경우 노드를 추가할 때 적절한 권한으로 역할이 업데이트됩니다. 그러나 노드를 삭제하는 경우 관련 권한이 함께 삭제되지 않습니다. 역할 수정의 단계에 따라 더 이상 필요하지 않은 권한을 삭제하는 것이 좋습니다.

연결을 제거하는 방법
  • 흐름 빌더 페이지에서 제거하려는 연결 위에 확장 아이콘이 표시될 때까지 마우스를 올려 놓고 있다가 노드에서 연결을 끌어서 제거합니다.

API

흐름을 만들려면 Agents for Amazon Bedrock 빌드 타임 엔드포인트를 사용하여 CreateFlow 요청(요청 및 응답 형식과 필드 세부 정보는 링크 참조)을 전송합니다.

필수 필드는 다음과 같습니다.

필드 기본 설명
name 흐름의 이름입니다.
executionRoleArn 흐름을 만들고 관리할 수 있는 권한이 있는 서비스 역할의 ARN입니다.

다음 필드는 선택 사항입니다.

필드 사용 사례
정의 흐름을 구성하는 nodesconnections를 포함합니다.
설명 흐름을 설명합니다.
tags 태그를 흐름에 연결합니다. 자세한 내용은 Amazon Bedrock 리소스 태그 지정 단원을 참조하십시오.
customerEncryptionKeyArn KMS 키를 사용하여 흐름을 암호화합니다. 자세한 내용은 Amazon Bedrock이 흐름을 암호화 및 복호화할 수 있도록 허용하는 키 정책 단원을 참조하십시오.
clientToken API 요청이 한 번만 완료되도록 합니다. 자세한 내용은 Ensuring idempotency를 참조하세요.

definition 필드는 선택 사항이지만 흐름이 작동하려면 필수입니다. 먼저 정의 없이 흐름을 만들도록 선택한 다음 나중에 흐름을 업데이트할 수 있습니다.

nodes 목록의 각 노드에 대해 type 필드에 노드 유형을 지정하고 config 필드에 노드의 해당 구성을 제공합니다. 다양한 노드 유형의 API 구조에 대한 자세한 내용은 프롬프트 흐름의 노드 유형 섹션을 참조하세요.

흐름을 구축하는 데 적용되는 요구 사항은 다음과 같습니다.

  • 흐름에는 흐름 입력 노드가 하나만 있어야 하고, 흐름 출력 노드는 하나 이상 있어야 합니다.

  • 흐름 입력 노드에 대한 입력을 포함할 수 없습니다.

  • 흐름 출력 노드에 대한 출력을 포함할 수 없습니다.

  • 노드의 모든 출력은 다운스트림 노드의 입력에 연결되어야 합니다(API에서 이는 FlowConnectionFlowDataConnectionConfiguration을 통해 수행됨).

  • 조건 노드의 모든 조건(기본 조건 포함)은 다운스트림 노드에 연결되어야 합니다(API에서 이는 FlowConnectionFlowConditionalConnectionConfiguration을 통해 수행됨).

흐름을 구축하는 데 적용되는 포인터는 다음과 같습니다.

  • 흐름 입력 노드의 출력에 대한 데이터 유형을 설정하는 것으로 시작합니다. 이 데이터 유형은 흐름을 간접적으로 호출할 때 입력으로 보내려는 유형과 일치해야 합니다.

  • 표현식을 사용하여 흐름에 대한 입력을 정의할 때 결과가 입력에 대해 선택한 데이터 유형과 일치하는지 확인합니다.

  • 반복기 노드를 포함하는 경우, 필요한 노드를 통해 출력을 전송한 후 다운스트림에 수집기 노드를 포함합니다. 수집기 노드는 출력을 배열로 반환합니다.