기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Bedrock 및 Amazon Transcribe를 사용하여 음성 입력을 통해 기관 지식을 문서화하십시오.
제작: 프라빈 쿠마르 제야라잔 (AWS), 준둥 차오 (AWS), 메간 우 (AWS), 라지브 우파디야 (AWS)
코드 리포지토리: genai-knowledge-capture | 환경: PoC 또는 파일럿 | 기술: 머신 러닝 및 AI, 비즈니스 생산성, 클라우드 네이티브 |
AWS 서비스: 아마존 베드락, AWS CDK, AWS Lambda, 아마존 SNS, AWS Step Functions, Amazon Transcribe |
요약
기관 지식을 확보하는 것은 조직의 성공과 탄력성을 보장하는 데 가장 중요합니다. 제도적 지식은 직원들이 시간이 지나면서 축적된 집단적 지혜, 통찰력, 경험을 나타내며, 대개 암묵적이다가 비공식적으로 전달됩니다. 이 풍부한 정보에는 다른 곳에서는 문서화되지 않은 복잡한 문제에 대한 고유한 접근 방식, 모범 사례 및 솔루션이 포함됩니다. 이러한 지식을 공식화하고 문서화함으로써 기업은 제도적 기억을 보존하고 혁신을 촉진하며 의사 결정 프로세스를 개선하고 신입 사원의 학습 곡선을 가속화할 수 있습니다. 또한 협업을 촉진하고 개인의 역량을 강화하며 지속적인 개선 문화를 조성합니다. 궁극적으로 제도적 지식을 활용하면 기업이 가장 중요한 자산인 인력의 집단 지성을 활용하여 역동적인 비즈니스 환경에서 문제를 해결하고 성장을 촉진하며 경쟁 우위를 유지할 수 있습니다.
이 패턴은 고위 직원의 음성 녹음을 통해 기관 지식을 캡처하는 방법을 설명합니다. 체계적인 문서화 및 검증을 위해 Amazon Transcribe와 Amazon Bedrock을 사용합니다. 이러한 비공식 지식을 문서화하면 이를 보존하고 후속 직원 집단과 공유할 수 있습니다. 이러한 노력은 직접적인 경험을 통해 습득한 실용적인 지식을 통합함으로써 운영 우수성을 지원하고 교육 프로그램의 효과를 향상시킵니다.
사전 조건 및 제한 사항
사전 조건
제한 사항
이 솔루션은 단일 AWS 계정에 배포됩니다.
이 솔루션은 Amazon Bedrock과 Amazon Transcribe를 사용할 수 있는 AWS 지역에만 배포할 수 있습니다. 가용성에 대한 자세한 내용은 Amazon Bedrock 및 Amazon Transcribe 설명서를 참조하십시오.
오디오 파일은 Amazon Transcribe에서 지원하는 형식이어야 합니다. 지원되는 형식 목록은 Transcribe 설명서의 미디어 형식을 참조하십시오.
제품 버전
파이썬용 AWS SDK (Boto3) 버전 1.34.57 이상
LangChain 버전 0.1.12 이상
아키텍처
아키텍처는 AWS의 서버리스 워크플로를 나타냅니다. AWS Step Functions는 오디오 처리, 텍스트 분석 및 문서 생성을 위해 Lambda 함수를 오케스트레이션합니다. 다음 다이어그램은 스테이트 머신이라고도 하는 Step Functions 워크플로를 보여줍니다.
![문서를 생성하는 Step Functions 스테이트 머신의 아키텍처 다이어그램](images/pattern-img/f1e0106d-b046-4adc-9718-c299efb7b436/images/e90298ca-1b7f-4c3e-97bd-311a9d5a4997.png)
상태 머신의 각 단계는 고유한 Lambda 함수에 의해 처리됩니다. 문서 생성 프로세스의 단계는 다음과 같습니다.
preprocess
Lambda 함수는 Step Functions에 전달된 입력의 유효성을 검사하고 제공된 Amazon S3 URI 폴더 경로에 있는 모든 오디오 파일을 나열합니다. 워크플로의 다운스트림 Lambda 함수는 파일 목록을 사용하여 문서를 검증, 요약 및 생성합니다.transcribe
Lambda 함수는 Amazon Transcribe를 사용하여 오디오 파일을 텍스트 스크립트로 변환합니다. 이 Lambda 함수는 트랜스크립션 프로세스를 시작하고 음성을 텍스트로 정확하게 변환한 다음 후속 처리를 위해 저장합니다.validate
Lambda 함수는 텍스트 스크립트를 분석하여 초기 질문에 대한 응답의 관련성을 결정합니다. Amazon Bedrock을 통해 대규모 언어 모델 (LLM) 을 사용하여 주제 관련 답변과 주제 외 응답을 식별하고 구분합니다.summarize
Lambda 함수는 Amazon Bedrock을 사용하여 주제별 답변에 대한 일관되고 간결한 요약을 생성합니다.generate
Lambda 함수는 요약을 잘 구성된 문서로 조합합니다. 사전 정의된 템플릿에 따라 문서 형식을 지정하고 필요한 추가 콘텐츠 또는 데이터를 포함할 수 있습니다.Lambda 함수 중 하나라도 실패하면 Amazon Simple Notification Service (Amazon SNS) 를 통해 이메일 알림을 받게 됩니다.
이 프로세스 전반에 걸쳐 AWS Step Functions는 각 Lambda 함수가 올바른 순서로 시작되도록 합니다. 이 스테이트 머신은 효율성을 높이기 위한 병렬 처리 기능을 갖추고 있습니다. Amazon S3 버킷은 중앙 스토리지 리포지토리 역할을 하며, 관련된 다양한 미디어 및 문서 형식을 관리하여 워크플로를 지원합니다.
도구
서비스
Amazon Bedrock은 선도적인 AI 스타트업과 Amazon의 고성능 기초 모델 (FM) 을 통합 API를 통해 사용할 수 있게 해주는 완전관리형 서비스입니다.
AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.
Amazon Simple Notification Service(Amazon SNS)를 사용하면 웹 서버 및 이메일 주소를 포함하여 게시자와 클라이언트 간의 메시지 교환을 조정하고 관리할 수 있습니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
AWS Step Functions는 AWS Lambda 함수와 기타 AWS 서비스를 결합할 수 있는 서버리스 오케스트레이션 서비스로, 비즈니스 크리티컬 애플리케이션을 구축합니다.
Amazon Transcribe는 기계 학습 모델을 사용하여 오디오를 텍스트로 변환하는 자동 음성 인식 서비스입니다.
기타 도구
LangChain
대규모 언어 모델 (LLM) 을 기반으로 하는 애플리케이션을 개발하기 위한 프레임워크입니다.
코드 리포지토리
이 패턴의 코드는 GitHub genai-knowledge-capture
코드 리포지토리에는 다음 파일과 폴더가 포함되어 있습니다.
assets
폴더 - 솔루션의 정적 자산 (예: 아키텍처 다이어그램, 공개 데이터세트)code/lambdas
폴더 — 모든 Lambda 함수의 Python 코드code/lambdas/generate
folder - S3 버킷의 요약 데이터로부터 문서를 생성하는 Python 코드code/lambdas/preprocess
folder - Step Functions 스테이트 머신의 입력을 처리하는 Python 코드code/lambdas/summarize
폴더 - Amazon Bedrock 서비스를 사용하여 트랜스크립션된 데이터를 요약하는 Python 코드입니다.code/lambdas/transcribe
폴더 - Amazon Transcribe를 사용하여 음성 데이터 (오디오 파일) 를 텍스트로 변환하는 Python 코드code/lambdas/validate
folder - 모든 답변이 동일한 주제와 관련이 있는지 확인하는 Python 코드
code/code_stack.py
— AWS 리소스를 생성하는 데 사용되는 AWS CDK 구성 Python 파일app.py
— 대상 AWS 계정에 AWS 리소스를 배포하는 데 사용되는 AWS CDK 앱 Python 파일requirements.txt
— AWS CDK에 설치해야 하는 모든 Python 종속성 목록cdk.json
— 리소스를 생성하는 데 필요한 값을 제공하는 입력 파일
모범 사례
제공된 코드 예제는 proof-of-concept (PoC) 또는 파일럿 용도로만 사용됩니다. 솔루션을 프로덕션에 적용하려면 다음 모범 사례를 사용하십시오.
Amazon S3 액세스 로깅 활성화
VPC 흐름 로그 활성화
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
계정 및 AWS 리전에 대한 내보내기 변수. | 환경 변수를 사용하여 AWS CDK에 대한 AWS 자격 증명을 제공하려면 다음 명령을 실행합니다.
| AWS DevOps, DevOps 엔지니어 |
AWS CLI 명명된 프로파일을 설정합니다. | 계정에 대해 AWS CLI 명명된 프로필을 설정하려면 구성 및 자격 증명 파일 설정의 지침을 따르십시오. | AWS DevOps, DevOps 엔지니어 |
작업 | 설명 | 필요한 기술 |
---|---|---|
리포지토리를 로컬 워크스테이션에 복제합니다. | genai-knowledge-capture
| AWS DevOps, DevOps 엔지니어 |
(선택 사항) 오디오 파일을 교체합니다. | 자체 데이터를 통합하도록 샘플 애플리케이션을 사용자 지정하려면 다음과 같이 하십시오.
| AWS DevOps, DevOps 엔지니어 |
Python 가상 환경을 설정합니다. | 다음 명령을 실행하여 Python 가상 환경을 설정합니다.
| AWS DevOps, DevOps 엔지니어 |
AWS CDK 코드를 합성하십시오. | 코드를 AWS CloudFormation stack 구성으로 변환하려면 다음 명령을 실행합니다.
| AWS DevOps, DevOps 엔지니어 |
작업 | 설명 | 필요한 기술 |
---|---|---|
기초 모델 액세스를 제공합니다. | AWS 계정의 앤트로픽 클로드 3 소넷 모델에 대한 액세스를 활성화하십시오. 지침은 Bedrock 설명서의 모델 액세스 추가를 참조하십시오. | AWS DevOps |
계정에 리소스를 배포하십시오. | AWS CDK를 사용하여 AWS 계정에 리소스를 배포하려면 다음과 같이 하십시오.
| AWS DevOps, DevOps 엔지니어 |
Amazon SNS 주제를 구독하세요. | 알림을 받기 위해 Amazon SNS 주제를 구독하려면 다음과 같이 하십시오.
| 일반 AWS |
작업 | 설명 | 필요한 기술 |
---|---|---|
상태 머신을 실행합니다. |
| 앱 개발자, 일반 AWS |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS 리소스를 제거합니다. | 솔루션을 테스트한 후 리소스를 정리하세요.
| AWS DevOps, DevOps 엔지니어 |
관련 리소스
AWS 설명서
아마존 베드락 리소스:
AWS CDK 리소스:
AWS Step Functions 리소스:
기타 리소스