본문 바로가기

카테고리 없음

Prompt Management 및 Prompt Flows(미리 보기)를 사용하여 Amazon Bedrock에서 생성 AI 개발

반응형

Prompt Management 및 Prompt Flows(미리 보기)를 사용하여 Amazon Bedrock에서 생성 AI 개발을 간소화합니다.

Antonio Rodriguez  Jared Dean 의 저 | 2024년 7월 10일| Amazon Bedrock , 공지 , 인공지능 , 생성 AI | 영구링크 | 댓글 |  공유하다

오늘, Amazon Bedrock 의 두 가지 강력한 새로운 기능인 Prompt Management와 Prompt Flows를 공개 미리보기로 소개하게 되어 기쁩니다 . 이러한 기능은 생성적 인공 지능(AI) 애플리케이션의 개발, 테스트 및 배포를 가속화하도록 설계되어 개발자와 비즈니스 사용자가 유지 관리하기 쉬운 보다 효율적이고 효과적인 솔루션을 만들 수 있습니다. Prompt Management 및 Flows 기능은 Amazon Bedrock 콘솔이나 Amazon Bedrock Studio에서 그래픽 방식으로 사용하거나 Amazon Bedrock SDK API를 통해 프로그래밍 방식으로 사용할 수 있습니다.

생성적 AI의 도입이 계속 증가함에 따라 많은 조직이 프롬프트를 효율적으로 개발하고 관리하는 데 어려움을 겪습니다. 또한 최신 애플리케이션은 종종 개발에 복잡성을 더하는 체이닝 또는 라우팅 로직을 필요로 합니다. Amazon Bedrock은 프롬프트 관리 및 흐름 기능을 통해 프롬프트를 설계하고 저장하고, 복잡한 워크플로를 만들고, 팀원 간의 협업을 발전시키는 직관적인 도구를 제공하여 이러한 문제점을 해결합니다.

새로운 기능에 대한 세부 사항을 소개하기 전에, 생성 AI 애플리케이션에서 프롬프트가 일반적으로 어떻게 개발, 관리되고 사용되는지 살펴보겠습니다.

프롬프트 라이프사이클

생성적 AI 애플리케이션을 위한 효과적인 프롬프트를 개발하는 것은 신중한 설계, 테스트 및 개선이 필요한 반복적인 프로세스입니다. 이 라이프사이클을 이해하는 것은 고품질의 신뢰할 수 있는 AI 기반 솔루션을 만드는 데 매우 중요합니다. 일반적인 프롬프트 라이프사이클의 핵심 단계를 살펴보겠습니다.

  • 프롬프트 디자인 - 이 초기 단계는 원하는 작업이나 쿼리를 기초 모델에 효과적으로 전달하는 프롬프트를 만드는 것을 포함합니다. 프롬프트는 종종 추론 시간에 제공될 변수, 동적 컨텍스트 또는 기타 콘텐츠를 포함하는 프롬프트 템플릿으로 구축됩니다. 좋은 프롬프트 디자인은 명확성, 구체성 및 컨텍스트와 같은 요소를 고려하여 가장 관련성 있고 정확한 응답을 이끌어냅니다.
  • 테스트 및 평가 – 프롬프트 또는 프롬프트 템플릿은 설계 후 다양한 입력을 사용하여 테스트하여 성능과 견고성을 평가합니다. 이 단계에서는 종종 여러 변형을 비교하여 가장 효과적인 공식을 식별하는 것이 포함됩니다.
  • 정제 – 테스트 결과에 따라 프롬프트는 반복적으로 정제되어 효과성을 개선합니다. 여기에는 종종 문구 조정, 맥락 추가 또는 제거, 프롬프트 구조 수정이 포함됩니다.
  • 버전 관리 및 카탈로그화 – 프롬프트가 개발되고 개선됨에 따라 버전을 유지하고 프롬프트 카탈로그에 구성하는 것이 중요합니다. 이를 통해 팀은 변경 사항을 추적하고, 버전 간 성과를 비교하고, 재사용을 위해 입증된 프롬프트에 액세스할 수 있습니다.
  • 배포 – 프롬프트가 최적화된 후 생성 AI 애플리케이션의 일부로 배포될 수 있습니다. 여기에는 프롬프트를 더 큰 시스템이나 워크플로에 통합하는 것이 포함됩니다.
  • 모니터링 및 반복 – 배포 후 팀은 라이브 애플리케이션에서 프롬프트의 성능을 지속적으로 모니터링하고 효과를 유지하거나 개선하기 위해 반복합니다.

이 라이프사이클 전반에 걸쳐 프롬프트 디자인과 프롬프트 카탈로그는 중요한 역할을 합니다. 잘 디자인된 프롬프트는 AI에서 생성된 응답의 품질과 관련성을 크게 향상시킵니다. 포괄적인 프롬프트 카탈로그는 개발자에게 귀중한 리소스로, 프로젝트 전반에 걸쳐 입증된 프롬프트와 모범 사례를 사용하여 시간과 비용을 모두 절약할 수 있습니다.

더 복잡한 생성 AI 애플리케이션의 경우 개발자는 종종 프롬프트 체이닝 이나 프롬프트 라우팅 과 같은 패턴을 사용합니다 . 이러한 접근 방식은 보다 정교한 논리와 동적 워크플로(종종 프롬프트 흐름 이라고 함)의 정의를 허용합니다 .

프롬프트 체이닝은 한 프롬프트의 출력을 다른 프롬프트의 입력으로 사용하여 더 복잡한 작업을 수행하기 위해 기반 모델(FM)과의 일련의 상호 작용이 생성됩니다. 예를 들어, 고객 서비스 챗봇은 처음에 FM을 사용하여 고객과 해당 문제에 대한 주요 정보를 추출한 다음, 지원 티켓을 여는 함수를 호출하기 위한 입력으로 세부 정보를 전달할 수 있습니다. 다음 다이어그램은 이 워크플로를 보여줍니다.

프롬프트 라우팅은 특정 조건이나 입력의 특성에 따라 다양한 프롬프트를 동적으로 선택하고 적용하는 프로세스를 말하며, 이를 통해 더욱 유연하고 상황에 맞는 AI 애플리케이션을 구현할 수 있습니다. 예를 들어, 은행 직원에게 사용자 요청을 하면 사용 가능한 신용카드 세부 정보에 대해 질문할 때 Retrieval Augmented Generation(RAG)을 사용하여 답변을 찾는 것이 가장 좋은지 또는 사용자가 계좌 잔액에 대해 질문할 때 쿼리를 실행하는 함수를 호출하는 것이 가장 좋은지 동적으로 결정할 수 있습니다. 다음 다이어그램은 이 워크플로를 보여줍니다.

이 두 패턴을 결합하는 것은 현대적 생성 AI 애플리케이션 개발에서 일반적입니다. 프롬핑 라이프사이클의 각 단계를 이해하고 최적화하고 체이닝 및 라우팅과 같은 기술을 사용하면 더 강력하고 효율적이며 효과적인 생성 AI 솔루션을 만들 수 있습니다.

Amazon Bedrock의 새로운 기능을 자세히 살펴보고 이 기능이 생성적 AI 개발 프로세스를 혁신하는 데 어떻게 도움이 될 수 있는지 알아보겠습니다.

신속한 관리: AI 상호작용을 최적화하세요

프롬프트 관리 기능은 프롬프트의 생성, 평가, 배포 및 공유를 간소화합니다. 이 기능은 개발자와 비즈니스 사용자가 특정 사용 사례에 대해 FM으로부터 최상의 응답을 얻는 데 도움이 됩니다.

신속한 관리의 주요 이점은 다음과 같습니다.

  • 신속한 프롬프트 생성 및 반복 – Amazon Bedrock 콘솔의 기본 제공 프롬프트 빌더를 사용하거나 CreatePrompt프롬프트 템플릿을 구축하기 위한 입력을 사용하여 동적 정보를 통합하여 프롬프트와 변형을 만듭니다.
  • 원활한 테스트 및 배포GetPrompt – 개별 프롬프트를 빠르게 테스트하고 변수와 해당 테스트 값을 설정합니다. Amazon Bedrock 콘솔이나 , ListPrompts, 및 를 사용하여 카탈로그화 및 관리를 위해 내장된 프롬프트 라이브러리에 저장된 프롬프트 버전을 만듭니다.CreatePromptVersion
  • 협업적 프롬프트 개발 – 플로우 또는 Amazon Bedrock Studio에서 프롬프트와 프롬프트 템플릿을 사용합니다. 프롬프트 관리를 통해 팀원은 프롬프트 생성, 평가 및 배포에 협업하여 개발 프로세스의 효율성을 개선할 수 있습니다.

Amazon Bedrock 콘솔에 대한 액세스 외에 Prompt Management 기능을 사용하기 위한 전제 조건은 없습니다. 지원되는 AWS 지역 및 모델에 대한 정보는 Amazon Bedrock의 Prompt management를 참조하십시오 . 현재 Amazon Bedrock 콘솔에 대한 액세스 권한이 없는 경우 Amazon Bedrock 설정을 참조하십시오 .

Amazon Bedrock 콘솔에서 프롬프트 관리 기능을 시작하려면 다음 단계를 완료하세요.

  1. Amazon Bedrock 콘솔의 탐색 창에 있는 Builder 도구 에서 프롬프트 관리를 선택합니다 .
  1. 새로운 프롬프트를 만들거나 프롬프트 라이브러리에서 기존 프롬프트를 선택합니다.
  1. 프롬프트 작성기를 사용하여 모델을 선택하고, 매개변수를 설정하고, 프롬프트 내용을 작성합니다.
  1. 프롬프트 템플릿을 만들기 위한 변수를 구성하고 프롬프트를 동적으로 테스트합니다.
  1. 생성 AI 흐름에 사용할 프롬프트 버전을 만들고 관리합니다.

프롬프트 흐름: AI 워크플로를 시각화하고 가속화하세요

Amazon Bedrock Flows 기능은 복잡한 생성 AI 워크플로우의 생성을 간소화하는 시각적 빌더를 도입합니다. 이 기능을 사용하면 여러 FM, 프롬프트 및 기타 AWS 서비스를 연결하여 개발 시간과 노력을 줄일 수 있습니다.

신속한 흐름의 주요 이점은 다음과 같습니다.

  • 직관적인 시각적 빌더 - 드래그 앤 드롭 구성 요소를 사용하여 흐름을 만들고, 프롬프트를 다른 프롬프트, AI 서비스, 지식 기반 및 비즈니스 로직과 연결합니다. 이 시각적 접근 방식은 광범위한 코딩의 필요성을 없애고 애플리케이션 구조에 대한 포괄적인 개요를 제공합니다. 또는 API를 사용하여 CreateFlow프로세스 및 개발 파이프라인을 자동화하는 데 도움이 되는 흐름을 프로그래밍 방식으로 생성할 수 있습니다.
  • 빠른 테스트 및 배포 – Amazon Bedrock 콘솔에서 직접 흐름을 테스트하여 더 빠른 반복을 수행하거나 InvokeFlow언제든지 생성 AI 애플리케이션에 통합하기 위해 흐름을 스냅샷할 수 있습니다. 흐름은 Amazon Bedrock 런타임 엔드포인트 용 에이전트를CreateFlowVersion 통해 표면화됩니다. Amazon Bedrock 콘솔이나 API를 사용하여 흐름 버전을 만들 수 있습니다. Amazon Bedrock 콘솔이나 API를 사용하여 별칭을 만들면 CreateFlowAlias서비스나 개발 파이프라인에 영향을 주지 않고 흐름의 다른 버전 간에 간단한 롤백 및 A/B 테스트가 가능합니다.
  • 관리 및 템플릿화 – 반복되는 일반적인 사용 사례에 대한 흐름 템플릿으로 개발을 가속화하세요. Amazon Bedrock 콘솔이나 GetFlow및ListFlows

계정에서 시작하기 전에 Amazon Bedrock의 Flows 작동 방식을 참조하여 필요한 권한과 할당량에 대한 자세한 내용을 확인하세요. 준비가 되면 다음 단계를 완료하여 Amazon Bedrock 콘솔에서 Flows를 시작하세요.

  1. Amazon Bedrock 콘솔의 탐색 창에 있는 Builder 도구 에서 Flows를 선택합니다 .
  2. 이름, 설명, AWS Identity and Access Management (IAM) 역할을 제공하여 흐름을 만듭니다.
  3. 작업 흐름의 초안에서 시각적 빌더에 액세스하세요.
  4. 프롬프트 카탈로그에서 프롬프트 템플릿을 포함하여 개별 구성 요소 또는 노드를 끌어서 놓고 서로 연결합니다. 각 노드의 속성을 편집하고 Amazon Bedrock에서 사용 가능한 다른 요소를 사용할 수 있습니다.
  5. 사용 가능한 노드를 사용하여 조건, AWS Lambda 함수와의 코드 후크 또는 Amazon Lex 와 같은 AI 서비스와의 통합을 구현할 수 있으며, 곧 추가될 다른 많은 옵션도 있습니다. 단계를 체인화하거나 라우팅하여 고유한 논리와 처리 출력을 정의할 수 있습니다.
  6. 프롬프트 흐름을 동적으로 테스트하고 생성적 AI 애플리케이션을 배포하기 위한 출력을 설정합니다.

우리의 예에서, 우리는 사용자 질문을 Amazon Bedrock의 지식 기반에 쿼리하거나 LLM에서 직접 응답하도록 동적으로 라우팅하기 위한 흐름을 만듭니다. 이제 우리는 애플리케이션 프런트엔드에서 이 흐름을 호출할 수 있습니다.

예시 사용 사례: 전자상거래 고객 서비스 챗봇 최적화

이러한 새로운 기능의 힘을 보여주기 위해, 다양한 제품 범주에 대한 AI 기반 고객 서비스 챗봇을 효율적으로 만들고, 테스트하고, 배포하는 과제에 직면한 가상의 대형 전자상거래 회사인 Octank를 고려해 보겠습니다. 이로 인해 일관되지 않은 성능과 느린 반복 주기가 발생했습니다.

다음 노트북 에서는 프롬프트 관리와 프롬프트 흐름을 프로그래밍 방식으로 시작하는 데 도움이 되는 안내 예제를 제공합니다.

Amazon Bedrock의 신속한 관리 및 흐름을 사용하여 Octank의 개발 및 신속한 엔지니어링 팀은 이제 다음을 달성할 수 있습니다.

  • 필요에 따라 다양한 FM 및 AI 서비스를 통합하여 각 제품 카테고리 챗봇에 대한 시각적 및 프로그래밍 워크플로를 만듭니다.
  • 각 챗봇에 대한 프롬프트 변형을 빠르게 프로토타입화하고 테스트하여 정확도와 관련성을 최적화합니다.
  • 여러 팀 간에 협업하여 프롬프트를 개선하고 모범 사례를 공유합니다.
  • 가장 효과적인 구성을 식별하기 위해 다양한 챗봇 버전을 배포하고 A/B 테스트를 실시합니다.

그 결과, Octank는 개발 시간을 크게 단축하고, 챗봇 응답 품질을 개선했으며, 아티팩트 재사용을 늘려 제품군 전체에서 보다 일관된 성능을 달성했습니다.

결론

Amazon Bedrock의 새로운 Prompt Management 및 Flows 기능은 생성적 AI 개발에서 큰 도약을 나타냅니다. 워크플로 생성, 프롬프트 관리 및 팀 협업을 간소화함으로써 이러한 도구는 더 빠른 출시 시간과 더 높은 품질의 AI 기반 솔루션을 가능하게 합니다.

미리보기에서 이러한 새로운 기능을 탐색하고 생성 AI 개발 프로세스를 어떻게 개선할 수 있는지 직접 경험해 보세요. 시작하려면 Amazon Bedrock 콘솔을 열거나 Amazon Bedrock SDK 에서 새로운 API를 발견 하고 오늘 바로 프롬프트와 흐름을 만들기 시작하세요.

이러한 새로운 기능으로 여러분이 구축할 혁신적인 애플리케이션을 보고 싶습니다. 언제나 그렇듯이 Amazon Bedrock의 AWS re:Post 또는 평소 AWS 연락처를 통해 여러분의 피드백을 환영합니다. community.aws 에서 생성적 AI 빌더 커뮤니티에 가입하여 경험을 공유하고 다른 사람들로부터 배우세요.

Amazon Bedrock을 지속적으로 개선하고 차세대 AI 기반 애플리케이션을 구축할 수 있도록 지원함에 따라 더 많은 업데이트를 기대해 주세요!

자세한 내용은 Amazon Bedrock의 신속한 관리  신속한 흐름에 대한 설명서를 참조하세요 .


저자 소개

Antonio Rodriguez 는 AWS의 Sr. Generative AI Specialist Solutions Architect입니다. 그는 모든 규모의 회사가 Amazon Bedrock을 통해 과제를 해결하고 혁신을 수용하며 새로운 사업 기회를 창출하도록 돕습니다. 그는 일 외에도 가족과 시간을 보내고 친구들과 스포츠를 즐기는 것을 좋아합니다.

Jared Dean 은 AWS의 수석 AI/ML 솔루션 아키텍트입니다. Jared는 업계 전반의 고객과 협력하여 효율성을 개선하는 머신 러닝 애플리케이션을 개발합니다. 그는 AI, 기술, BBQ에 관심이 있습니다.

반응형