Vertex AI Search는 검색 결과를 개선하기 위해 각 검색 응답에 검색 스니펫, 추출 답변, 추출 세그먼트를 제공할 수 있습니다.
스니펫: 스니펫은 검색 결과 문서의 텍스트를 간단히 추출하여 검색 결과 콘텐츠의 미리보기를 제공하는 것입니다. 여기에는 UI에서 렌더링할 수 있는 검색 결과 강조 표시가 포함됩니다. 스니펫은 일반적으로 최종 사용자가 검색 결과의 관련성과 유용성을 평가하는 데 도움이 되도록 각 검색 결과 아래에 표시됩니다. 스니펫은 비정형 데이터 및 웹사이트 데이터(기본 웹사이트 검색 및 고급 웹사이트 색인 생성 모두)가 있는 데이터 스토어에 사용할 수 있습니다.
추출 답변: 추출 답변은 각 검색 결과와 함께 반환되는 그대로의 텍스트입니다. 원본 문서에서 직접 추출됩니다. 추출 답변은 일반적으로 웹페이지 상단에 표시되어 최종 사용자에게 쿼리와 문맥적으로 관련된 간단한 답변을 제공합니다. 추출 답변은 비정형 데이터가 있고 고급 웹사이트 색인 생성이 적용된 데이터 스토어에서 사용할 수 있습니다.
추출 세그먼트: 추출 세그먼트는 각 검색 결과와 함께 반환되는 그대로의 텍스트입니다. 추출 세그먼트는 일반적으로 추출 답변보다 더 자세합니다. 추출 세그먼트는 쿼리에 대한 답변으로 표시될 수 있으며, 후처리 태스크를 실행하는 데 사용될 수 있고, 대규모 언어 모델의 입력으로 사용하여 답변이나 새 텍스트를 생성할 수 있습니다. 추출 세그먼트는 비정형 데이터가 있고 고급 웹사이트 색인 생성이 적용된 데이터 스토어에서 사용할 수 있습니다.
예시
다음 예시는 스니펫, 추출 답변, 추출 세그먼트의 차이를 보여주는 데 도움이 됩니다.
쿼리: 'Vertex AI Agent Builder란 무엇인가요?'
스니펫:
이를 지원하기 위해 Google은 개발자가 봇 등의 생성형 앱을 빠르게 제작할 수 있도록 지원하는 새로운 Vertex AI Agent Builder를 발표하였습니다.
추출 답변:
Vertex AI Agent Builder는 개발자가 봇, 채팅 인터페이스, 커스텀 검색엔진, 디지털 어시스턴트 등을 비롯한 새로운 경험을 빠르게 제공할 수 있게 도와줍니다. 개발자는 Google의 기반 모델에 API로 액세스하고 즉시 사용 가능한 템플릿으로 몇 분 또는 몇 시간 내에 생성형 앱을 빠르게 제작할 수 있습니다.
추출 세그먼트:
기업과 정부는 또한 새로운 AI 기술을 활용해서 고객, 파트너 및 직원 상호작용을 더 효과적이고 유용하게 만들고자 합니다. 이를 위해 새로운 Vertex AI Agent Builder를 발표합니다.
Vertex AI Agent Builder는 개발자가 봇, 채팅 인터페이스, 커스텀 검색엔진, 디지털 어시스턴트 등을 비롯한 새로운 경험을 빠르게 제공할 수 있게 도와줍니다. 개발자는 Google의 기반 모델에 API로 액세스하고 즉시 사용 가능한 템플릿으로 몇 분 또는 몇 시간 내에 생성형 앱을 빠르게 제작할 수 있습니다. 개발자는 Vertex AI Agent Builder를 사용하여 다음 작업도 할 수 있습니다.
- 조직 데이터 및 정보 검색 기술을 결합하여 관련성 있는 답변을 제공합니다.
- 텍스트 이외의 정보를 사용하여 검색하고 응답합니다.
- 자연스러운 대화를 구조화된 흐름과 결합합니다.
- 단순한 알림 대신 상호작용을 지원합니다.
시작하기 전에
사용 중인 앱 유형에 따라 다음 기본 요건을 완료합니다.
비정형 앱:
스니펫의 경우 요구사항이 없습니다.
추출 답변 및 추출 세그먼트의 경우 Enterprise 버전 기능을 사용 설정합니다.
웹사이트 앱:
스니펫의 경우 다음을 사용 설정합니다.
추출 답변의 경우 다음을 사용 설정하세요.
스니펫
스니펫은 각 검색 결과 문서에서 그대로 추출한 짧은 텍스트입니다. UI에서 검색 결과 미리보기를 렌더링하기 위해 HTML 태그로 굵게 강조 표시됩니다. 일반적으로 스니펫은 최종 사용자가 검색 결과를 클릭하는 것이 유용할지 결정하는 데 도움이 되도록 검색 결과 아래에 미리보기 텍스트로 렌더링됩니다.
스니펫은 웹사이트 및 비정형 검색에 사용할 수 있습니다.
스니펫 가져오기
스니펫을 가져오려면 다음 단계를 따르세요.
ContentSearchSpec.SnippetSpec
이 포함되고returnSnippet
이 true로 설정된 검색 요청을 전송합니다.다음
SnippetSpec
예시에서는 각 검색 결과에 대해 스니펫을 반환할 수 있음을 지정합니다."contentSearchSpec": { "snippetSpec": { "returnSnippet": true } }
returnSnippet
:true
로 설정하면 스니펫을 반환합니다.
검색 응답에서 스니펫을 가져옵니다. 스니펫은
derivedStructData.snippets
에서 각 검색결과와 함께 반환됩니다.검색 응답의 결과 중 하나로 반환된 문서의 이 예시에서는 굵게 강조 표시된 스니펫이 결과에 포함되어 있습니다.
{ "id": "54321", "document": { "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321", "id": "54321", "derivedStructData": { "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2008_google_annual_report.pdf", "snippets": [ { "snippet": "Google Chrome. Google Chrome is an open-source browser that combines a minimal design with technologies to make the web faster, safer, and easier to navigate.", "snippet_status": "SUCCESS" } ] } } }
snippet
: 문서 검색 결과에 대해 생성된 스니펫을 포함합니다. 검색 결과 강조 표시는 굵은꼴 HTML 태그에 포함됩니다.snippet_status
: 스니펫이 생성되면 이 필드는SUCCESS
로 반환됩니다. 스니펫이 생성되지 않으면 이 필드는NO_SNIPPET_AVAILABLE
로 반환됩니다.
추출 답변
추출 답변은 문서에서 그대로 가져온 텍스트 섹션입니다. 문서가 검색 응답에서 검색 결과로 반환되면 관련성 높은 추출 답변이 해당 결과와 함께 반환될 수 있습니다.
추출 답변은 검색 결과 문서에서 추출된 단락, 표, 글머리기호 목록과 같은 텍스트일 수 있습니다. 추출 답변은 추출 세그먼트보다 짧습니다.
재구성된 요약보다 정확한 원문 그대로의 답변이 더 적합한 경우 추출 답변을 요약된 응답 대신 사용할 수 있습니다.
추출 답변은 비정형 데이터가 있고 고급 웹사이트 색인 생성이 적용된 데이터 스토어에서 사용할 수 있습니다.
추출 답변 받기
추출 답변을 얻으려면 다음 단계를 따르세요.
ContentSearchSpec.extractiveContentSpec
을 사용하여maxExtractiveAnswerCount
를 지정하는 검색 요청을 전송합니다.다음
extractiveContentSpec
예시에서는 각 검색 결과에 대한 답변을 반환할 수 있음을 지정합니다."contentSearchSpec": { "extractiveContentSpec": { "maxExtractiveAnswerCount": 1 } }
maxExtractiveAnswerCount
: 각 검색 결과에 대해 반환할 추출 답변의 수입니다. 기본값은 0이고 최댓값은 5입니다.
검색 결과에서 추출 답변을 가져옵니다. 추출 답변은
extractive_answers
의 각 검색 결과와 함께 반환됩니다.검색 응답의 결과 중 하나로 반환된 문서의 이 예시에서는 추출 답변이 결과에 포함되었습니다.
{ "id": "54321", "document": { "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321", "id": "54321", "derivedStructData": { "extractive_answers": [ { "pageNumber": "2", "content": "Google saw growth throughout the year both in our domestic business and internationally, both on Google owned sites and on the Google Network. Specifically, revenues from Google owned sites increased 101% on a year over year basis, from $792 million to $1.6 billion." } ], "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2004Q4_earnings_google.pdf" } } }
pageNumber
: 문서에서 페이지 번호를 추출할 수 있는 경우 이 필드는 답변이 추출된 위치를 나타냅니다.content
: 추출 답변의 콘텐츠입니다.
추출 세그먼트
추출 세그먼트는 검색 결과 문서에서 그대로 추출된 텍스트 섹션입니다. 추출 세그먼트는 추출 대답과 유사하지만 추출 세그먼트는 일반적으로 더 완전하고 상세합니다. 일반적으로 추출 세그먼트는 자체 LLM의 입력으로 사용되어 대답이나 새 텍스트를 생성합니다.
추출 세그먼트는 표 및 글머리기호 목록과 같은 서식이 지정된 텍스트를 포함하여 여러 단락이 될 수 있습니다.
추출 세그먼트는 비정형 데이터가 있고 고급 웹사이트 색인 생성이 적용된 데이터 스토어에서 사용할 수 있습니다.
추출 세그먼트 옵션
추출 세그먼트에서 사용할 수 있는 옵션은 다음과 같습니다.
세그먼트 수: 각 검색 결과에 대해 반환할 추출 세그먼트를 최대 10개까지 지정할 수 있습니다.
관련성 점수: 관련성 점수는 추출 세그먼트에 대한 쿼리의 유사성을 기반으로 합니다. 추출 세그먼트가 관련성 점수와 함께 반환되도록 지정할 수 있습니다. 점수 범위는 -1.0(관련성 낮음)~1.0(관련성 높음)입니다. 관련성 점수를 사용 설정하면 지연 시간이 늘어날 수 있습니다.
인접한 세그먼트(미리보기):
numPreviousSegments
및numNextSegments
를 설정하여 관련 세그먼트 바로 앞과 뒤에서 최대 3개 세그먼트를 가져올 수 있습니다. 인접한 세그먼트는 관련 세그먼트에 컨텍스트와 정확성을 추가할 수 있습니다.인접한 세그먼트를 사용 설정하면 지연 시간이 늘어날 수 있습니다.
추출 세그먼트 가져오기
다음 단계에서는 비정형 데이터의 추출 세그먼트를 가져오는 방법을 보여줍니다. 이와 유사한 단계에 따라 웹사이트 데이터의 추출 세그먼트를 가져올 수 있습니다.
ContentSearchSpec.extractiveContentSpec
을 사용하여maxExtractiveSegmentCount
를 지정하는 검색 요청을 전송합니다.다음
extractiveContentSpec
예시에서는 검색 결과마다 하나의 세그먼트가 반환될 수 있음을 지정합니다."contentSearchSpec": { "extractiveContentSpec": { "maxExtractiveSegmentCount": 1 } }
maxExtractiveSegmentCount
: 각 검색 결과에 대해 반환할 추출 세그먼트 수입니다. 기본값은 0이고 최댓값은 10입니다.
추가 옵션:
returnExtractiveSegmentScore
: 반환된 각 세그먼트의 관련성 점수를 반환하도록true
로 설정합니다.numPreviousSegments
: 관련 세그먼트 전에 반환할 인접 세그먼트의 수입니다. 기본값은 0이고 최댓값은 3입니다. 인접한 세그먼트를 사용하면 지연 시간이 늘어날 수 있습니다.numNextSegments
: 관련 세그먼트 뒤에 반환할 인접한 세그먼트 수입니다. 기본값은 0이고 최댓값은 3입니다. 인접한 세그먼트를 사용하면 지연 시간이 늘어날 수 있습니다.
이러한 옵션에 대한 자세한 내용은 추출 세그먼트 옵션을 참조하세요.
검색 응답에서 세그먼트를 가져옵니다. 세그먼트는
extractive_segments
에서 각 검색 결과와 함께 반환됩니다.검색 응답의 결과 중 하나로 반환된 문서의 이 예시에서는 결과에 세그먼트가 포함되었습니다.
{ "id": "54321", "document": { "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321", "id": "54321", "derivedStructData": { "extractive_segments": [ { "pageNumber": "2", "content": "Client\nGoogle Toolbar. Google Toolbar is a free application that adds a Google search box to web browsers (Internet\nExplorer and Firefox) and improves user web experience through features such as a pop-up blocker that blocks\npop-up advertising, an autofill feature that completes web forms with information saved on a user's computer, and\ncustomizable buttons that let users search their favorite web sites and stay updated on their favorite feeds.\n\nGoogle Chrome. Google Chrome is an open-source browser that combines a minimal design with\ntechnologies to make the web faster, safer, and easier to navigate.\nGoogle Pack. Google Pack is a free collection of safe, useful software programs from Google and other\ncompanies that improve the user experience online and on the desktop. It includes programs that help users\nbrowse the web faster, remove spyware and viruses.\n\nPicasa. Picasa is a free service that allows users to view, manage and share their photos. Picasa enables users\nto import, organize and edit their photos, and upload them to Picasa Web Albums where the photos can be shared\nwith others on the internet.\n\nGoogle Desktop. Google Desktop lets people perform a full-text search on the contents of their own\ncomputer, including email, files, instant messenger chats and web browser history. Users can view web pages they\nhave visited even when they are not online. Google Desktop also includes a customizable Sidebar that includes\nmodules for weather, stock tickers and news.\n\n5" } ], "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2004Q4_earnings_google.pdf" } } }
pageNumber
: 문서에서 페이지 번호를 추출할 수 있는 경우 이 필드는 답변이 추출된 위치를 나타냅니다.content
: 추출 세그먼트의 콘텐츠입니다.