AWS는 강력한 생성 AI 서비스를 포함한 아마존 기반암, 조직이 고객 문서에 포함된 지식을 기반으로 답변을 제공하는 AI 채팅 기반 도우미와 같은 맞춤형 사용 사례를 만들 수 있게 해주는 등 많은 것을 제공합니다. 많은 기업이 이러한 최첨단 AI 기능을 Google Chat과 같은 기존 협업 도구와 통합하여 생산성과 의사 결정 프로세스를 개선하고자 합니다.
이 게시물에서는 Amazon Bedrock의 힘을 사용하여 사용자 지정 Google Chat 앱과 같은 AI 기반 비즈니스 어시스턴트를 구현하는 방법을 보여줍니다. 이 솔루션은 대규모 언어 모델(LLM)을 조직의 데이터와 통합하고 대화 맥락을 이해하고 Google Chat 인터페이스 내에서 직접 관련성 있고 대화형 응답을 제공하는 지능형 채팅 어시스턴트를 제공합니다.
이 솔루션은 Google Workspace와 AWS 서비스 간의 격차를 메우는 방법을 보여주며 대화형 AI를 통해 직원 효율성을 향상시키는 실용적인 접근 방식을 제공합니다. 이 아키텍처 패턴을 구현함으로써 Google Workspace를 사용하는 조직은 직원이 다음을 통해 구동되는 획기적인 AI 솔루션에 액세스할 수 있도록 지원할 수 있습니다. Amazon Web Services (AWS)를 사용하여 협업 툴에서 나가지 않고도 정보에 입각한 결정을 내릴 수 있습니다.
다음 예에서 보듯이, 이 솔루션을 사용하면 Google Chat 환경에서 AWS가 제공하는 채팅 도우미와 직접 상호 작용할 수 있습니다.
솔루션 개요
우리는 이 지능형 채팅 도우미를 구축하기 위해 다음과 같은 핵심 서비스를 사용합니다.
- 아마존 기반암 AI21 Labs, Anthropic, Cohere, Meta, Stability AI, Amazon 등 선도적인 AI 기업의 고성능 기반 모델(FM)을 단일 API를 통해 선택할 수 있는 완전 관리형 서비스로, 보안, 개인 정보 보호, 책임 있는 AI를 통해 생성 AI 애플리케이션을 구축할 수 있는 광범위한 기능을 제공합니다.
- AWS 람다서버리스 컴퓨팅 서비스인 를 사용하면 애플리케이션 로직을 처리하고, 요청을 처리하고, Amazon Bedrock과 상호 작용할 수 있습니다.
- 아마존 DynamoDB 대화 전반의 컨텍스트를 유지하기 위해 세션 메모리 데이터를 저장할 수 있습니다.
- 아마존 API 게이트웨이 사용자 정의 Google Chat 앱이 AWS 기반 솔루션과 통신할 수 있는 보안 API 엔드포인트를 만들 수 있습니다.
다음 그림은 솔루션의 상위 수준 디자인을 보여줍니다.
워크 플로우에는 다음 단계가 포함됩니다.
- 이 과정은 사용자가 Google Chat을 통해 직접 메시지나 앱이 설치된 채팅 공간을 통해 메시지를 보내면 시작됩니다.
- HTTP 통합을 위해 구성된 사용자 지정 Google Chat 앱은 API Gateway 엔드포인트에 HTTP 요청을 보냅니다. 이 요청에는 사용자의 메시지와 관련 메타데이터가 포함됩니다.
- 요청을 처리하기 전에 API Gateway와 연관된 Lambda 권한 부여자 함수가 들어오는 메시지를 인증합니다. 이를 통해 사용자 지정 Google Chat 앱의 합법적인 요청만 처리되는지 확인합니다.
- 인증된 후, 요청은 핵심 애플리케이션 로직을 포함하는 다른 Lambda 함수로 전달됩니다. 이 함수는 사용자의 요청을 해석하고 적절한 응답을 공식화하는 역할을 합니다.
- Lambda 함수는 런타임 API를 통해 Amazon Bedrock과 상호 작용합니다. 검색 및 생성 지식 기반에 연결하는 API 또는 교제 Amazon Bedrock에서 사용 가능한 LLM과 직접 채팅할 수 있는 API입니다. 이를 통해 Lambda 함수는 조직의 지식 기반을 검색하고 LLM의 힘을 사용하여 지능적이고 상황에 맞는 응답을 생성할 수도 있습니다. Lambda 함수는 또한 DynamoDB 테이블을 사용하여 사용자와 직접 또는 Google Chat 공간 내에서 대화 기록을 추적합니다.
- Amazon Bedrock에서 생성된 응답을 받은 후 Lambda 함수는 이 답변을 API Gateway를 통해 Google Chat 앱으로 다시 보냅니다.
- 마지막으로, AI가 생성한 응답이 사용자의 Google Chat 인터페이스에 나타나 해당 질문에 대한 답변을 제공합니다.
이 아키텍처는 Google Workspace와 AWS 서비스 간의 원활한 통합을 가능하게 하여 친숙한 Google Chat 환경 내에서 정보 접근성을 강화하는 AI 기반 어시스턴트를 만듭니다. 이 아키텍처를 사용자 지정하여 AWS에서 개발한 다른 솔루션을 Google Chat에 연결할 수 있습니다.
다음 섹션에서는 이 아키텍처를 배포하는 방법을 설명합니다.
사전 조건
이 게시물에 설명된 솔루션을 구현하려면 다음이 필요합니다.
- 최소 20GB의 여유 디스크 공간이 있는 Linux 또는 MacOS 개발 환경. 로컬 머신 또는 클라우드 인스턴스가 될 수 있습니다. 다음을 사용하는 경우 AWS 클라우드9 예를 들어, 당신이 가지고 있는지 확인하십시오 디스크 크기를 늘렸다 20GB까지.
- 이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 AWS 명령 줄 인터페이스 (AWS CLI) 개발 환경에 설치됨. 이 도구를 사용하면 명령줄 명령을 통해 AWS 서비스와 상호 작용할 수 있습니다.
- AWS 계정 및 AWS 자격 증명 및 액세스 관리 (나는) 본관 이 애플리케이션에 필요한 리소스를 만들고 관리할 수 있는 충분한 권한이 있습니다. AWS 계정이 없으면 다음을 참조하세요. 새로운 Amazon Web Services 계정을 생성하고 활성화하려면 어떻게 해야 합니까? 연관된 자격 증명을 사용하여 AWS CLI를 구성하려면 일반적으로 적절한 권한이 있는 지정된 IAM 사용자에 대한 AWS 액세스 키 ID와 비밀 액세스 키를 설정합니다.
- Amazon Bedrock FM에 대한 액세스 요청. 이 게시물에서는 Amazon Bedrock에서 제공되는 Anthropic의 Claude Sonnet 3 또는 Amazon Titan Text G1 Premier를 사용하지만 다른 모델을 선택할 수도 있습니다. Amazon Bedrock 지식 기반에 지원됨.
- 선택적으로, 귀하의 계정에서 생성된 Amazon Bedrock 지식 기반을 사용하면 생성 AI 애플리케이션에 귀하의 문서를 통합할 수 있습니다. 기존 지식 기반이 없는 경우 다음을 참조하십시오. Amazon Bedrock 지식 기반 만들기. 대안으로, 솔루션은 지식 기반 없이 백엔드의 FM에서만 답변을 생성하는 옵션을 제안합니다.
- 사업 또는 기업 Google 작업 공간 접근 권한이 있는 계정 Google 채팅. 또한 청구가 활성화된 Google Cloud 프로젝트가 필요합니다. 기존 프로젝트에서 청구가 활성화되었는지 확인하려면 다음을 참조하세요. 프로젝트의 청구 상태를 확인하세요.
- 개발 환경에 Docker가 설치되어 있어야 합니다.
솔루션 배포
이 게시물에 제시된 응용 프로그램은 첨부된 파일에서 사용 가능합니다. GitHub 저장소 그리고 다음과 같이 제공됩니다. AWS 클라우드 개발 키트 (AWS CDK) 프로젝트. AWS 계정에서 AWS CDK 프로젝트를 배포하려면 다음 단계를 완료하세요.
- 로컬 머신에서 GitHub 저장소를 복제합니다.
- 프로젝트를 빌드하고 배포하는 데 필요한 Python 패키지 종속성을 설치합니다. 이 프로젝트는 표준 Python 프로젝트처럼 설정됩니다. 이 프로젝트 내에 가상 환경을 만들고 다음 아래에 저장하는 것이 좋습니다.
.venv
. MacOS 및 Linux에서 가상 환경을 수동으로 만들려면 다음 명령을 사용하세요.
- 초기화 프로세스가 완료되고 가상 환경이 생성되면 다음 명령을 사용하여 가상 환경을 활성화할 수 있습니다.
- 프로젝트를 빌드하고 배포하는 데 필요한 Python 패키지 종속성을 설치합니다. 루트 디렉토리에서 다음 명령을 실행합니다.
- 실행 cdk 부트스트랩 AWS CDK 애플리케이션을 배포하기 위한 AWS 환경을 준비하는 명령입니다.
- 스크립트 실행
init-script.bash
:
이 스크립트는 다음을 묻습니다.
- Google Chat 앱과 연결할 Amazon Bedrock 지식 기반 ID(필수 조건 섹션 참조). 기존 지식 기반을 사용하지 않기로 결정한 경우 이 항목을 비워 두십시오.
- Amazon Bedrock에서 텍스트 생성을 위해 어떤 LLM을 사용하고 싶은지. 이 솔루션의 경우 다음 중에서 선택할 수 있습니다. 앤트로픽의 클로드 소네트 3 or Amazon Titan Text G1 – 프리미어
다음 스크린샷은 입력 변수를 보여줍니다. init-script.bash
스크립트.
스크립트는 귀하의 계정에 AWS CDK 프로젝트를 배포합니다. 성공적으로 실행되면 매개변수를 출력합니다. ApiEndpoint
, 그 값은 다음을 지정합니다. URL을 호출하다 이 프로젝트의 일부로 배포된 HTTP API 엔드포인트에 대해. 나중에 Google Chat 앱 구성에서 사용하므로 이 매개변수의 값을 기록해 두십시오.
다음 스크린샷은 init-script.bash
스크립트.
이 매개변수는 다음에서도 찾을 수 있습니다. AWS 클라우드 포메이션 콘솔, 스택에 출력 탭.
Google Chat에 새 앱 등록하기
Google Chat에 AWS 기반 채팅 도우미를 통합하려면 사용자 정의를 만듭니다. Google 채팅 앱. Google Chat 앱은 외부 서비스와 리소스를 Google Chat 환경으로 직접 가져오는 확장 프로그램입니다. 이러한 앱은 다이렉트 메시지, 그룹 대화 또는 전용 채팅 공간에 참여할 수 있어 사용자가 채팅 인터페이스를 벗어나지 않고도 정보에 액세스하고 작업을 수행할 수 있습니다.
AI 기반 비즈니스 도우미의 경우, 다음을 사용하는 대화형 맞춤형 Google Chat 앱을 만듭니다. HTTP 통합 방법. 이러한 접근 방식을 통해 앱은 실시간으로 사용자 메시지를 받고 응답할 수 있어 원활한 대화 경험을 제공합니다.
이전 섹션에서 AWS CDK 스택을 배포한 후 다음 단계를 완료하여 Google Cloud 포털에 Google Chat 앱을 등록합니다.
- 열기 Google Cloud 포털 Google 계정으로 로그인합니다.
- "Google Chat API"를 검색하고 Google Chat API 페이지로 이동합니다. 이 페이지에서는 Google Chat 앱을 빌드하여 서비스를 Google Chat과 통합할 수 있습니다.
- Google Chat API를 처음 사용하는 경우 다음을 선택하세요. 활성화. 그렇지 않으면 선택 꾸리다.
- 에 구성 탭, 아래 신청 정보다음 스크린샷에 표시된 대로 다음 정보를 제공합니다.
- 럭셔리 앱 이름, 앱 이름을 입력하세요(예:
bedrock-chat
). - 럭셔리 아바타 URL, 앱의 아바타 이미지에 대한 URL을 입력하세요. 기본적으로 다음을 제공할 수 있습니다. Google 채팅 제품 아이콘.
- 럭셔리 상품 설명, 앱에 대한 설명을 입력하세요(예:
Chat App with Amazon Bedrock
).
- 럭셔리 앱 이름, 앱 이름을 입력하세요(예:
- $XNUMX Million 미만 대화형 기능, 켜다 대화형 기능 활성화.
- $XNUMX Million 미만 기능, 고르다 1:1 메시지 수신 and 공간 및 그룹 대화에 참여하세요다음 스크린 샷에 표시된대로
- $XNUMX Million 미만 연결 설정다음 정보를 제공하십시오.
- 선택 앱 URL.
- 럭셔리 앱 URL, 들어가다 URL을 호출 HTTP API 게이트웨이의 배포 단계와 관련이 있습니다. 이것은
ApiEndpoint
AWS CDK 템플릿 배포의 마지막에 기록한 매개변수입니다. - 럭셔리 인증 대상자, 고르다 앱 URL다음 스크린 샷에 표시된대로
- $XNUMX Million 미만 시정, 고르다 이 채팅 앱을 특정 사람과 그룹에게 제공하세요. 그리고 귀하의 앱을 사용하도록 허가될 개인 및 그룹의 이메일 주소를 제공합니다. 앱에 액세스하려면 최소한 귀하의 이메일을 추가해야 합니다.
- 왼쪽 메뉴에서 찜하기.
다음 애니메이션은 Google Cloud 콘솔에서 이러한 단계를 보여줍니다.
이러한 단계를 완료하면 Google Workspace에서 권한을 부여한 사람 또는 그룹이 Google Chat 콘솔에서 새로운 Amazon Bedrock 채팅 앱에 액세스할 수 있게 됩니다.
이 게시물에 배포된 솔루션에 상호 작용 이벤트를 전송하기 위해 Google Chat은 API Gateway 엔드포인트에 요청을 보냅니다. 이러한 요청의 진위성을 확인하기 위해 Google Chat에는 다음이 포함됩니다. 소지자 토큰 FBI 증오 범죄 보고서 Authorization
엔드포인트에 대한 모든 HTTPS 요청의 헤더입니다. 이 솔루션과 함께 제공되는 Lambda 권한 부여자 함수는 베어러 토큰이 Google Chat에서 발급되었고 Google OAuth 클라이언트 라이브러리를 사용하여 특정 앱을 대상으로 했는지 확인합니다. Lambda 권한 부여자 함수를 추가로 사용자 정의하여 다음을 기반으로 추가 제어 규칙을 구현할 수 있습니다. 사용자 or 스페이스 버튼 Google Chat에서 API Gateway 엔드포인트로의 요청에 포함된 객체입니다. 이를 통해 특정 기능을 특정 사용자에게 제한하거나 특정 채팅 공간에서 앱의 기능을 제한하는 등 액세스 제어를 미세 조정하여 조직의 보안 및 사용자 지정 옵션을 강화할 수 있습니다.
사용자 지정 Google Chat 앱으로 대화하세요
이제 Google Chat 인터페이스에서 새 앱과 대화할 수 있습니다. 앱 구성 중에 승인한 이메일로 Google Chat에 연결하고 앱을 찾아 대화를 시작하세요.
- 왼쪽 메뉴에서 신제품 잡담 채팅 창에서 응용 프로그램 이름을 입력합니다.
bedrock-chat
)을 검색 필드에 입력하세요. - 왼쪽 메뉴에서 잡담 자연어 구문을 입력하여 애플리케이션과 상호작용하세요.
이전에는 Amazon Bedrock 애플리케이션과 직접 채팅하는 사용 시나리오를 보여드렸지만, 다음 데모에서 보듯이 Google 채팅 공간 내에서 애플리케이션을 호출할 수도 있습니다.
솔루션 사용자 지정
이 게시물에서는 Amazon Bedrock을 사용하여 채팅 기반 어시스턴트를 구동했습니다. 그러나 다양한 AWS 서비스를 사용하여 솔루션을 사용자 지정하고 특정 비즈니스 요구 사항에 맞는 솔루션을 만들 수 있습니다.
애플리케이션을 사용자 지정하려면 다음 단계를 완료하세요.
- 파일 편집
lambda/lambda-chat-app/lambda-chatapp-code.py
FBI 증오 범죄 보고서 GitHub의 배포 중에 로컬 머신에 복제한 저장소입니다. - 이 파일에 비즈니스 로직을 구현하세요.
코드는 Lambda 함수에서 실행됩니다. 요청이 처리될 때마다 Lambda는 다음을 실행합니다. lambda_handler
기능:
Google Chat에서 요청을 보내면 lambda_handler
함수는 handle_post
기능.
- 교체해보자
handle_post
다음 코드와 함께 기능 :
- 파일을 저장한 후 터미널에서 다음 명령을 실행하여 새 코드를 배포하세요.
배포에는 약 1분이 걸립니다. 완료되면 Google Chat으로 이동하여 새 비즈니스 로직을 테스트할 수 있습니다. 다음 스크린샷은 채팅 예시를 보여줍니다.
이미지에서 보듯이, 귀하의 함수는 사용자 메시지와 스페이스 이름을 가져옵니다. 이 스페이스 이름을 대화의 고유 ID로 사용할 수 있으며, 이를 통해 기록을 관리할 수 있습니다.
솔루션에 익숙해지면 고급 Amazon Bedrock 기능을 탐색하여 기능을 크게 확장하고 더욱 견고하고 다재다능하게 만들고 싶을 수 있습니다. 통합을 고려하세요. 아마존 베드록 가드레일 애플리케이션 요구 사항 및 책임 있는 AI 정책에 맞게 사용자 정의된 보호 장치를 구현합니다. 또한 함수 호출을 통해 어시스턴트의 기능을 확장하여 회의 일정을 잡거나 워크플로를 시작하는 등 사용자를 대신하여 작업을 수행하는 것도 고려하세요. 또한 다음을 사용할 수 있습니다. Amazon Bedrock Prompt 흐름 직관적인 시각적 빌더를 통해 워크플로의 생성, 테스트 및 배포를 가속화합니다. 보다 고급 상호 작용의 경우 구현을 탐색할 수 있습니다. Amazon Bedrock 에이전트 복잡한 문제에 대해 추론하고, 결정을 내리고, 여러 단계로 구성된 작업을 자율적으로 실행할 수 있습니다.
성능 최적화
이 게시물에서 사용된 서버리스 아키텍처는 즉시 확장 가능한 솔루션을 제공합니다. 사용자 기반이 늘어나거나 특정 성능 요구 사항이 있는 경우 성능을 더욱 최적화하는 방법이 여러 가지 있습니다. 다음을 구현할 수 있습니다. API 캐싱 반복되는 요청을 빠르게 처리하거나 사용 프로비저닝 된 동시성 Lambda 함수의 경우 콜드 스타트를 제거합니다. 더 긴 처리 시간이 필요한 시나리오에서 API Gateway 시간 초과 제한을 극복하려면 다음을 수행할 수 있습니다. API Gateway에서 통합 시간 초과를 늘리세요또는 다음으로 대체할 수 있습니다. 애플리케이션로드 밸런서, 확장된 연결 기간을 허용합니다. 또한 Amazon Bedrock 모델을 미세 조정하여 정확도와 속도의 균형을 맞출 수도 있습니다. 마지막으로, 프로비저닝된 처리량 Amazon Bedrock을 사용하면 고정 비용으로 모델에 대해 더 높은 수준의 처리량을 프로비저닝할 수 있습니다.
정리
이 게시물에서는 Google Chat 환경에서 AWS가 제공하는 채팅 도우미와 직접 상호 작용할 수 있는 솔루션을 배포했습니다. 이 아키텍처는 여러 AWS 서비스에 대한 사용 비용을 발생시킵니다. 먼저 모델 추론과 함께 사용하는 벡터 데이터베이스에 대해 요금이 청구됩니다. Amazon Bedrock 기술 자료. AWS 람다 비용은 요청 수와 컴퓨팅 시간에 따라 결정됩니다. 아마존 DynamoDB 요금은 읽기/쓰기 용량 단위와 사용된 스토리지에 따라 달라집니다. 또한, 아마존 API 게이트웨이 API 호출 수와 데이터 전송에 따라 요금이 부과됩니다. 가격에 대한 자세한 내용은 다음을 참조하세요. 아마존 베드락 가격.
Google 서비스 사용과 관련된 비용이 발생할 수도 있습니다. Google Chat과 관련된 잠재적인 요금에 대한 자세한 내용은 다음을 참조하세요. Google Chat 제품 설명서.
불필요한 비용을 피하려면 이 솔루션 탐색을 마쳤을 때 AWS 환경에서 생성된 리소스를 정리하세요. CDK 파괴 이 게시물에서 이전에 배포된 AWS CDK 스택을 삭제하는 명령입니다. 또는 AWS CloudFormation 콘솔을 열고 배포한 스택을 삭제하세요.
결론
이 게시물에서는 Google Chat을 위한 AI 기반 비즈니스 어시스턴트를 만드는 실용적인 솔루션을 시연했습니다. 이 솔루션은 Amazon Bedrock의 LLM, 애플리케이션 로직을 위한 Lambda, 세션 관리를 위한 DynamoDB, 보안 통신을 위한 API Gateway를 사용하여 Google Workspace를 AWS 호스팅 데이터와 원활하게 통합합니다. 이 솔루션을 구현함으로써 조직은 직원들에게 익숙한 Google Chat 인터페이스 내에서 AI 기반 통찰력과 지식 기반에 직접 액세스할 수 있는 간소화된 방법을 제공하여 다른 애플리케이션이나 플랫폼 간에 전환할 필요 없이 자연어 상호 작용과 데이터 기반 토론을 가능하게 할 수 있습니다.
또한, 다른 AWS 서비스를 사용할 수 있는 맞춤형 비즈니스 로직을 구현하기 위해 애플리케이션을 사용자 지정하는 방법을 보여주었습니다. 이러한 유연성을 통해 어시스턴트의 기능을 특정 요구 사항에 맞게 조정하여 기존 AWS 인프라 및 데이터 소스와 원활하게 통합할 수 있습니다.
AWS는 Amazon Bedrock을 포함하여 조직의 고유한 요구 사항을 충족하기 위해 포괄적인 최첨단 AI 서비스 제품군을 제공합니다. 아마존Q. 이제 AWS 서비스를 Google Chat과 통합하는 방법을 알았으니, 해당 기능을 탐색하고 멋진 애플리케이션을 구축해 보세요!
저자에 관하여
니자르 케이르 AWS의 수석 솔루션 아키텍트로 다양한 산업 부문에서 15년 이상의 경험을 쌓았습니다. 그는 현재 프랑스와 EMEA 전역의 공공 부문 고객과 협력하여 AWS 클라우드의 힘을 활용하여 IT 인프라를 현대화하고 혁신을 촉진하도록 돕고 있습니다.
리오르 페레즈 프랑스 툴루즈에 있는 건설 팀의 Principal Solutions Architect입니다. 그는 빅 데이터, 머신 러닝, 생성 AI를 사용하여 고객의 디지털 전환 여정을 지원하는 것을 좋아합니다. 그는 또한 로봇 공학과 사물 인터넷(IoT)에 개인적으로 열정적이며, 혁신을 위한 기술을 사용하는 새로운 방법을 끊임없이 찾고 있습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/create-a-generative-ai-powered-custom-google-chat-application-using-amazon-bedrock/