데이터를 검색 가능하도록 만들기

완료됨

사용자 고유의 데이터를 사용하여 정확한 답변을 생성하는 에이전트를 만들려면 데이터를 효율적으로 검색할 수 있어야 합니다. Microsoft Foundry를 사용하여 에이전트를 빌드할 때 Azure AI Search 와의 통합을 사용하여 채팅 흐름에서 관련 컨텍스트를 검색할 수 있습니다.

Azure AI 검색은 프롬프트 흐름을 사용하여 언어 모델 애플리케이션을 빌드할 때 포함할 수 있는 검색기입니다. Azure AI 검색을 사용하면 사용자 고유의 데이터를 가져오고, 데이터를 인덱싱하고, 인덱스를 쿼리하여 필요한 정보를 검색할 수 있습니다.

접지 데이터를 검색하기 위해 쿼리되는 인덱스를 보여주는 다이어그램.

벡터 인덱스 사용

텍스트 기반 인덱스는 검색 효율성을 향상하지만, 일반적으로 데이터 원본의 텍스트 토큰을 나타내는 임베딩이 포함된 벡터 기반 인덱스를 사용하면 더 나은 데이터 검색 솔루션을 얻을 수 있습니다.

포함은 검색 엔진이 관련 정보를 쉽게 찾는 데 사용할 수 있는 특수한 형식의 데이터 표현입니다. 더 구체적으로, 임베딩은 부동 소수점 숫자의 벡터입니다.

예를 들어 다음 내용이 포함된 두 개의 문서가 있다고 상상해 보세요.

  • “어린이들은 공원에서 즐겁게 놀았습니다.”
  • “아이들은 행복하게 놀이터를 돌아다녔습니다.”

이 두 문서에는 다른 단어가 사용되더라도 의미 체계적으로 관련된 텍스트가 포함되어 있습니다. 문서의 텍스트에 대한 벡터 포함을 만들면 텍스트의 단어 간 관계를 수학적으로 계산할 수 있습니다.

문서에서 추출되고 다차원 공간에서 벡터로 그려지는 키워드를 상상해 보세요.

벡터 임베딩 다이어그램.

코사인 유사성이라고도 하는 두 벡터 사이의 각도의 코사인을 측정하여 벡터 간 거리를 계산할 수 있습니다. 즉, 코사인 유사성은 문서와 쿼리 간의 의미 체계 유사성을 계산합니다.

벡터로 단어와 해당 의미를 나타내면 데이터가 다른 형식(텍스트 또는 이미지) 및 언어로 저장되는 경우에도 데이터 원본에서 관련 컨텍스트를 추출할 수 있습니다.

벡터 검색을 사용하여 데이터를 검색하려면 검색 인덱스를 만들 때 포함 항목을 만들어야 합니다. 검색 인덱스에 대한 포함을 만들려면 Microsoft Foundry에서 사용할 수 있는 Azure OpenAI 포함 모델을 사용할 수 있습니다.

임베딩이 포함된 벡터 인덱스를 보여주는 다이어그램.

Foundry 모델의 Azure OpenAI에 포함되는 방법에 대해 자세히 알아봅니다.

검색 인덱스 만들기

Azure AI 검색에서 검색 인덱스는 콘텐츠를 검색 가능하도록 구성하는 방법을 설명합니다. 많은 책이 있는 도서관을 상상해 보세요. 도서관에서 검색하여 관련 책을 쉽고 효율적으로 찾을 수 있기를 원합니다. 도서관을 검색 가능하도록 만들려면 책과 관련된 모든 데이터가 포함된 카탈로그를 만들어 책을 쉽게 찾을 수 있도록 합니다. 도서관의 카탈로그는 검색 인덱스 역할을 합니다.

인덱스를 만드는 방법은 서로 다르지만 Microsoft Foundry에서 Azure AI Search를 통합하면 언어 모델에 적합한 인덱스를 쉽게 만들 수 있습니다. Microsoft Foundry에 데이터를 추가할 수 있으며, 그 후에는 Azure AI Search를 사용하여 포함 모델을 사용하여 Microsoft Foundry 포털에서 인덱스 만들기를 수행할 수 있습니다. 인덱스 자산은 Azure AI Search에 저장되고 채팅 흐름에서 사용될 때 Microsoft Foundry에서 쿼리합니다.

Microsoft Foundry에서 인덱스 만들기 스크린샷

검색 인덱스를 구성하는 방법은 보유한 데이터와 언어 모델에서 사용할 컨텍스트에 따라 달라집니다. 예를 들어 키워드 검색을 사용하면 검색 쿼리와 정확히 일치하는 정보를 검색할 수 있습니다. 의미 체계 검색은 의미 체계 모델을 사용하여 정확한 키워드 대신 쿼리의 의미와 일치하는 정보를 검색하여 벌써 한 단계 더 나아갑니다. 현재 가장 진보된 기술은 데이터 표현을 위한 임베딩을 생성하는 벡터 검색입니다.

벡터 검색에 대해 자세히 알아봅니다.

인덱스 검색

인덱스에서 정보를 쿼리할 수 있는 방법에는 여러 가지가 있습니다.

  • 키워드 검색: 입력으로 제공된 특정 키워드나 용어를 기반으로 관련 문서나 구절을 식별합니다.
  • 의미 체계 검색: 정확한 키워드 일치에만 의존하기보다는 쿼리의 의미를 이해하고 의미 체계상 관련된 콘텐츠와 일치시켜 문서나 구절을 검색합니다.
  • 벡터 검색: 텍스트(벡터)의 수학적 표현을 사용하여 의미 체계적 의미 또는 컨텍스트를 기반으로 유사한 문서나 구절을 찾습니다.
  • 하이브리드 검색: 다른 검색 기술 중 일부 또는 전부를 결합합니다. 쿼리는 병렬로 실행되며 통합된 결과 집합으로 반환됩니다.

Microsoft Foundry에서 검색 인덱을 만들 때 언어 모델과 함께 사용하기에 가장 적합한 인덱스 구성을 안내합니다. 검색 결과가 생성형 AI 애플리케이션에서 사용되는 경우 하이브리드 검색은 가장 정확한 결과를 제공합니다.

하이브리드 검색은 선택적으로 의미 체계 순위가 추가되는 키워드(및 전체 텍스트) 및 벡터 검색의 조합입니다. 하이브리드 검색에 호환되는 인덱스를 생성할 때, 키워드를 활용하여 정확한 일치 항목이 있을 경우 검색된 정보는 매우 정확하며, 벡터 검색을 통해 개념적으로 유사한 정보만 찾을 수 있을 때에도 여전히 관련성이 높습니다.

하이브리드 검색에 대해 자세히 알아봅니다.