å€ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ãããŸããŸãªã¢ããªãã£ãéããŠå©çšã§ããã³ã³ãã³ããšã€ã³ã¿ã©ã¯ã·ã§ã³ããå¿
èŠããããŸãããããã®ã¢ããªã±ãŒã·ã§ã³ã®äžéšã¯ãä¿éºéè«æ±ãå»çè²»è«æ±æžãªã©ã®è€éãªããã¥ã¡ã³ããåŠçããŸããã¢ãã€ã«ã¢ããªã¯ããŠãŒã¶ãŒãäœæããã¡ãã£ã¢ãåæããå¿
èŠããããŸããçµç¹ã¯ãããã¥ã¡ã³ããç»åãé³å£°ãåç»ãã¡ã€ã«ãªã©ã®ããžã¿ã«ã¢ã»ããã®äžã«ã»ãã³ãã£ãã¯ã€ã³ããã¯ã¹ãæ§ç¯ããå¿
èŠããããŸããããããéæ§é åãã«ãã¢ãŒãã«ã³ã³ãã³ãããã€ã³ãµã€ããååŸããããã»ããã¢ããããã®ã¯ç°¡åã§ã¯ãããŸãããããŸããŸãªããŒã¿åœ¢åŒçšã®åŠçãã€ãã©ã€ã³ãå®è£
ããå¿
èŠãªæ
å ±ãååŸããããã«è€æ°ã®ã¹ããããå®è¡ããå¿
èŠããããŸããããã¯éåžžãè€æ°ã®ã¢ãã«ãæ¬çªã§äœ¿çšãã(ãã¡ã€ã³ãã¥ãŒãã³ã°ãããã³ãããšã³ãžãã¢ãªã³ã°ãéãã) ãã®ã³ã¹ãã®æé©åãå®å
šç (äŸ: ãã«ã·ããŒã·ã§ã³ãžã®å¯Ÿç)ãã¿ãŒã²ããã¢ããªã±ãŒã·ã§ã³ãšã®çµ±å (ããŒã¿åœ¢åŒãå«ã)ãã¢ãã«ã®æŽæ°ã«å¯Ÿå¿ããå¿
èŠãããããšãæå³ããŸãã ãã®ããã»ã¹ã容æã«ããããã«ã Amazon Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ ã®ãã¬ãã¥ãŒã AWS re:Invent ã®æéäžã«å°å
¥ããŸãã ãããã¯ãããã¥ã¡ã³ããç»åãé³å£°ãåç»ãªã©ã®éæ§é åãã«ãã¢ãŒãã«ã³ã³ãã³ãããã®äŸ¡å€ããã€ã³ãµã€ãã®çæãå¹çåãã Amazon Bedrock ã®æ©èœã§ããBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãå©çšãããšãã€ã³ããªãžã§ã³ããªããã¥ã¡ã³ãåŠçãã¡ãã£ã¢åæãããã³ä»ã®ããŒã¿äžå¿ã®ãã«ãã¢ãŒãã«ãªãŒãã¡ãŒã·ã§ã³ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããããã®éçºæéãšåŽåãåæžã§ããŸãã Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãã¹ã¿ã³ãã¢ãã³æ©èœãšããŠäœ¿çšãããã Amazon Bedrock ã®ãã¬ããžããŒã¹ ã®ããŒãµãŒãšããŠäœ¿çšãããããŠããã«ãã¢ãŒãã«ã³ã³ãã³ãããåŸãã€ã³ãµã€ããã€ã³ããã¯ã¹åãã æ€çŽ¢æ¡åŒµçæ (RAG) ã®ããã«ããé¢é£æ§ã®é«ãå¿çãæäŸã§ããŸãã æ¬æ¥ãBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã¯ãã¯ãã¹ãªãŒãžã§ã³æšè«ãšã³ããã€ã³ãã®ãµããŒããšãšãã«äžè¬æäŸãéå§ãããããå€ãã® AWS ãªãŒãžã§ã³ ã§å©çšã§ããããã«ãªããããŸããŸãªå Žæã§ã·ãŒã ã¬ã¹ã«ã³ã³ãã¥ãŒãã£ã³ã°ã䜿çšããããã«ãªããŸããããã¬ãã¥ãŒæéäžã®ãã£ãŒãããã¯ã«åºã¥ããŠã粟床ãé«ããç»åãåç»ã®ããŽèªèã®ãµããŒãã远å ããŸããã å®éã«ã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã Amazon Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãšã¯ãã¹ãªãŒãžã§ã³æšè«ãšã³ããã€ã³ãã®äœµçš Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãã¬ãã¥ãŒã«ã€ããŠã®å
¬éããã°èšäº ã«ã¯ã Amazon Bedrock ã³ã³ãœãŒã« ã§ããžã¥ã¢ã«ãã¢ã䜿çšããŠããã¥ã¡ã³ããåç»ããæ
å ±ãæœåºããæ¹æ³ãèšèŒãããŠããŸãããã®æ©èœãã©ã®ããã«åäœããã«ã¹ã¿ãã€ãºããããã«äœãã§ããã®ããçè§£ããããã«ãã³ã³ãœãŒã«ã®ãã¢ãšã¯ã¹ããªãšã³ã¹ãã詊ãããã ãããšããå§ãããŸãããã®èšäºã§ã¯ãã³ã³ãœãŒã«ã§ã®ããã€ãã®ã¹ãããããå§ããŠãã³ãŒããµã³ãã«ã«åŸããªãããã¢ããªã±ãŒã·ã§ã³ã§ã® Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã®åäœã«çŠç¹ãåœãŠãŸãã Amazon Bedrock ã³ã³ãœãŒã« ã® [ããŒã¿ãªãŒãã¡ãŒã·ã§ã³] ã»ã¯ã·ã§ã³ã§ã¯ãåããŠã¢ã¯ã»ã¹ãããšãã«ãã¯ãã¹ãªãŒãžã§ã³ãµããŒããæå¹ã«ãããã©ããã®ç¢ºèªãæ±ããããããã«ãªããŸãããäŸ: API ã®èгç¹ããèŠããšã InvokeDataAutomationAsync ãªãã¬ãŒã·ã§ã³ã§ã¯ã䜿çšããããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãããã¡ã€ã«ãæå®ããããã«ã远å ã®ãã©ã¡ãŒã¿ ( dataAutomationProfileArn ) ã å¿
èŠ ã«ãªããŸããããã®ãã©ã¡ãŒã¿ã®å€ã¯ããªãŒãžã§ã³ãš AWS ã¢ã«ãŠã³ã ID ã«ãã£ãŠç°ãªããŸã: arn:aws:bedrock:<REGION>:<ACCOUNT_ID>:data-automation-profile/us.data-automation-v1 ãŸãã dataAutomationArn ãã©ã¡ãŒã¿ã®ååã dataAutomationProjectArn ã«å€æŽããããããžã§ã¯ãã® Amazon ãªãœãŒã¹ããŒã (ARN) ãå«ãŸããŠããããšãããæç¢ºã«ç€ºãããã«ãªããŸãããBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãåŒã³åºãéã«ã䜿çšãããããžã§ã¯ããŸãã¯ãã«ãŒããªã³ããæå®ããªããã°ãªããªããªããŸããããã«ãŒããªã³ããæž¡ããšãã«ã¹ã¿ã åºåãåŸãããŸããåŒãç¶ãæšæºã®ããã©ã«ãåºåãååŸããã«ã¯ã arn:aws:bedrock:<REGION>:aws:data-automation-project/public-default ã䜿çšããããã«ãã©ã¡ãŒã¿ DataAutomationProjectArn ãèšå®ããŸãã ååã瀺ãããã«ã InvokeDataAutomationAsync ãªãã¬ãŒã·ã§ã³ã¯éåæã§ããå
¥åãšåºåã®èšå®ãæž¡ããåŸãçµæã®æºåãã§ããããåºåèšå®ã§æå®ããã Amazon Simple Storage Service (Amazon S3) ãã±ããã«æžã蟌ãŸããŸãã notificationConfiguration ãã©ã¡ãŒã¿ã䜿çšããŠãBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãã Amazon EventBridge ã®éç¥ãåãåãããšãã§ããŸãã Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã§ã¯ã2 ã€ã®æ¹æ³ã§åºåãèšå®ã§ããŸã: [æšæºåºå] ã¯ãããã¥ã¡ã³ãã®ã»ãã³ãã£ã¯ã¹ãåç»ã®ç« ã®æŠèŠãé³å£°ãã©ã³ã¹ã¯ãªãããªã©ãããŒã¿ã¿ã€ãã«é¢é£ããäºåå®çŸ©æžã¿ã®ã€ã³ãµã€ããæäŸããŸããæšæºåºåã䜿çšãããšããããæ°ã¹ãããã§å¿
èŠãªã€ã³ãµã€ããã»ããã¢ããã§ããŸãã [ã«ã¹ã¿ã åºå] ã䜿çšãããšããã«ãŒããªã³ãã䜿çšããŠæœåºã®ããŒãºãæå®ããããã«ã¹ã¿ãã€ãºãããã€ã³ãµã€ããåŸãããšãã§ããŸãã æ°ããæ©èœãå®éã«åäœããŠããæ§åãèŠãããã«ããããžã§ã¯ããäœæããæšæºåºåèšå®ãã«ã¹ã¿ãã€ãºããŸããããã¥ã¡ã³ãã§ã¯ãããŒã¯ããŠã³ã§ã¯ãªãããã¬ãŒã³ããã¹ããéžæããŸãããªãããããã®èšå®ã¹ãããã¯ãBedrock Data Automation API ã䜿çšããŠèªååã§ããŸãã åç»ã§ã¯ãå®å
šãªé³å£°ãã©ã³ã¹ã¯ãªãããšåç»å
šäœã®èŠçŽãå¿
èŠã§ãããŸããåç« ã®èŠçŽãèŠæ±ããŸãã ãã«ãŒããªã³ããèšå®ããã«ã¯ãAmazon Bedrock ã³ã³ãœãŒã«ã®ããã²ãŒã·ã§ã³ãã€ã³ã® [ããŒã¿ãªãŒãã¡ãŒã·ã§ã³] ã»ã¯ã·ã§ã³ã§ [ã«ã¹ã¿ã åºåèšå®] ãéžæããŸããããã§ã [US-Driver-License] ãµã³ãã«ãã«ãŒããªã³ããæ€çŽ¢ããŸããããå€ãã®äŸãã¢ã€ãã¢ãåŸãããã«ãä»ã®ãµã³ãã«ãã«ãŒããªã³ããåç
§ã§ããŸãã ãµã³ãã«ãã«ãŒããªã³ãã¯ç·šéã§ããªãããã [ã¢ã¯ã·ã§ã³] ã¡ãã¥ãŒã䜿çšããŠãã«ãŒããªã³ããè€è£œãããããžã§ã¯ãã«è¿œå ããŸããããã§ããã«ãŒããªã³ãã倿Žãã çæ AI ã䜿çšããŠå¿
èŠãªåœ¢åŒã§ããŒã¿ãæœåºãŸãã¯èšç®ã§ããã«ã¹ã¿ã ãã£ãŒã«ãã远å ããããšã§ãæœåºããããŒã¿ããã¡ã€ã³ãã¥ãŒãã³ã°ã§ããŸãã ç±³åœã®é転å
蚱蚌ã®ç»åã S3 ãã±ããã«ã¢ããããŒãããŸãããã®åŸã AWS SDK for Python (Boto3) ãéã㊠Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãå©çšãããã®ãµã³ãã« Python ã¹ã¯ãªããã䜿çšããŠãç»åããããã¹ãæ
å ±ãæœåºããŸã: import json import sys import time import boto3 DEBUG = False AWS_REGION = '<REGION>' BUCKET_NAME = '<BUCKET>' INPUT_PATH = 'BDA/Input' OUTPUT_PATH = 'BDA/Output' PROJECT_ID = '<PROJECT_ID>' BLUEPRINT_NAME = 'US-Driver-License-demo' # 衚瀺ãããã£ãŒã«ã BLUEPRINT_FIELDS = [ 'NAME_DETAILS/FIRST_NAME', 'NAME_DETAILS/MIDDLE_NAME', 'NAME_DETAILS/LAST_NAME', 'DATE_OF_BIRTH', 'DATE_OF_ISSUE', 'EXPIRATION_DATE' ] # AWS SDK for Python (Boto3) clients bda = boto3.client('bedrock-data-automation-runtime', region_name=AWS_REGION) s3 = boto3.client('s3', region_name=AWS_REGION) sts = boto3.client('sts') def log(data): if DEBUG: if type(data) is dict: text = json.dumps(data, indent=4) else: text = str(data) print(text) def get_aws_account_id() -> str: return sts.get_caller_identity().get('Account') def get_json_object_from_s3_uri(s3_uri) -> dict: s3_uri_split = s3_uri.split('/') bucket = s3_uri_split[2] key = '/'.join(s3_uri_split[3:]) object_content = s3.get_object(Bucket=bucket, Key=key)['Body'].read() return json.loads(object_content) def invoke_data_automation(input_s3_uri, output_s3_uri, data_automation_arn, aws_account_id) -> dict: params = { 'inputConfiguration': { 's3Uri': input_s3_uri }, 'outputConfiguration': { 's3Uri': output_s3_uri }, 'dataAutomationConfiguration': { 'dataAutomationProjectArn': data_automation_arn }, 'dataAutomationProfileArn': f"arn:aws:bedrock:{AWS_REGION}:{aws_account_id}:data-automation-profile/us.data-automation-v1" } response = bda.invoke_data_automation_async(**params) log(response) return response def wait_for_data_automation_to_complete(invocation_arn, loop_time_in_seconds=1) -> dict: while True: response = bda.get_data_automation_status( invocationArn=invocation_arn ) status = response['status'] if status not in ['Created', 'InProgress']: print(f" {status}") return response print(".", end='', flush=True) time.sleep(loop_time_in_seconds) def print_document_results(standard_output_result): print(f"Number of pages: {standard_output_result['metadata']['number_of_pages']}") for page in standard_output_result['pages']: print(f"- Page {page['page_index']}") if 'text' in page['representation']: print(f"{page['representation']['text']}") if 'markdown' in page['representation']: print(f"{page['representation']['markdown']}") def print_video_results(standard_output_result): print(f"Duration: {standard_output_result['metadata']['duration_millis']} ms") print(f"Summary: {standard_output_result['video']['summary']}") statistics = standard_output_result['statistics'] print("Statistics:") print(f"- Speaket count: {statistics['speaker_count']}") print(f"- Chapter count: {statistics['chapter_count']}") print(f"- Shot count: {statistics['shot_count']}") for chapter in standard_output_result['chapters']: print(f"Chapter {chapter['chapter_index']} {chapter['start_timecode_smpte']}-{chapter['end_timecode_smpte']} ({chapter['duration_millis']} ms)") if 'summary' in chapter: print(f"- Chapter summary: {chapter['summary']}") def print_custom_results(custom_output_result): matched_blueprint_name = custom_output_result['matched_blueprint']['name'] log(custom_output_result) print('\n- Custom output') print(f"Matched blueprint: {matched_blueprint_name} Confidence: {custom_output_result['matched_blueprint']['confidence']}") print(f"Document class: {custom_output_result['document_class']['type']}") if matched_blueprint_name == BLUEPRINT_NAME: print('\n- Fields') for field_with_group in BLUEPRINT_FIELDS: print_field(field_with_group, custom_output_result) def print_results(job_metadata_s3_uri) -> None: job_metadata = get_json_object_from_s3_uri(job_metadata_s3_uri) log(job_metadata) for segment in job_metadata['output_metadata']: asset_id = segment['asset_id'] print(f'\nAsset ID: {asset_id}') for segment_metadata in segment['segment_metadata']: # æšæºåºå standard_output_path = segment_metadata['standard_output_path'] standard_output_result = get_json_object_from_s3_uri(standard_output_path) log(standard_output_result) print('\n- Standard output') semantic_modality = standard_output_result['metadata']['semantic_modality'] print(f"Semantic modality: {semantic_modality}") match semantic_modality: case 'DOCUMENT': print_document_results(standard_output_result) case 'VIDEO': print_video_results(standard_output_result) # ã«ã¹ã¿ã åºå if 'custom_output_status' in segment_metadata and segment_metadata['custom_output_status'] == 'MATCH': custom_output_path = segment_metadata['custom_output_path'] custom_output_result = get_json_object_from_s3_uri(custom_output_path) print_custom_results(custom_output_result) def print_field(field_with_group, custom_output_result) -> None: inference_result = custom_output_result['inference_result'] explainability_info = custom_output_result['explainability_info'][0] if '/' in field_with_group: # ã°ã«ãŒãã®äžéšã®ãã£ãŒã«ãçš (group, field) = field_with_group.split('/') inference_result = inference_result[group] explainability_info = explainability_info[group] else: field = field_with_group value = inference_result[field] confidence = explainability_info[field]['confidence'] print(f'{field}: {value or '<EMPTY>'} Confidence: {confidence}') def main() -> None: if len(sys.argv) < 2: print("Please provide a filename as command line argument") sys.exit(1) file_name = sys.argv[1] aws_account_id = get_aws_account_id() input_s3_uri = f"s3://{BUCKET_NAME}/{INPUT_PATH}/{file_name}" # ãã¡ã€ã« output_s3_uri = f"s3://{BUCKET_NAME}/{OUTPUT_PATH}" # ãã©ã«ã data_automation_arn = f"arn:aws:bedrock:{AWS_REGION}:{aws_account_id}:data-automation-project/{PROJECT_ID}" print(f"Invoking Bedrock Data Automation for '{file_name}'", end='', flush=True) data_automation_response = invoke_data_automation(input_s3_uri, output_s3_uri, data_automation_arn, aws_account_id) data_automation_status = wait_for_data_automation_to_complete(data_automation_response['invocationArn']) if data_automation_status['status'] == 'Success': job_metadata_s3_uri = data_automation_status['outputConfiguration']['s3Uri'] print_results(job_metadata_s3_uri) if __name__ == "__main__": main() ã¹ã¯ãªããã®åæèšå®ã«ã¯ãå
¥åãšåºåã§äœ¿çšãã S3 ãã±ããã®ååããã±ããå
ã®å
¥åãã¡ã€ã«ã®å Žæãçµæã®åºåãã¹ãBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ããã«ã¹ã¿ã åºåãååŸããããã«äœ¿çšãããããžã§ã¯ã IDãããã³åºåã«è¡šç€ºãããã«ãŒããªã³ããã£ãŒã«ããå«ãŸããŸãã å
¥åãã¡ã€ã«ã®ååãæž¡ããŠã¹ã¯ãªãããå®è¡ããŸããåºåã«ã¯ãBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã«ãã£ãŠæœåºãããæ
å ±ã衚瀺ãããŸãã [US-Driver-License] ãäžèŽããé転å
蚱蚌ã®ååãšæ¥ä»ãåºåã«è¡šç€ºãããŸãã python bda-ga.py bda-drivers-license.jpeg Invoking Bedrock Data Automation for 'bda-drivers-license.jpeg'................Success Asset ID: 0 - Standard output Semantic modality: DOCUMENT Number of pages: 1 - Page 0 NEW JERSEY Motor Vehicle Commission AUTO DRIVER LICENSE Could DL M6454 64774 51685 CLASS D DOB 01-01-1968 ISS 03-19-2019 EXP 01-01-2023 MONTOYA RENEE MARIA 321 GOTHAM AVENUE TRENTON, NJ 08666 OF END NONE RESTR NONE SEX F HGT 5'-08" EYES HZL ORGAN DONOR CM ST201907800000019 CHG 11.00 [SIGNATURE] - Custom output Matched blueprint: US-Driver-License-copy Confidence: 1 Document class: US-drivers-licenses - Fields FIRST_NAME: RENEE Confidence: 0.859375 MIDDLE_NAME: MARIA Confidence: 0.83203125 LAST_NAME: MONTOYA Confidence: 0.875 DATE_OF_BIRTH: 1968-01-01 Confidence: 0.890625 DATE_OF_ISSUE: 2019-03-19 Confidence: 0.79296875 EXPIRATION_DATE: 2023-01-01 Confidence: 0.93359375 æ³å®ã©ãããåºåã«ã¯ãBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãããžã§ã¯ãã«é¢é£ä»ãããããã«ãŒããªã³ãããéžæããæ
å ±ã衚瀺ãããŸãã åæ§ã«ãç§ã®ååã§ãã Mike Chambers ã® åç»ãã¡ã€ã« ã«å¯ŸããŠåãã¹ã¯ãªãããå®è¡ããŸããåºåãµã€ãºãå°ããããããã«ãå®å
šãªé³å£°ãã©ã³ã¹ã¯ãªãããåç»ã«è¡šç€ºãããããã¹ãã¯è¡šç€ºããŸããã python bda.py mike-video.mp4 Invoking Bedrock Data Automation for 'mike-video.mp4'..........................................................................................................................................................................................................................................................................Success Asset ID: 0 - Standard output Semantic modality: VIDEO Duration: 810476 ms Summary: In this comprehensive demonstration, a technical expert explores the capabilities and limitations of Large Language Models (LLMs) while showcasing a practical application using AWS services.He begins by addressing a common misconception about LLMs, explaining that while they possess general world knowledge from their training data, they lack current, real-time information unless connected to external data sources. To illustrate this concept, he demonstrates an "Outfit Planner" application that provides clothing recommendations based on location and weather conditions.Using Brisbane, Australia as an example, the application combines LLM capabilities with real-time weather data to suggest appropriate attire like lightweight linen shirts, shorts, and hats for the tropical climate. The demonstration then shifts to the Amazon Bedrock platform, which enables users to build and scale generative AI applications using foundation models.The speaker showcases the "OutfitAssistantAgent," explaining how it accesses real-time weather data to make informed clothing recommendations.Through the platform's "Show Trace" feature, he reveals the agent's decision-making process and how it retrieves and processes location and weather information. The technical implementation details are explored as the speaker configures the OutfitAssistant using Amazon Bedrock.The agent's workflow is designed to be fully serverless and managed within the Amazon Bedrock service. Further diving into the technical aspects, the presentation covers the AWS Lambda console integration, showing how to create action group functions that connect to external services like the OpenWeatherMap API.The speaker emphasizes that LLMs become truly useful when connected to tools providing relevant data sources, whether databases, text files, or external APIs. The presentation concludes with the speaker encouraging viewers to explore more AWS developer content and engage with the channel through likes and subscriptions, reinforcing the practical value of combining LLMs with external data sources for creating powerful, context-aware applications. Statistics: - Speaket count: 1 - Chapter count: 6 - Shot count: 48 Chapter 0 00:00:00:00-00:01:32:01 (92025 ms) - Chapter summary: A man with a beard and glasses, wearing a gray hooded sweatshirt with various logos and text, is sitting at a desk in front of a colorful background.He discusses the frequent release of new large language models (LLMs) and how people often test these models by asking questions like "Who won the World Series?" The man explains that LLMs are trained on general data from the internet, so they may have information about past events but not current ones.He then poses the question of what he wants from an LLM, stating that he desires general world knowledge, such as understanding basic concepts like "up is up" and "down is down," but does not need specific factual knowledge.The man suggests that he can attach other systems to the LLM to access current factual data relevant to his needs.He emphasizes the importance of having general world knowledge and the ability to use tools and be linked into agentic workflows, which he refers to as "agentic workflows." The man encourages the audience to add this term to their spell checkers, as it will likely become commonly used. Chapter 1 00:01:32:01-00:03:38:18 (126560 ms) - Chapter summary: The video showcases a man with a beard and glasses demonstrating an "Outfit Planner" application on his laptop.The application allows users to input their location, such as Brisbane, Australia, and receive recommendations for appropriate outfits based on the weather conditions.The man explains that the application generates these recommendations using large language models, which can sometimes provide inaccurate or hallucinated information since they lack direct access to real-world data sources. The man walks through the process of using the Outfit Planner, entering Brisbane as the location and receiving weather details like temperature, humidity, and cloud cover.He then shows how the application suggests outfit options, including a lightweight linen shirt, shorts, sandals, and a hat, along with an image of a woman wearing a similar outfit in a tropical setting. Throughout the demonstration, the man points out the limitations of current language models in providing accurate and up-to-date information without external data connections.He also highlights the need to edit prompts and adjust settings within the application to refine the output and improve the accuracy of the generated recommendations. Chapter 2 00:03:38:18-00:07:19:06 (220620 ms) - Chapter summary: The video demonstrates the Amazon Bedrock platform, which allows users to build and scale generative AI applications using foundation models (FMs). [speaker_0] introduces the platform's overview, highlighting its key features like managing FMs from AWS, integrating with custom models, and providing access to leading AI startups.The video showcases the Amazon Bedrock console interface, where [speaker_0] navigates to the "Agents" section and selects the "OutfitAssistantAgent" agent. [speaker_0] tests the OutfitAssistantAgent by asking it for outfit recommendations in Brisbane, Australia.The agent provides a suggestion of wearing a light jacket or sweater due to cool, misty weather conditions.To verify the accuracy of the recommendation, [speaker_0] clicks on the "Show Trace" button, which reveals the agent's workflow and the steps it took to retrieve the current location details and weather information for Brisbane.The video explains that the agent uses an orchestration and knowledge base system to determine the appropriate response based on the user's query and the retrieved data.It highlights the agent's ability to access real-time information like location and weather data, which is crucial for generating accurate and relevant responses. Chapter 3 00:07:19:06-00:11:26:13 (247214 ms) - Chapter summary: The video demonstrates the process of configuring an AI assistant agent called "OutfitAssistant" using Amazon Bedrock. [speaker_0] introduces the agent's purpose, which is to provide outfit recommendations based on the current time and weather conditions.The configuration interface allows selecting a language model from Anthropic, in this case the Claud 3 Haiku model, and defining natural language instructions for the agent's behavior. [speaker_0] explains that action groups are groups of tools or actions that will interact with the outside world.The OutfitAssistant agent uses Lambda functions as its tools, making it fully serverless and managed within the Amazon Bedrock service. [speaker_0] defines two action groups: "get coordinates" to retrieve latitude and longitude coordinates from a place name, and "get current time" to determine the current time based on the location.The "get current weather" action requires calling the "get coordinates" action first to obtain the location coordinates, then using those coordinates to retrieve the current weather information.This demonstrates the agent's workflow and how it utilizes the defined actions to generate outfit recommendations.Throughout the video, [speaker_0] provides details on the agent's configuration, including its name, description, model selection, instructions, and action groups.The interface displays various options and settings related to these aspects, allowing [speaker_0] to customize the agent's behavior and functionality. Chapter 4 00:11:26:13-00:13:00:17 (94160 ms) - Chapter summary: The video showcases a presentation by [speaker_0] on the AWS Lambda console and its integration with machine learning models for building powerful agents. [speaker_0] demonstrates how to create an action group function using AWS Lambda, which can be used to generate text responses based on input parameters like location, time, and weather data.The Lambda function code is shown, utilizing external services like OpenWeatherMap API for fetching weather information. [speaker_0] explains that for a large language model to be useful, it needs to connect to tools providing relevant data sources, such as databases, text files, or external APIs.The presentation covers the process of defining actions, setting up Lambda functions, and leveraging various tools within the AWS environment to build intelligent agents capable of generating context-aware responses. Chapter 5 00:13:00:17-00:13:28:10 (27761 ms) - Chapter summary: A man with a beard and glasses, wearing a gray hoodie with various logos and text, is sitting at a desk in front of a colorful background.He is using a laptop computer that has stickers and logos on it, including the AWS logo.The man appears to be presenting or speaking about AWS (Amazon Web Services) and its services, such as Lambda functions and large language models.He mentions that if a Lambda function can do something, then it can be used to augment a large language model.The man concludes by expressing hope that the viewer found the video useful and insightful, and encourages them to check out other videos on the AWS developers channel.He also asks viewers to like the video, subscribe to the channel, and watch other videos. ç¥ã£ãŠããã¹ãããš Amazon Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ ã¯çŸåšãç±³åœæ±éš (ããŒãžãã¢åéš) ãšç±³åœè¥¿éš (ãªã¬ãŽã³) ã® 2 ã€ã® AWS ãªãŒãžã§ã³ã§ã¯ãã¹ãªãŒãžã§ã³æšè«ãä»ããŠãå©çšããã ããŸãããããã®ãªãŒãžã§ã³ãã Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ãå©çšããå Žåãç±³åœæ±éš (ãªãã€ãªãããŒãžãã¢åéš) ãšç±³åœè¥¿éš (åã«ãªãã©ã«ãã¢ããªã¬ãŽã³) ã® 4 ã€ã®ãªãŒãžã§ã³ã®ããããã§ã¯ãã¹ãªãŒãžã§ã³æšè«ã䜿çšããŠããŒã¿ãåŠçã§ããŸãããããã®ãªãŒãžã§ã³ã¯ãã¹ãŠç±³åœå
ã«ãããããããŒã¿ã¯åãå°åå
ã§åŠçãããŸãã2025 幎åŸåã«ã¯ã欧å·ãšã¢ãžã¢ã®ããã«å€ãã®ãªãŒãžã§ã³ã®ãµããŒãã远å ããäºå®ã§ãã ãã¬ãã¥ãŒãããã³ã¯ãã¹ãªãŒãžã§ã³æšè«ã䜿çšããå Žåãšæ¯èŒããŠãæéã«å€æŽã¯ãããŸããã詳现ã«ã€ããŠã¯ãã Amazon Bedrock ã®æé ãã«ã¢ã¯ã»ã¹ããŠãã ããã ãŸããBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã«ã¯ããã现ããªæå·åã³ã³ãããŒã«ã®ããã® AWS Key Management Service (AWS KMS) ã«ã¹ã¿ããŒãããŒãžãã㌠ã®ãµããŒããã€ã³ã¿ãŒãããçµç±ã§ã¯ãªããä»®æ³ãã©ã€ããŒãã¯ã©ãŠã (VPC) å
ã® Bedrock Data Automation API ã«çŽæ¥æ¥ç¶ããããã® AWS PrivateLink ãã³ã¹ãã远跡ãã AWS Identity and Access Management (IAM) ã§ã¿ã°ããŒã¹ã®ã¢ã¯ã»ã¹ããªã·ãŒã匷å¶é©çšããããã® Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã®ãªãœãŒã¹ãšãžã§ãã®ã¿ã°ä»ããªã©ãã»ãã¥ãªãã£ãã¬ããã³ã¹ãç®¡çæ§ã«é¢é£ãã倿°ã®æ©èœãå«ãŸããããã«ãªããŸããã ãã®ããã°èšäºã§ã¯ Python ãå©çšããŸããããBedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã¯ã©ã® AWS SDK ã§ããå©çšããã ããŸããäŸãã°ãããã¯ãšã³ãã®ããã¥ã¡ã³ãåŠçã¢ããªã±ãŒã·ã§ã³ã«ã¯ Javaã.NETããŸã㯠Rustãç»åãåç»ããŸãã¯é³å£°ãã¡ã€ã«ãåŠçãããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ã¯ JavaScriptããšã³ããŠãŒã¶ãŒãæäŸããã³ã³ãã³ããåŠçãããã€ãã£ãã¢ãã€ã«ã¢ããªã«ã¯ Swift ãããããããå©çšããã ããŸãããã«ãã¢ãŒãã«ããŒã¿ããã€ã³ãµã€ããååŸããã®ããããŸã§ã«ãªãç°¡åã«ãªããŸããã 詳现 (ã³ãŒããµã³ãã«ãå«ã) ã«ã€ããŠã¯ã次ã®èšäºããèªã¿ãã ãã: Simplify multimodal generative AI with Amazon Bedrock Data Automation Amazon Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã䜿çšãããã«ãã¢ãŒãã«ããŒã¿åŠçã«é¢ããã¬ã€ãã³ã¹ Amazon Bedrock ã®ããŒã¿ãªãŒãã¡ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã¬ã€ã â Danilo ç§ãã¡ã®åãçµã¿ã«ã€ããŠãã©ã®ããã«æããŸããã? ãã® 1 åéã®ã¢ã³ã±ãŒãã«ãã²ãååãã ãã! åæã¯ ãã¡ã ã§ãã