Vertex AI Agent Builder에서 검색 증강 생성(RAG) 경험에 따라 지정된 참조 텍스트 집합(팩트)에서 텍스트 조각(답변 후보)이 그라운딩되는 정도를 평가하여 그라운딩을 확인할 수 있습니다.
그라운딩 검사 API는 답변 후보가 지정된 팩트와 일치하는 정도를 나타내는 0부터 1까지 전반적인 지원 점수를 반환합니다. 또한 답변에는 답변 후보의 각 클레임을 지원하는 팩트에 대한 인용이 포함됩니다.
완벽한 그라운딩을 위해서는 답변 후보의 모든 클레임이 하나 이상의 주어진 팩트로 지원되어야 합니다. 즉, 클레임은 전적으로 팩트로부터 도출되어야 합니다. 클레임의 일부만 뒷받침된다면 그라운딩된 것으로 간주되지 않습니다. 예를 들어 "1975년 Larry Page와 Sergey Brin이 Google을 설립했다"는 클레임은 설립자의 이름은 정확하지만 시간이 잘못되었기 때문에 부분적으로만 올바르며, 전체 클레임이 그라운딩되지 않은 것으로 간주됩니다. 이 버전의 그라운딩 검사 API에서 각 문장은 하나의 클레임으로 간주됩니다.
그라운딩 검사 API를 사용하여 모든 텍스트 조각을 검사할 수 있습니다. 사람이 생성한 표현이나 기계로 생성된 답변도 검사할 수 있습니다. 일반적인 사용 사례는 주어진 팩트 집합에 대해 LLM으로 생성된 답변을 검사하는 것입니다. 그라운딩 검사 API는 500밀리초 미만의 짧은 지연 시간으로 빠르게 작동하도록 설계되었습니다. 이러한 속도 덕분에 챗봇은 상당한 속도 저하를 유발하지 않으면서 각 추론 중에 그라운딩 검사 API를 호출할 수 있습니다. 그라운딩 검사 API는 또한 발견 항목을 지원하는 참조를 제공할 수 있으므로, 사용자가 생성된 답변 중 어느 부분이 신뢰할 수 있는지 확인할 수 있습니다. 또한 이 API는 답변의 전반적인 정확도를 나타내는 지원 점수를 제공합니다. 챗봇은 인용 기준점을 설정하여 추론 시에 할루시네이션이 발생한 클레임을 포함할 가능성이 있는 답변을 필터링할 수 있습니다.
이 페이지에서는 그라운딩 검사 API를 사용하여 그라운딩 검사를 수행하는 방법을 설명합니다.
실험적 기능
check grounding API에서 사용할 수 있는 다음과 같은 실험적 기능을 사용해 보려면 Google 계정팀에 연락하여 허용 목록에 추가해 달라고 요청하세요.
반대 인용: 반대 인용 기능은 답변 후보가 주어진 팩트와 얼마나 상충되는지를 나타내는 상충 점수를 제공합니다. 또한 답변에는 각 클레임의 상충 팩트에 대한 인용이 포함됩니다. 자세한 내용은 답변 후보의 상충 점수 가져오기를 참고하세요.
클레임 수준 지원 점수: 클레임 수준 지원 점수는 답변 후보의 전반적인 지원 점수 외에도 답변 후보의 각 클레임에 대한 그라운딩을 나타냅니다. 자세한 내용은 답변 후보의 클레임 수준 점수 가져오기를 참고하세요.
유용성 점수: 유용성 점수는 답변 후보가 주어진 요청에 얼마나 잘 대답하는지를 나타내는 척도입니다. 자세한 내용은 답변 후보의 유용성 점수 가져오기를 참고하세요.
데이터 스토어를 통한 그라운딩: 인라인 사실을 제공하는 대신 Vertex AI Search 데이터 스토어에서 그라운딩 사실을 가져옵니다. 자세한 내용은 데이터 저장소로 그라운딩 확인을 참고하세요.
용어 정의 및 설명
그라운딩 검사 API를 사용하기 전에 입력과 출력을 이해하고 최상의 결과를 얻기 위해 그라운딩 팩트를 구성하는 방법을 이해하는 것이 좋습니다.
입력 데이터
그라운딩 검사 API를 사용하려면 요청에 다음 입력을 포함해야 합니다.
답변 후보: 답변 후보는 그라운딩을 검사하려는 모든 텍스트 조각일 수 있습니다. 예를 들어 Vertex AI Search 컨텍스트에서 답변 후보는 쿼리에 답변하는 생성된 검색 요약일 수 있습니다. 그런 다음 이 API는 입력 팩트에서 요약의 그라운딩 정도를 확인합니다. 답변 후보는 최대 4096개 토큰을 포함할 수 있습니다. 여기서 토큰은 문장 내 단어 또는 마침표(문장을 끝내는 데 사용되는 구두점)로 정의됩니다. 예를 들어 '2024년에 기성복을 입었습니다.'라는 문장은 6단어와 마침표를 포함하여 7개의 토큰으로 구성됩니다.
팩트: 그라운딩 참조로 사용할 텍스트 세그먼트 집합입니다. 각 텍스트 세그먼트에 메타데이터 속성 집합(키-값 쌍)을 제공할 수 있습니다. 예를 들어 "저자"와 "제목"은 일반적인 속성 키입니다.
이 서비스는 최대 200개의 팩트를 지원하며, 각 팩트에는 최대 10,000자가 포함됩니다.
팩트를 제공할 때는 모든 정보가 포함된 하나의 초대형 크기로 제공하지 않는 것이 좋습니다. 대신 대규모 팩트를 소규모 팩트로 분할하고 소규모 팩트에 대해 적절한 속성을 제공하는 것이 더 나은 결과를 얻을 수 있습니다. 예를 들어 제목, 저자, URL로 대규모 팩트를 분할하고 이 정보를 속성에 제공할 수 있습니다.
인용 기준점: 답변 후보를 지원하는 인용의 신뢰도를 제어하는 0~1 사이의 부동 소수점 값입니다. 기준점이 높을수록 엄격한 신뢰도가 적용됩니다. 따라서 기준점이 높으면 개수는 적어도 더 강력한 인용이 생성됩니다.
출력 데이터
그라운딩 검사 API는 답변 후보에 대해 다음을 반환합니다.
지원 점수: 지원 점수는 제공된 팩트 집합에서 답변 후보의 그라운딩 정도를 나타내는 0~1 사이의 숫자입니다. 답변 후보에서 주어진 팩트 중 하나 이상으로 그라운딩된 것으로 확인되는 클레임의 비율을 대략적으로 추정합니다.
인용된 청크: 인용된 청크는 답변 후보를 지원하는 입력 팩트의 일부입니다.
클레임 및 인용: 클레임 및 인용은 답변 후보의 클레임(일반적으로 문장)을 클레임을 뒷받침하는 하나 이상의 인용된 청크에 연결합니다.
클레임 수준 점수가 사용 설정되었으면 각 클레임에서 지원 점수는 주어진 팩트 집합에서 클레임의 그라운딩 정도를 나타내는 0~1 사이의 숫자로 반환됩니다. 자세한 내용은 답변 후보의 클레임 수준 점수 가져오기를 참조하세요.
그라운딩 검사 필요: 각 클레임에서 그라운딩 검사 필요 불리언이 반환됩니다.
False
로 반환되는 경우, 시스템에서 클레임에 그라운딩이 필요하지 않은 것으로 간주되어, 인용 및 반대 인용이 반환되지 않습니다. 예를 들어 "여기 내가 찾아낸 것이 있어"라는 문장은 그 자체로 팩트가 아니며, 따라서 그라운딩 검사가 필요하지 않습니다.그라운딩 검사 필요가
true
로 반환된 경우에는 그라운딩 검사가 수행되었고 지원 점수, 인용, 반대 인용(있는 경우)이 반환됩니다.
답변 후보의 지원 점수 가져오기
팩트 집합에서 답변 후보의 그라운딩 정도를 확인하려면 다음 단계를 수행합니다.
팩트 집합을 준비합니다. 자세한 내용과 예시는 용어 정의 및 설명을 참조하세요.
다음 코드를 사용하여
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.
입니다. 답변 후보는 최대 4, 096개 토큰을 포함할 수 있으며, 여기서 토큰은 문장 내 단어 또는 마침표 (문장을 끝내는 데 사용되는 구두점)로 정의됩니다. 예를 들어 '2024년에 기성복을 입었습니다.'라는 문장은 6단어와 마침표를 포함하여 7개의 토큰으로 구성됩니다.TEXT
: 그라운딩에 사용할 텍스트 세그먼트입니다. 예를 들면Titanic is a 1997 American epic... Academy Awards.
입니다(팩트 예시의 전체 텍스트 참조).ATTRIBUTE
: 팩트와 연관된 메타데이터 속성의 이름입니다(예:author
또는title
). 이는 팩트 텍스트에 추가 정보를 제공하는 사용자 정의 라벨입니다. 예를 들어 팩트 텍스트Toronto is the capital of Ontario
에 해당 값이Wikipedia
인author
속성이 있으면 팩트에서 다음 클레임이 그라운딩된 것으로 간주됩니다.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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
팩트 예시
다음은 몇 가지 예시 팩트와 해당 속성을 보여줍니다. 이러한 예시는 그라운딩 답변과 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 인용된 청크:
|
Titanic was directed by James Cameron. It was released in
1997.
|
지원 점수: 0.99 인용된 청크:
|
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 인용된 청크:
|
Titanic was directed by James Cameron. It starred Brad Pitt and
Kate Winslet
|
지원 점수: 0.54 인용된 청크:
"It starred Brad Pitt and Kate Winslet" 클레임은 완전한 사실이 아니므로 인용을 얻지 못합니다. 이 경우 반대 인용을 사용 설정하고 메서드를 호출해서 상충 점수를 제공할 수 있습니다.
자세한 내용은 답변 후보의 상충 점수 가져오기를 참조하세요. |
답변 후보의 상충 점수 가져오기
지원 점수 외에도 상충 점수를 가져올 수 있습니다. 상충 점수는 제공된 팩트와 상충하는 클레임의 비율을 대략적으로 추정합니다.
이 실험적 기능을 시도해보려면 Google 계정팀에 연락해서 허용 목록에 추가해 달라고 요청하세요.
상충 점수 가져오기
상충 점수를 가져오려면 다음 단계를 수행합니다.
팩트 집합을 준비합니다. 자세한 내용과 예시는 용어 정의 및 설명을 참조하세요.
다음 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개 토큰을 포함할 수 있습니다. 여기서 토큰은 문장 내 단어 또는 마침표 (문장을 끝내는 데 사용되는 구두점)로 정의됩니다. 예를 들어 '2024년에 기성복을 입었습니다.'라는 문장은 6단어와 마침표 1개를 포함하여 7개의 토큰으로 구성됩니다.TEXT
: 그라운딩에 사용할 텍스트 세그먼트입니다. 예를 들면Titanic is a 1997 American epic... Academy Awards.
입니다(팩트 예시의 전체 텍스트 참조).ATTRIBUTE
: 팩트와 연관된 메타데이터 속성의 이름입니다(예:author
또는title
). 이는 팩트 텍스트에 추가 정보를 제공하는 사용자 정의 라벨입니다. 예를 들어 팩트 텍스트Toronto is the capital of Ontario
에 해당 값이Wikipedia
인author
속성이 있으면 팩트에서 다음 클레임이 올바르게 그라운딩된 것으로 간주됩니다.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 인용된 청크:
|
답변 후보의 유용성 점수 가져오기
이 실험적 기능을 시도해보려면 Google 계정팀에 연락해서 허용 목록에 추가해 달라고 요청하세요.
check grounding API는 지원 점수 및 상충 점수 외에도 유용성 점수를 제공할 수 있습니다. 유용한 응답은 프롬프트에 명시된 대로 사용자의 요청을 유용한 방식으로 효과적으로 처리하는 응답입니다. 유용성 점수는 대답이 다음을 얼마나 잘 수행하는지 측정한 것입니다.
- 프롬프트의 핵심 의도를 해결합니다.
- 간결하면서도 완전한 세부정보를 제공합니다.
- 질문에 직접 답변하거나 프롬프트에서 요청한 작업을 완료합니다.
- 관련성 높은 정보 제공
- 명확하고 간단합니다.
- 불필요한 세부정보와 전문 용어를 피합니다.
그라운딩 점수와 함께 유용성 점수를 얻으려면 답변 후보 및 사실과 함께 프롬프트를 제공해야 합니다. 그라운딩 검사 API는 프롬프트와 함께 답변 후보를 검토하고 답변 후보가 프롬프트에 얼마나 유용하게 답변하는지 나타내는 점수를 부여합니다. 점수는 [0, 1] 범위에 속하며 점수가 높을수록 답변이 더 유용합니다.
유용성 점수 확인
유용성 점수를 가져오려면 다음 단계를 따르세요.
프롬프트와 답변 후보를 준비합니다.
다음 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": { "enableHelpfulnessScore": true }, "prompt": "PROMPT", }'
다음을 바꿉니다.
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
에 해당 값이Wikipedia
인author
속성이 있으면 팩트에서 다음 클레임이 올바르게 그라운딩된 것으로 간주됩니다.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)
).PROMPT
: 프롬프트는 대답 후보가 대답하기 위해 생성된 쿼리입니다(예:Who directed and starred in the movie Titanic?
).
요청 예시
이전 섹션의 팩트 예시를 사용하여 다음 요청을 전송할 수 있습니다. 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": {
"enableHelpfulnessScore": true
},
"prompt": "Who directed and starred in the movie Titanic?"
}'
유용성 점수가 포함된 답변 예시
다음 표에는 유용성 점수가 포함된 답변 후보의 예가 나와 있습니다. 각 경우 프롬프트는 Who directed and starred in the Titanic?
입니다.
답변 후보 | 유용성 점수 | 점수 설명 |
---|---|---|
Titanic was directed by James Cameron. It starred Leonardo DiCaprio and
Kate Winslet.
|
0.980
|
간결하고 완전한 점수 |
Cameron, DiCaprio and Winslet.
|
0.947
|
미완료 |
James Cameron's 1997 masterpiece, Titanic, captured the hearts of
audiences worldwide with its tragic love story set against the backdrop of
the ill-fated maiden voyage of the "unsinkable" ship. The film, a
mesmerizing blend of historical drama and fictional romance, starred
Leonardo DiCaprio as Jack Dawson, a penniless artist who falls for Rose
DeWitt Bukater, a young woman trapped by her social standing and played
exquisitely by Kate Winslet. Their passionate love affair unfolds amidst
the grandeur and opulence of the Titanic, a floating palace of dreams that
ultimately succumbs to a devastating fate.
|
0.738
|
간결하지 않음 |
답변 후보의 클레임 수준 점수 가져오기
답변 후보 지원 점수 외에도 답변 후보에서 각 클레임의 클레임 수준 지원 점수를 가져올 수 있습니다.
이 실험적 기능을 시도해보려면 Google 계정팀에 연락해서 허용 목록에 추가해 달라고 요청하세요.
클레임 수준 점수를 가져오려면 다음 단계를 수행합니다.
팩트 집합을 준비합니다. 자세한 내용과 예시는 용어 정의 및 설명을 참조하세요.
다음 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개 토큰을 포함할 수 있습니다. 여기서 토큰은 문장 내 단어 또는 마침표 (문장을 끝내는 데 사용되는 구두점)로 정의됩니다. 예를 들어 '2024년에 기성복을 입었습니다.'라는 문장은 6단어와 마침표 1개를 포함하여 7개의 토큰으로 구성됩니다.TEXT
: 그라운딩에 사용할 텍스트 세그먼트입니다. 예를 들면Titanic is a 1997 American epic... Academy Awards.
입니다(팩트 예시의 전체 텍스트 참조).ATTRIBUTE
: 팩트와 연관된 메타데이터 속성의 이름입니다(예:author
또는title
). 이는 팩트 텍스트에 추가 정보를 제공하는 사용자 정의 라벨입니다. 예를 들어 팩트 텍스트Toronto is the capital of Ontario
에 해당 값이Wikipedia
인author
속성이 있으면 팩트에서 다음 클레임이 올바르게 그라운딩된 것으로 간주됩니다.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 인용된 청크:
|
데이터 스토어를 사용하여 접지 확인
기본적으로 그라운딩은 Check Grounding API 호출에 인라인으로 제공된 일련의 사실과 비교하여 확인됩니다. 하지만 인라인으로 사실을 제공하는 대신 Vertex AI Search 데이터 스토어의 모든 사실과 답변 후보를 확인할 수 있습니다.
check grounding API를 호출할 때 Vertex AI 검색 앱의 이름을 제공합니다. 그러면 해당 검색 앱과 연결된 비정형 데이터 스토어에 답변 후보의 그라운딩을 확인하는 데 사용되는 사실 집합이 보관됩니다.
데이터 스토어에 대한 접지를 확인하려면 다음 단계를 따르세요.
비정형 데이터가 포함된 데이터 스토어와 연결된 일반 검색 앱을 하나 이상 식별합니다. 이 데이터 스토어의 문서는 그라운딩 사실의 소스로 사용됩니다.
데이터 스토어 및 검색 앱을 만드는 방법은 검색 데이터 스토어 만들기 및 검색 앱 만들기를 참고하세요.
앱 ID를 찾습니다. 앱 ID를 이미 알고 있는 경우 다음 단계로 건너뜁니다.
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
앱 페이지에서 앱 이름을 찾고 ID 열에서 앱 ID를 가져옵니다.
다음 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", "groundingSource": { "searchSource": "projects/SOURCE_PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search" } }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 프로젝트 번호나 ID입니다.SOURCE_PROJECT_ID
: 접지 앱이 포함된 프로젝트의 프로젝트 번호 또는 ID입니다.이 소스 프로젝트는 프로젝트와 동일한 리전에 있어야 합니다(예: 둘 다
global
또는 둘 다eu
). 멀티 리전에 관한 일반적인 정보는 위치를 참고하세요.CANDIDATE
: 지원 점수를 가져오려는 답변 후보 문자열입니다. 예를 들면Titanic was directed by James Cameron. It was released in 1997.
입니다. 답변 후보는 최대 4096개 토큰을 포함할 수 있습니다. 여기서 토큰은 문장 내 단어 또는 마침표 (문장을 끝내는 데 사용되는 구두점)로 정의됩니다. 예를 들어 '2024년에 기성복을 입었습니다.'라는 문장은 단어 6개와 마침표 1개를 포함하여 토큰 7개로 구성됩니다.APP_ID
: 그라운딩 소스로 사용하려는 사실이 구조화되지 않은 데이터 스토어에 포함된 Vertex AI Search 앱의 ID입니다.