Azure

[Azure] AI Search 란

비번변경 2024. 11. 14. 09:29

개요

최근 신규로 담당한 업무 관련하여 AI Search라는 Azure의 서비스를 다루게 되었다. 업무를 진행하기 전에 어떤 서비스이고, 필요한 개념은 뭐가 있는지 정리해 둔다.

 

 

AI Search

포괄적이고 고급 검색 기술을 갖춘 엔터프라이즈 지원 검색 시스템.

구조적이거나 반구조적, 비구조적 문서에서 데이터를 추출하는 검색 솔루션을 만들기 위한 인프라와 도구를 제공한다.

Azure Search라는 이름으로 시작해서 Azure Cognitive Search로 변경되었고, 지금은 AI Search라는 이름으로 서비스 중이다.

Azure에서 RAG 기반 애플리케이션을 구축할 때 주로 권장된다. 기본적으로 Azure OpenAI와 Azure Machine Learning 간에 LLM이 연동되어 있다. 

🤔 Azure Machine Learning
머신 러닝 프로젝트를 관리하기  위한 서비스
머신러닝 전문가, 데이터 과학자, 데이터 엔지니어 등이 모델을 훈련하고 배포하고 운영할 수 있게 한다.

AI Search는 기존 시나리오와 생성형 AI 시나리오 모두에서 사용할 수 있으며, 기술 자료 인사이트, 정보 검색, RAG 및 자동화가 포함된다.

Azure AI Search는 외부 데이터 저장소와 쿼리 요청을 보내고 응답을 처리하는 클라이언트 애플리케이션 사이에 배치된다.

클라이언트 애플리케이션은 AI Search API를 사용해 관련성 튜닝, 의미 체계 순위 지정, 자동 완성, 동의어 일치, 유사 일치, 패턴 일치, 필터링 및 정렬 등을 포함한 검색 환경을 정의한다. Azure 환경의 AI Search는 다른 Azure 서비스와 연동하여 사용할 수 있다.

 

 

기능

일반적으로 검색 서비스를 만들 때 아래의 기능을 사용하게 된다.

  • 벡터 검색, 텍스트 검색, 하이브리드 검색에 사용하는 검색 엔진
  • 데이터 청크 및 벡터화
  • 텍스트 어휘 분석
  • 콘텐츠 추출 및 변환을 위한 인덱싱
  • 벡터 쿼리, 텍스트 검색, 하이브리드 쿼리, 유사 항목 검색, 자동 완성, 지역 검색 등을 위한 쿼리 구문
  • 쿼리 성능 조정
  • Azure OpenAI 연동

 

주요 워크로드

AI Search 서비스는 '인덱싱'과 '쿼리'라는 기본 워크로드를 가진다.

 

인덱싱

콘텐츠를 AI Search 서비스에 로드하여 검색할 수 있게 하는 유입 프로세스

다르게 표현하면, 검색 인덱스를 채우는 텍스트 콘텐츠와 토큰의 수집, 분석, 저장을 의미한다. 역 인덱스(inverted index)를 생성하고, 정보 검색을 지원하는 물리적 데이터 구조를 생성한다.

AI Search가 인덱싱할 수 있는 문서 형식은 JSON이다. 사용자는 JSON 문서를 업로드하거나 인덱서를 사용하여 검색한 데이터를 JSON 형식으로 직렬화할 수 있다.

🤔 inverted index
낱말이나 숫자와 같은 내용물로부터의 매핑 정보를 데이터베이스 파일의 특정 지점이나 문서 또는 문서 집합 안에 저장하는 색인 데이터 구조
문서가 데이터베이스에 추가될 때 늘어나는 처리를 위해 빠른 전문 검색을 가능하게 하기 위함을 목적으로 한다.

 

쿼리

검색 가능한 콘텐츠로 인덱스가 채워진 상태에서 클라이언트 애플리케이션이 검색 서비스에 쿼리 요청을 보내면 쿼리가 수행된다. 모든 쿼리 실행은 사용자가 제어하 수 있는 검색 인덱스를 통해 이루어진다.

 

 

참고 문서

https://learn.microsoft.com/en-us/azure/search/search-what-is-azure-search

https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning?view=azureml-api-2