사이트 검색 업그레이드: 생성형 AI를 통한 상황별 답변

생성형 AI란 인공지능을 통해 텍스트, 이미지, 음악, 오디오, 동영상을 볼 수 있습니다. 생성형 AI는 머신러닝 (ML) 모델을 사용하여 인간이 만든 콘텐츠의 데이터 세트에서 패턴과 관계를 분석하는 것입니다

이 기술은 Gemini의 모든 기능을 알아보세요. 이러한 광고 단위를 어떻게 구현하고 사용할 수 있나요?

일반적인 사용 사례 중 하나는 사용자에게 질문하기에 더 나은 인터페이스를 제공하는 것입니다. 웹사이트 콘텐츠에 대한 답을 얻을 수 있습니다 사용자의 검색 결과를 크게 개선하고 머신러닝이 필요합니다

사용자가 질문을 작성하는 인터페이스를 만들 수 있습니다. 대규모 언어 모델 (LLM)에 전송할 수 있으며, Gemini 사용자에게 답변을 표시할 수 있습니다.

이 사이트에 이러한 기능이 있다고 가정해 보겠습니다. 사용자가 어떤 API가 사용 가능한지 알고 싶어 함 상호 운용성 2024에 포함되어 있으며 다음 쿼리를 입력합니다.

What are the features included in Interop 24?

안타깝게도 다음과 같은 몇 가지 이유로 인해 출력이 올바르지 않을 수 있습니다.

  • 사용자가 LLM에 질문에 대한 맥락을 거의 제공하지 않았으므로 LLM은 잘못된 답변이나 할루시네이션을 반환할 가능성이 더 높습니다.
  • LLM은 상호 운용성 2024가 만들어지기 전에 학습되었거나 그 정보를 알지 못합니다.

LLM이 더 많은 최신 정보를 찾을 수도 있지만 데이터 세트가 본질적으로 오래되었습니다. 실적을 꾸준히 유지하는 것은 시간과 비용이 많이 듭니다

프롬프트 엔지니어링 사용하기

프롬프트 엔지니어링 LLM에서 최상의 출력을 얻기 위한 일련의 기법입니다.

한 가지 기법은 프롬프트에 추가 컨텍스트를 제공하여 LLM이 출력할 가능성이 더 높습니다.

상호 운용성의 예를 계속 들자면, 첫 번째 단계는 기사의 콘텐츠를 맥락으로 사용합니다. 그런 다음 질문을 LLM이 답합니다. 예를 들면 다음과 같습니다.

Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)

Input:
What are the features included in Interop 2024?

Gemini가 다음과 같이 출력할 수 있습니다.

The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL

이 답변은 맥락이 없는 프롬프트보다 훨씬 나을 수 있습니다. 왜냐하면 답은 제공된 맥락을 기반으로 합니다.

RAG로 확장

예를 들어 하나의 기사에 대한 질문에 답하는 대신 web.dev에 대한 추가 질문에 답변하려면 LLM에 추가 문맥을 제공합니다. 소규모 사이트에서 가능할 수 있지만 백만 개의 토큰이 사용되는 Gemini 1.5의 컨텍스트 윈도우 프롬프트가 클수록 실행 비용이 더 느리고 비용이 더 많이듭니다.

LLM의 입력 및 출력 길이는 문자를 표현하는 방법입니다. 이 토큰 수는 일반적으로 단어 수보다 큽니다. 첫 번째 예의 입력에는 775개의 단어가 있어 1097로 표시됩니다. 토큰입니다. LLM에 따라 토큰을 계산하는 방식이 다를 수 있으며 대부분의 경우 API 또는 엔드포인트를 사용하여 텍스트 입력을 위한 토큰 수를 계산합니다.

한 가지 해결책은 LLM 프롬프트 관련 도움말을 제공하는 것입니다. 이 작업은 다음과 같이 두 부분으로 구성됩니다.

  1. LLM에 프롬프트를 표시할 때 주요 기사의 콘텐츠를 컨텍스트로 추가합니다.
  2. '다음 주제에 포함된 기능 Interop 2024?"라는 오류 메시지가 표시될 수 있습니다.

Google에서는 Gemini 검색 결과가 다음 기사를 기반으로 한 콘텐츠를 반환하기를 바랍니다.

다음과 같이 입력해야 합니다.

Context:
Article 1:
Over the past two years... (trimmed)

Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)

Article 3:
Following on from the success of Interop 2022... (trimmed)

Input:
What are the features included in Interop 2024?

이 컨텍스트는 예상되는 출력을 생성합니다.

* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL

AI 기법에 익숙한 경우 이 접근 방식에서는 일반적인 관행인 RAG를 사용합니다. 생성형 AI 도구의 실제 답변 가능성을 높일 수 있습니다.

RAG 기법은 일반적인 전체 텍스트 검색에서 사용할 수 있지만 몇 가지 단점이 있습니다

  • 전체 텍스트 검색은 AI가 키워드와 정확히 일치하는 항목을 찾는 데 도움이 됩니다. 하지만 LLM은 사용자의 검색어에 담긴 의도된 의미를 파악할 수 있습니다 이는 출력이 불완전하거나 정확하지 않습니다.
  • 단어의 의미가 여러 개이거나 검색어가 동의어. 예: 'bank' (금융 기관 vs. 강은행) 관련이 없는 결과를 얻을 수 있습니다
  • 전체 텍스트 검색은 키워드가 포함된 결과를 출력할 수 있지만 사용자의 목표에 부합하지 않을 수 있습니다

시맨틱 검색 는 다음과 같은 주요 측면에 집중하여 검색 정확도를 개선하는 기법입니다.

  • 검색 사용자의 의도: 사용자가 검색하는 이유를 이해하려고 시도합니다. 생각해야 합니다. 고객이 무엇을 찾거나 달성하고자 하는가?
  • 문맥적 의미: 문맥에 맞게 단어와 문구를 해석 주변 텍스트뿐만 아니라 사용자의 위치나 검색어와 같은 기타 요인도 기록.
  • 개념 간의 관계: 시맨틱 검색은 지식 그래프를 사용함 (대형 자연어 처리를 사용하여 어떻게 연결되는지 살펴봤습니다.

따라서 시맨틱 검색으로 도구를 빌드하면 검색 결과는 키워드가 아닌 검색어의 전반적인 목적에 따라 즉, 도구를 사용하면 정확한 키워드가 없더라도 관련 문서를 파악할 수 있습니다. 가능 단어가 존재하지만 의미가 다른 결과는 피하는 것이 좋습니다.

현재 시맨틱 검색을 사용하는 두 가지 검색 도구를 구현할 수 있습니다. Vertex AI SearchAlgolia AI Search.

게시된 콘텐츠에서 답변 도출

LLM이 답변을 제공할 수 있도록 프롬프트 엔지니어링을 사용하는 방법을 알아봤습니다. 콘텐츠에 관련된 콘텐츠를 생성할 수 있습니다. 그리고 여러분은 이 접근 방식을 개별 기사에서 전체 코퍼스로 확장하는 방법을 배웠습니다. 콘텐츠의 질을 검색 증강 생성 (RAG) 기술입니다. 시맨틱 검색이 사용자의 결과를 어떻게 더 개선할 수 있는지 알아봤습니다. 제품에 RAG를 더 효과적으로 구현할 수 있습니다.

생성형 AI 도구가 '할루시네이션'을 일으킬 수 있다는 것은 알려진 문제입니다. 이를 통해 기껏해야 할 수도 있고, 신뢰할 수 없을 수도 있고, 최악의 경우 인터넷이나 사용자에게 있습니다. 이러한 기법을 통해 사용자와 개발자 모두 이러한 애플리케이션의 출력에 대한 신뢰를 구축할 수 있습니다.