다음을 통해 공유


검색 증강 생성 및 인덱스

이 문서에서는 생성 AI에서 RAG(검색 증강 생성) 및 인덱스의 중요성과 필요성에 대해 설명합니다.

RAG란?

몇 가지 기본 사항부터 설명합니다. ChatGPT와 같은 LLM(대규모 언어 모델)은 학습된 시점에 사용할 수 있었던 공용 인터넷 데이터에 대해 학습됩니다. 학습한 데이터와 관련된 질문에 그들이 대답할 수 있습니다. 공용 데이터가 모든 요구 사항을 충족하는 데 충분하지 않을 수 있습니다. 사용자는 사용자의 개인 데이터를 기반으로 한 답변을 원할 수 있습니다. 또는 공용 데이터가 최신이 아닐 수도 있습니다. 이 문제의 해결 방법이 LLM을 사용하여 사용자 자체 데이터로 답변을 생성하는 AI에서 사용되는 패턴인 RAG(검색 증강 생성)입니다.

RAG는 어떻게 작동하나요?

RAG는 ​​LLM과 함께 데이터를 사용하여 데이터에 특정한 답변을 생성하는 패턴입니다. 사용자가 질문을 하면 사용자 입력을 기반으로 데이터 저장소가 검색됩니다. 그런 다음 사용자 질문이 일치하는 결과와 결합되고, 프롬프트(AI 또는 기계 학습 모델에 대한 명시적 지침)를 사용하여 LLM으로 전송되어 원하는 답변을 생성합니다. 이 프로세스는 다음과 같이 설명될 수 있습니다.

RAG 패턴의 스크린샷.

에이전틱 RAG: 검색의 최신 접근 방식

기존 RAG 패턴은 단일 쿼리를 사용하여 데이터에서 정보를 검색합니다. 그러나 최신 에이전트 검색 은 대규모 언어 모델을 사용하여 복잡한 사용자 쿼리를 여러 개의 포커스가 있는 하위 쿼리로 지능적으로 분석하고, 병렬로 실행하고, 채팅 완성 모델에 최적화된 구조적 응답을 반환하는 RAG 아키텍처의 진화를 나타냅니다.

에이전트 검색은 클래식 RAG보다 몇 가지 이점을 제공합니다.

  • 컨텍스트 인식 쿼리 계획 - 대화 기록을 사용하여 컨텍스트 및 의도 이해
  • 병렬 실행 - 더 나은 범위를 위해 여러 개의 포커스가 있는 하위 쿼리를 동시에 실행합니다.
  • 구조적 응답 - 결과와 함께 접지 데이터, 인용 및 실행 메타데이터를 반환합니다.
  • 기본 제공 의미 체계 순위 - 결과의 최적의 관련성을 보장합니다.
  • 선택적 답변 합성 - 쿼리 응답에 직접 LLM으로 수식화된 답변을 포함할 수 있습니다.

에이전트는 에이전트 검색 을 사용하여 향상된 정확도 및 컨텍스트 이해를 활용합니다.

인덱스란 무엇이며 왜 필요한가요?

RAG는 사용자의 데이터를 사용하여 사용자 질문에 대한 답변을 생성합니다. RAG가 제대로 작동하려면 쉽고 비용 효율적인 방식으로 데이터를 검색하고 LLM에 보낼 방법을 찾아야 합니다. 인덱스는 이 문제를 해결합니다. 인덱스는 데이터를 효율적으로 검색할 수 있는 데이터 저장소입니다. 이 인덱스는 RAG에서 매우 유용합니다. 벡터(포함 모델을 사용하여 숫자 시퀀스로 변환된 텍스트/데이터)를 만들어 인덱스를 LLM에 최적화할 수 있습니다. 좋은 인덱스는 일반적으로 키워드 검색, 의미 체계 검색, 벡터 검색 또는 이러한 기능의 조합과 같은 효율적인 검색 기능을 제공합니다. 이 최적화된 RAG 패턴은 다음과 같이 설명할 수 있습니다.

인덱스가 있는 RAG 패턴의 스크린샷.

Azure AI는 RAG 패턴과 함께 사용할 인덱스 자산을 제공합니다. 인덱스 자산에는 다음과 같은 중요한 정보가 포함됩니다.

  • 인덱스는 어디에 저장되어 있나요?
  • 인덱스 액세스 방법
  • 인덱스를 검색할 수 있는 모드는 무엇인가요?
  • 인덱스에 벡터가 있나요?
  • 벡터에 사용되는 포함 모델은 무엇인가요?

Azure AI 인덱스가 기본 및 권장 인덱스 저장소로 Azure AI Search 를 사용합니다. Azure AI Search는 에이전트 검색을 사용하는 경우 검색 인덱스 및 기타 쿼리 대상에 저장된 벡터 및 텍스트 데이터에 대한 정보 검색을 지원하는 Azure 리소스입니다.