RAG를 사용하여 그라운딩 확인

Vertex AI Agent Builder에서 검색 증강 생성(RAG) 경험에 따라 지정된 참조 텍스트 집합(팩트)에서 텍스트 조각(답변 후보)이 그라운딩되는 정도를 평가하여 그라운딩을 확인할 수 있습니다.

그라운딩 검사 API는 답변 후보가 지정된 팩트와 일치하는 정도를 나타내는 0부터 1까지 전반적인 지원 점수를 반환합니다. 또한 답변에는 답변 후보의 각 클레임을 지원하는 팩트에 대한 인용이 포함됩니다.

또한 실험적 기능으로서 클레임 수준 지원 점수를 사용 설정하여 답변 후보의 각 클레임에 대한 그라운딩을 나타내는 지원 점수를 가져올 수 있습니다.

완벽한 그라운딩을 위해서는 답변 후보의 모든 클레임이 하나 이상의 주어진 팩트로 지원되어야 합니다. 즉, 클레임은 전적으로 팩트로부터 도출되어야 합니다. 클레임의 일부만 뒷받침된다면 그라운딩된 것으로 간주되지 않습니다. 예를 들어 "1975년 Larry Page와 Sergey Brin이 Google을 설립했다"는 클레임은 설립자의 이름은 정확하지만 시간이 잘못되었기 때문에 부분적으로만 올바르며, 전체 클레임이 그라운딩되지 않은 것으로 간주됩니다. 이 버전의 그라운딩 검사 API에서 각 문장은 하나의 클레임으로 간주됩니다.

또한 실험적 기능으로서 반대 인용을 사용 설정하여 답변 후보가 주어진 팩트와 얼마나 상충되는지를 나타내는 상충 점수를 가져올 수 있습니다. 답변에는 또한 각 클레임의 상충 팩트에 대한 반대 인용이 포함됩니다.

그라운딩 검사 API를 사용하여 모든 텍스트 조각을 검사할 수 있습니다. 사람이 생성한 표현이나 기계로 생성된 답변도 검사할 수 있습니다. 일반적인 사용 사례는 주어진 팩트 집합에 대해 LLM으로 생성된 답변을 검사하는 것입니다. 그라운딩 검사 API는 500밀리초 미만의 짧은 지연 시간으로 빠르게 작동하도록 설계되었습니다. 이러한 속도 덕분에 챗봇은 상당한 속도 저하를 유발하지 않으면서 각 추론 중에 그라운딩 검사 API를 호출할 수 있습니다. 그라운딩 검사 API는 또한 발견 항목을 지원하는 참조를 제공할 수 있으므로, 사용자가 생성된 답변 중 어느 부분이 신뢰할 수 있는지 확인할 수 있습니다. 또한 이 API는 답변의 전반적인 정확도를 나타내는 지원 점수를 제공합니다. 챗봇은 인용 기준점을 설정하여 추론 시에 할루시네이션이 발생한 클레임을 포함할 가능성이 있는 답변을 필터링할 수 있습니다.

이 페이지에서는 그라운딩 검사 API를 사용하여 그라운딩 검사를 수행하는 방법을 설명합니다.

시작하기 전에

그라운딩 검사 API는 정식 버전으로 제공됩니다.

또한 두 가지 실험적 기능이 있습니다.

  • 반대 인용 기능은 상충 점수를 생성합니다.
  • 클레임 수준 점수 기능은 클레임별 지원 점수를 반환합니다.

실험적 기능을 시도해보려면 Google 계정팀에 연락해서 허용 목록에 추가해 달라고 요청하세요.

용어 정의 및 설명

그라운딩 검사 API를 사용하기 전에 입력과 출력을 이해하고 최상의 결과를 얻기 위해 그라운딩 팩트를 구성하는 방법을 이해하는 것이 좋습니다.

입력 데이터

그라운딩 검사 API를 사용하려면 요청에 다음 입력을 포함해야 합니다.

  • 답변 후보: 답변 후보는 그라운딩을 검사하려는 모든 텍스트 조각일 수 있습니다. 예를 들어 Vertex AI Search 컨텍스트에서 답변 후보는 쿼리에 답변하는 생성된 검색 요약일 수 있습니다. 그런 다음 이 API는 입력 팩트에서 요약의 그라운딩 정도를 확인합니다. 답변 후보는 최대 4096개 토큰을 포함할 수 있습니다.

  • 팩트: 그라운딩 참조로 사용할 텍스트 세그먼트 집합입니다. 각 텍스트 세그먼트에 메타데이터 속성 집합(키-값 쌍)을 제공할 수 있습니다. 예를 들어 "저자"와 "제목"은 일반적인 속성 키입니다.

    이 서비스는 최대 200개의 팩트를 지원하며, 각 팩트에는 최대 10,000자가 포함됩니다.

    팩트를 제공할 때는 모든 정보가 포함된 하나의 초대형 크기로 제공하지 않는 것이 좋습니다. 대신 대규모 팩트를 소규모 팩트로 분할하고 소규모 팩트에 대해 적절한 속성을 제공하는 것이 더 나은 결과를 얻을 수 있습니다. 예를 들어 제목, 저자, URL로 대규모 팩트를 분할하고 이 정보를 속성에 제공할 수 있습니다.

  • 인용 기준점: 답변 후보를 지원하는 인용의 신뢰도를 제어하는 0~1 사이의 부동 소수점 값입니다. 기준점이 높을수록 엄격한 신뢰도가 적용됩니다. 따라서 기준점이 높으면 개수는 적어도 더 강력한 인용이 생성됩니다.

출력 데이터

그라운딩 검사 API는 답변 후보에 대해 다음을 반환합니다.

  • 지원 점수: 지원 점수는 제공된 팩트 집합에서 답변 후보의 그라운딩 정도를 나타내는 0~1 사이의 숫자입니다. 답변 후보에서 주어진 팩트 중 하나 이상으로 그라운딩된 것으로 확인되는 클레임의 비율을 대략적으로 추정합니다.

  • 인용된 청크: 인용된 청크는 답변 후보를 지원하는 입력 팩트의 일부입니다.

  • 클레임 및 인용: 클레임 및 인용은 답변 후보의 클레임(일반적으로 문장)을 클레임을 뒷받침하는 하나 이상의 인용된 청크에 연결합니다.

    클레임 수준 점수가 사용 설정되었으면 각 클레임에서 지원 점수는 주어진 팩트 집합에서 클레임의 그라운딩 정도를 나타내는 0~1 사이의 숫자로 반환됩니다. 자세한 내용은 답변 후보의 클레임 수준 점수 가져오기를 참조하세요.

  • 그라운딩 검사 필요: 각 클레임에서 그라운딩 검사 필요 불리언이 반환됩니다. False로 반환되는 경우, 시스템에서 클레임에 그라운딩이 필요하지 않은 것으로 간주되어, 인용 및 반대 인용이 반환되지 않습니다. 예를 들어 "여기 내가 찾아낸 것이 있어"라는 문장은 그 자체로 팩트가 아니며, 따라서 그라운딩 검사가 필요하지 않습니다.

    그라운딩 검사 필요가 true로 반환된 경우에는 그라운딩 검사가 수행되었고 지원 점수, 인용, 반대 인용(있는 경우)이 반환됩니다.

답변 후보의 지원 점수 가져오기

팩트 집합에서 답변 후보의 그라운딩 정도를 확인하려면 다음 단계를 수행합니다.

  1. 팩트 집합을 준비합니다. 자세한 내용과 예시는 용어 정의 및 설명을 참조하세요.

  2. 다음 코드를 사용하여 check 메서드를 호출합니다.

REST

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
  "answerCandidate": "CANDIDATE",
  "facts": [
  {
    "factText": "TEXT_0",
    "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
  },
  {
    "factText": "TEXT_1",
    "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
  },
  {
    "factText": "TEXT_2",
    "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
  }
  ],
  "groundingSpec": {
    "citationThreshold": "CITATION_THRESHOLD"
  }
}'

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 프로젝트 번호 또는 ID입니다.

  • CANDIDATE: 지원 점수를 가져오려는 답변 후보 문자열입니다. 예를 들면 Titanic was directed by James Cameron. It was released in 1997.입니다. 답변 후보는 최대 4096개 토큰을 포함할 수 있습니다.

  • TEXT: 그라운딩에 사용할 텍스트 세그먼트입니다. 예를 들면 Titanic is a 1997 American epic... Academy Awards.입니다. (팩트 예시의 전체 텍스트 참조.)

  • ATTRIBUTE: 팩트와 연관된 메타데이터 속성의 이름입니다(예: author 또는 title). 이는 팩트 텍스트에 추가 정보를 제공하는 사용자 정의 라벨입니다. 예를 들어 팩트 텍스트 Toronto is the capital of Ontario에 해당 값이 Wikipediaauthor 속성이 있으면 팩트에서 다음 클레임이 그라운딩된 것으로 간주됩니다.

    • Wikipedia cites that Toronto is the capital of Ontario
    • Toronto is the capital of Ontario

      하지만 Government of Ontario claims that Toronto is the capital of Ontario 클레임은 처음 2개의 클레임으로 그라운딩되지 않습니다.

  • VALUE: 속성의 값입니다(예: Simple Wikipedia 또는 Titanic (1997 film)).

  • CITATION_THRESHOLD: 답변 후보에서 클레임에 대해 팩트를 인용해야 하는지 여부를 결정하는 0~1 사이의 부동 소수점 값입니다. 기준점이 높으면 개수가 적지만 강력한 인용이 발생하고 기준점이 낮으면 개수는 많지만 더 약한 인용이 발생합니다. 설정하지 않은 경우 기본 기준점 값은 0.6입니다.

Python

자세한 내용은 Vertex AI Agent Builder Python API 참고 문서를 확인하세요.

Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

from google.cloud import discoveryengine_v1 as discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"

client = discoveryengine.GroundedGenerationServiceClient()

# The full resource name of the grounding config.
# Format: projects/{project_id}/locations/{location}/groundingConfigs/default_grounding_config
grounding_config = client.grounding_config_path(
    project=project_id,
    location="global",
    grounding_config="default_grounding_config",
)

request = discoveryengine.CheckGroundingRequest(
    grounding_config=grounding_config,
    answer_candidate="Titanic was directed by James Cameron. It was released in 1997.",
    facts=[
        discoveryengine.GroundingFact(
            fact_text=(
                "Titanic is a 1997 American epic romantic disaster movie. It was directed, written,"
                " and co-produced by James Cameron. The movie is about the 1912 sinking of the"
                " RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released"
                " on December 19, 1997. It received positive critical reviews. The movie won 11 Academy"
                " Awards, and was nominated for fourteen total Academy Awards."
            ),
            attributes={"author": "Simple Wikipedia"},
        ),
        discoveryengine.GroundingFact(
            fact_text=(
                'James Cameron\'s "Titanic" is an epic, action-packed romance'
                "set against the ill-fated maiden voyage of the R.M.S. Titanic;"
                "the pride and joy of the White Star Line and, at the time,"
                "the largest moving object ever built. "
                'She was the most luxurious liner of her era -- the "ship of dreams" -- '
                "which ultimately carried over 1,500 people to their death in the "
                "ice cold waters of the North Atlantic in the early hours of April 15, 1912."
            ),
            attributes={"author": "Simple Wikipedia"},
        ),
    ],
    grounding_spec=discoveryengine.CheckGroundingSpec(citation_threshold=0.6),
)

response = client.check_grounding(request=request)

# Handle the response
print(response)

팩트 예시

다음은 몇 가지 예시 팩트와 해당 속성을 보여줍니다. 이러한 예시는 그라운딩 답변과 curl 명령어의 형식을 이해하는 데 도움이 됩니다.

  • 팩트 0

    • 텍스트: "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards."

    • 속성: {"Author": "Simple Wikipedia"}

  • 팩트 1

    • 텍스트: "James Cameron's "Titanic" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the "ship of dreams" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912."

    • 속성: {"Author": "Rotten Tomatoes"}

요청 예시

팩트를 준비한 후 다음 요청을 전송할 수 있습니다. CANDIDATE 필드는 그라운딩을 검사하려는 다른 문자열로 바꿉니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "citationThreshold": "0.6"
    }
    }'

답변 후보와 그라운딩 답변 예시

다음 표에서는 팩트 예시를 기준으로 요청 예시를 전송할 때 여러 다른 답변 후보 및 답변 예시를 보여줍니다.

답변 후보 그라운딩 검사 답변
Here is what I found. Titanic was directed by James Cameron. 지원 점수: 0.99

인용된 청크:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
클레임 및 인용:
  • 0. Here is what I found.
    그라운딩 검사 필요: false
  • 1. Titanic was directed by James Cameron.
    인용: [0]
    그라운딩 검사 필요: true
Titanic was directed by James Cameron. It was released in 1997. 지원 점수: 0.99

인용된 청크:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
클레임 및 인용:
  • 0. Titanic was directed by James Cameron.
    인용: [0]
    그라운딩 검사 필요: true
  • 1. It was released in 1997.
    인용: [1]
    그라운딩 검사 필요: true
Titanic was directed by James Cameron. It was based on the sinking of the RMS Titanic that led to the death of 1500 people. 지원 점수: 0.95

인용된 청크:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
클레임 및 인용:
  • 0. Cited chunks: Titanic was directed by James Cameron.
    인용: [0]
    그라운딩 검사 필요: true
  • 1. Cited chunks: It was based on the sinking of the RMS Titanic that led to the death of 1500 people.
    인용: [1]
    그라운딩 검사 필요: true
Titanic was directed by James Cameron. It starred Brad Pitt and Kate Winslet 지원 점수: 0.54

인용된 청크:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
클레임 및 인용:
  • 0. Titanic was directed by James Cameron.
    인용: [0]
    그라운딩 검사 필요: true
  • 1. It starred Brad Pitt and Kate Winslet
    인용: []
    그라운딩 검사 필요: true
참고: Kate Winslet이 영화에 출연했더라도 "It starred Brad Pitt and Kate Winslet" 클레임은 완전한 사실이 아니므로 인용을 얻지 못합니다. 이 경우 반대 인용을 사용 설정하고 메서드를 호출해서 상충 점수를 제공할 수 있습니다. 자세한 내용은 답변 후보의 상충 점수 가져오기를 참조하세요.

답변 후보의 상충 점수 가져오기

지원 점수 외에도 상충 점수를 가져올 수 있습니다. 상충 점수는 제공된 팩트와 상충하는 클레임의 비율을 대략적으로 추정합니다.

이 실험적 기능을 시도해보려면 Google 계정팀에 연락해서 허용 목록에 추가해 달라고 요청하세요.

상충 점수를 가져오려면 다음 단계를 수행합니다.

  1. 팩트 집합을 준비합니다. 자세한 내용과 예시는 용어 정의 및 설명을 참조하세요.

  2. 다음 curl 명령어를 사용하여 check 메서드를 호출합니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "TEXT_0",
      "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
     },
     {
      "factText": "TEXT_1",
      "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
     },
     {
      "factText": "TEXT_2",
      "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
     },
    ],
    "groundingSpec": {
      "citationThreshold": "CITATION_THRESHOLD",
      "enableAntiCitations": "ENABLE_ANTI_CITATION",
      "antiCitationThreshold": "ANTI_CITATION_THRESHOLD",
    }
    }'
    

    다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 프로젝트 번호나 ID입니다.

    • CANDIDATE: 지원 점수를 가져오려는 답변 후보 문자열입니다. 예를 들면 Titanic was directed by James Cameron. It was released in 1997.입니다. 답변 후보는 최대 4096개 토큰을 포함할 수 있습니다.

    • TEXT: 그라운딩에 사용할 텍스트 세그먼트입니다. 예를 들면 Titanic is a 1997 American epic... Academy Awards.입니다. (팩트 예시의 전체 텍스트 참조.)

    • ATTRIBUTE: 팩트와 연관된 메타데이터 속성의 이름입니다(예: author 또는 title). 이는 팩트 텍스트에 추가 정보를 제공하는 사용자 정의 라벨입니다. 예를 들어 팩트 텍스트 Toronto is the capital of Ontario에 해당 값이 Wikipediaauthor 속성이 있으면 팩트에서 다음 클레임이 올바르게 그라운딩된 것으로 간주됩니다.

      • Wikipedia cites that Toronto is the capital of Ontario
      • Toronto is the capital of Ontario

      하지만 Government of Ontario claims that Toronto is the capital of Ontario 클레임은 올바르게 그라운딩되지 않습니다.

    • VALUE: 속성의 값입니다(예: Simple Wikipedia 또는 Titanic (1997 film)).

    • CITATION_THRESHOLD: 답변 후보에서 클레임에 대해 팩트를 인용해야 하는지 여부를 결정하는 0~1 사이의 부동 소수점 값입니다. 기준점이 높으면 개수가 적지만 클레임을 지원하기에 강력한 인용이 발생하고 기준점이 낮으면 개수는 많지만 클레임을 지원하기에 약한 인용이 발생합니다. 설정하지 않은 경우 기본 기준점 값은 0.6입니다.

    • ENABLE_ANTI_CITATION: 불리언 값입니다. 이 실험적 기능을 사용 설정해서 상충 점수를 평가하려면 이 필드를 true로 설정합니다. 이 기능을 사용 중지하려면 이 필드를 삭제하거나 이 필드를 false로 설정합니다.

    • ANTI_CITATION_THRESHOLD: 답변 후보에서 클레임을 상충하는 것으로 팩트를 인용해야 하는지 여부를 결정하는 0~1 사이의 부동 소수점 값입니다. 기준점이 높으면 개수가 적지만 클레임에 상충하는 더 강력한 인용이 발생하고, 기준점이 낮으면 개수는 많지만 클레임과 상충하는 약한 인용이 발생합니다. 설정하지 않은 경우 기본 기준점 값은 0.8입니다.

요청 예시

이전 섹션의 팩트 예시를 사용하여 다음 요청을 전송할 수 있습니다. CANDIDATE 필드를 그라운딩 및 상충을 검사하려는 여러 문자열로 바꿉니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "citationThreshold": "0.6",
      "enableAntiCitations": true,
      "antiCitationThreshold": "0.8",
    }
    }'

상충이 있는 응답 예시

다음 표에서는 팩트 예시를 기준으로 요청 예시를 전송할 때의 답변 후보 예시와 그 답변을 보여줍니다.

답변 후보 그라운딩 검사 답변
Titanic was directed by James Cameron. It starred Brad Pitt and Kate Winslet 지원 점수: 0.36

상충 점수: 0.49

인용된 청크:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
클레임 및 인용:
  • 0. Titanic was directed by James Cameron.
    인용: [0] 반대 인용: []
    그라운딩 검사 필요: true
  • 1. It starred Brad Pitt and Kate Winslet
    인용: [] 반대 인용: [0]
    그라운딩 검사 필요: true

답변 후보의 클레임 수준 점수 가져오기

답변 후보 지원 점수 외에도 답변 후보에서 각 클레임의 클레임 수준 지원 점수를 가져올 수 있습니다.

이 실험적 기능을 시도해보려면 Google 계정팀에 연락해서 허용 목록에 추가해 달라고 요청하세요.

클레임 수준 점수를 가져오려면 다음 단계를 수행합니다.

  1. 팩트 집합을 준비합니다. 자세한 내용과 예시는 용어 정의 및 설명을 참조하세요.

  2. 다음 curl 명령어를 사용하여 check 메서드를 호출합니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "TEXT_0",
      "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
     },
     {
      "factText": "TEXT_1",
      "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
     },
     {
      "factText": "TEXT_2",
      "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
     },
    ],
    "groundingSpec": {
      "citationThreshold": "CITATION_THRESHOLD",
      "enableClaimLevelScore": "ENABLE_CLAIM_LEVEL_SCORE",
    }
    }'
    

    다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 프로젝트 번호나 ID입니다.

    • CANDIDATE: 지원 점수를 가져오려는 답변 후보 문자열입니다. 예를 들면 Titanic was directed by James Cameron. It was released in 1997.입니다. 답변 후보는 최대 4096개 토큰을 포함할 수 있습니다.

    • TEXT: 그라운딩에 사용할 텍스트 세그먼트입니다. 예를 들면 Titanic is a 1997 American epic... Academy Awards.입니다. (팩트 예시의 전체 텍스트 참조.)

    • ATTRIBUTE: 팩트와 연관된 메타데이터 속성의 이름입니다(예: author 또는 title). 이는 팩트 텍스트에 추가 정보를 제공하는 사용자 정의 라벨입니다. 예를 들어 팩트 텍스트 Toronto is the capital of Ontario에 해당 값이 Wikipediaauthor 속성이 있으면 팩트에서 다음 클레임이 올바르게 그라운딩된 것으로 간주됩니다.

      • Wikipedia cites that Toronto is the capital of Ontario
      • Toronto is the capital of Ontario

      하지만 Government of Ontario claims that Toronto is the capital of Ontario 클레임은 올바르게 그라운딩되지 않습니다.

    • VALUE: 속성의 값입니다(예: Simple Wikipedia 또는 Titanic (1997 film)).

    • CITATION_THRESHOLD: 답변 후보에서 클레임에 대해 팩트를 인용해야 하는지 여부를 결정하는 0~1 사이의 부동 소수점 값입니다. 기준점이 높으면 개수가 적지만 클레임을 지원하기에 강력한 인용이 발생하고 기준점이 낮으면 개수는 많지만 클레임을 지원하기에 약한 인용이 발생합니다. 설정하지 않은 경우 기본 기준점 값은 0.6입니다.

    • ENABLE_CLAIM_LEVEL_SCORE: 불리언 값입니다. 클레임 수준 점수 기능을 사용 설정하려면 이 필드를 true로 설정합니다. 이 기능을 사용 중지하려면 이 필드를 삭제하거나 이 필드를 false로 설정합니다.

요청 예시

이전 섹션의 팩트 예시를 사용하여 다음 요청을 전송할 수 있습니다. CANDIDATE 필드를 클레임당 그라운딩을 검사하려는 여러 문자열로 바꿉니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "citationThreshold": "0.6",
      "enableClaimLevelScore": true,
    }
    }'

클레임 수준 점수가 포함된 답변 예시

다음 표에서는 팩트 예시를 기준으로 요청 예시를 전송할 때의 답변 후보 예시와 그 답변을 보여줍니다.

답변 후보 그라운딩 검사 답변
Here is what I found. Titanic was directed by James Cameron. It starred Kate Winslet and Leonardo DiCaprio. 지원 점수: 0.99

인용된 청크:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
클레임 및 인용:
  • 0. Here is what I found.
    그라운딩 검사 필요: false
  • 1. Titanic was directed by James Cameron.
    인용: [0]
    그라운딩 검사 필요: true
    점수: 0.99
  • 2. It starred Kate Winslet and Leonardo DiCaprio.
    인용: [0]
    그라운딩 검사 필요: true
    점수: 0.99