View a markdown version of this page

Web Grounding - Amazon Nova

Web Grounding

웹 그라운딩을 사용하면 Amazon Nova가 웹에서 현재 정보를 검색하고 인용과 함께 응답을 제공할 수 있습니다. 이 기능은 모델의 훈련 데이터 외에 최신 정보가 필요한 쿼리에 유용합니다.

Web Grounding 작동 방식

프롬프트에 대해 Web Grounding이 활성화되면 다음 단계가 수행됩니다.

  1. 요청 구성 - 애플리케이션에서 nova_grounding을 systemTool로 활성화한 상태로 Amazon Bedrock API에 사용자 프롬프트를 전송합니다.

  2. 검색 및 분석: 모델은 검색이 필요한지를 결정하고, 관련 정보를 하나 이상 검색하며, 이해를 넓히거나 특정 하위 주제를 자세히 알아보기 위해 추가 검색이 필요한지 평가합니다.

  3. 응답 생성 - Amazon Nova가 검색 결과의 정보를 자동으로 합성하여 실시간 정보에 근거한 최종 API 응답을 생성하며, 여기에는 출처에 대한 인용도 포함됩니다.

Web Grounding 사용 방법

웹 그라운딩을 활용하는 코드의 전체 예제는 코드 샘플 섹션을 참조하세요.

결과에 웹 그라운딩을 포함하려면 toolConfig 블록에 다음 systemTool 파라미터를 지정합니다.

import boto3 from botocore.config import Config # Create the Bedrock Runtime client with extended timeout bedrock = boto3.client( "bedrock-runtime", region_name="us-east-1", config=Config(read_timeout=3600) ) # Define the tool configuration tool_config = { "tools": [{ "systemTool": { "name": "nova_grounding" } }] } # Send the request response = bedrock.converse( modelId="us.amazon.nova-2-lite-v1:0", messages=[{ "role": "user", "content": [{"text": "What are the latest developments in quantum computing?"}] }], toolConfig=tool_config ) # Extract text with interleaved citations output_with_citations = "" content_list = response["output"]["message"]["content"] for content in content_list: if "text" in content: output_with_citations += content["text"] elif "citationsContent" in content: citations = content["citationsContent"]["citations"] for citation in citations: url = citation["location"]["web"]["url"] output_with_citations += f" [{url}]" print(output_with_citations)

리전별 가용성

웹 그라운딩은 현재 미국 리전에서만 사용할 수 있으며 미국 CRIS 프로필에서만 지원됩니다.

응답 구조

다음은 응답의 예입니다. 간결성을 위해 응답을 축약했습니다.

{ "output": { "message": { "content": [ { "text": "Recent quantum computing developments include...", "citationsContent": [ { "location": { "web": { "url": "https://example.com/quantum-news", "domain": "example.com" } } } ] } ] } } }

각 인용에는 다음이 포함됩니다.

  • text: 모델이 생성한 응답의 세그먼트입니다.

  • citationsContent: 세그먼트와 관련된 인용 데이터의 기본 컨테이너입니다.

  • citations: 인용의 위치가 담긴 citationsContent 내의 컨테이너입니다.

  • location: 인용의 출처가 담긴 citations 내의 컨테이너입니다.

  • web: 웹 소스 세부 정보가 담긴 location 내의 컨테이너입니다.

  • url: 인용 출처의 전체 웹 주소(URL)입니다.

  • domain: 출처 url의 루트 도메인입니다.

그라운딩 안전

데이터는 AWS 인프라를 벗어나지 않습니다. 모델 생성 쿼리는 AWS 서비스 내에 유지되며 더 광범위한 인터넷으로 전송되지 않습니다. 광범위한 내부 웹 검색 인덱스 및 지식 그래프는 신뢰할 수 있는 고품질 소스의 우선순위를 지정하고 수신 시 악성 콘텐츠를 필터링합니다. 마지막으로 런타임 필터링을 통해 간접 프롬프트 인젝션과 잘못된 정보로부터 애플리케이션을 보호합니다. 영어 이외의 언어의 경우 이 완화 조치가 제한됩니다.

오류 처리

이름이 nova_groundingtoolSpec 항목을 포함하지 마세요. 이 이름의 도구를 포함하면 오류가 발생합니다.

다음은 Web Grounding을 사용할 때 발생할 수 있는 잠재적 오류 목록입니다.

  • malformed_tool_use

  • max_tokens

  • malformed_model_output

기본 제공 도구에 필요한 권한

Amazon Bedrock에서 웹 그라운딩에 액세스할 수 있게 하려는 경우 두 가지 옵션이 있습니다:

  1. IAM 역할에서 BedrockFullAccess 활성화: 역할에 BedrockFullAccess가 있는 경우 웹 그라운딩에 자동으로 액세스할 수 있습니다.

  2. 특정 권한 추가(필요한 경우): 더욱 세부적인 액세스 제어가 필요한 경우 역할의 IAM 정책에 이 정책을 추가하고 계정 ID를 AWS 계정 계정 ID로 바꿉니다.

{ "Statement": [ { "Effect": "Allow", "Action": ["bedrock:InvokeTool"], "Resource": ["arn:aws:bedrock::{111122223333}:system-tool/amazon.nova_grounding"] } ] }

웹 그라운딩에서 aws:requestedRegion 조건 키는 'unspecified'로 설정되어 있습니다. 기존 정책이나 서비스 제어 정책(SCP)에서 이 조건을 적용하는 경우 액세스 문제가 발생할 수 있습니다. 'unspecified' requestedRegion을 허용하도록 조건을 업데이트하여 이 문제를 해결할 수 있습니다.

참고

Web Grounding 도구를 활성화하는 경우 근거 정보를 포함하는 출력의 사용에 대한 책임은 사용자에게 있습니다. 최종 사용자에 의한 사용에 대한 책임도 사용자에게 있습니다. 출력에 인용이나 출처 자료 링크의 근거 정보가 포함되는 경우 이를 알 수 있습니다. 최종 사용자에게 제공하는 출력에 이러한 인용 및 링크를 유지하고 표시해야 합니다.

참고

Web Grounding은 추가 비용이 발생합니다. 자세한 내용은 AWS Bedrock 요금을 참조하세요.