Azure OpenAI 또는 Azure AI Search를 사용하여 엔터프라이즈 기술 자료 검색 및 쿼리

Azure Blob Storage
Azure Cache for Redis
Azure AI Search
Azure AI 서비스
Azure AI 문서 인텔리전스

이 문서에서는 Azure OpenAI Service 또는 Azure AI Search(이전의 Azure Cognitive Search)를 사용하여 엔터프라이즈 데이터의 문서를 검색하고 결과를 검색하여 ChatGPT 스타일의 질문 및 답변 환경을 제공하는 방법을 설명합니다. 이 솔루션은 다음 두 가지 방법을 설명합니다.

  • 포함 방법: Azure OpenAI 포함 모델을 사용하여 벡터화된 데이터를 만듭니다. 벡터 검색은 검색 결과의 의미 체계 관련성을 크게 높이는 기능입니다.

  • Azure AI Search 접근 방식: Azure AI Search를 사용하여 사용자 쿼리를 기반으로 관련 텍스트 데이터를 검색하고 검색합니다. 이 서비스는 전체 텍스트 검색, 의미 체계 검색, 벡터 검색 및 하이브리드 검색지원합니다.

참고 항목

Azure AI Search 에서 의미 체계 검색벡터 검색 기능은 현재 공개 미리 보기로 제공됩니다.

아키텍처: 포함 방법

Diagram that shows the embeddings approach.이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

수집할 문서는 FTP 서버의 파일, 전자 메일 첨부 파일 또는 웹 애플리케이션 첨부 파일과 같은 다양한 원본에서 올 수 있습니다. 이러한 문서는 Azure Logic Apps, Azure Functions 또는 Azure Data Factory와 같은 서비스를 통해 Azure Blob Storage에 수집할 수 있습니다. Data Factory는 대량 데이터를 전송하는 데 최적입니다.

만들기 포함:

  1. 문서가 Blob Storage로 수집되고 Azure 함수가 트리거되어 문서에서 텍스트를 추출합니다.

  2. 문서가 영어가 아닌 언어로 되어 있고 번역이 필요한 경우 Azure 함수는 Azure 번역기 호출하여 번역을 수행할 수 있습니다.

  3. 문서가 PDF 또는 이미지인 경우 Azure 함수는 Azure AI Document Intelligence를 호출하여 텍스트를 추출할 수 있습니다. 문서가 Excel, CSV, Word 또는 텍스트 파일인 경우 Python 코드를 사용하여 텍스트를 추출할 수 있습니다.

  4. 그런 다음 추출된 텍스트가 적절하게 청크 로 분할되고 Azure OpenAI 포함 모델을 사용하여 각 청크를 포함으로 변환합니다.

  5. 이러한 포함은 벡터 데이터베이스에 유지됩니다. 이 솔루션은 Azure Cache for Redis엔터프라이즈 계층을 사용하지만 모든 벡터 데이터베이스를 사용할 수 있습니다.

쿼리 및 검색:

  1. 사용자는 사용자 애플리케이션을 통해 쿼리를 보냅니다.

  2. Azure OpenAI 포함 모델은 쿼리를 벡터 포함으로 변환하는 데 사용됩니다.

  3. 벡터 데이터베이스에서 이 쿼리 벡터를 사용하는 벡터 유사성 검색은 상위 k 일치 콘텐츠를 반환합니다. 검색할 일치 콘텐츠는 코사인 유사성과 같은 유사성 측정값으로 정의된 임계값에 따라 설정할 수 있습니다.

  4. 검색된 상위 k 콘텐츠 및 시스템 프롬프트는 GPT-3.5 Turbo 또는 GPT-4와 같은 Azure OpenAI 언어 모델로 전송됩니다.

  5. 검색 결과는 사용자가 시작한 검색 쿼리에 대한 답변으로 표시되거나 검색 결과를 다중 턴 대화 시나리오의 접지 데이터사용할 수 있습니다.

아키텍처: Azure AI Search 끌어오기 접근 방식

Diagram that shows the pull approach.이 아키텍처의 Visio 파일을 다운로드합니다.

인덱스 만들기:

  1. Azure AI Search는 Blob Storage에서 문서의 검색 인덱스 만들기에 사용됩니다. Azure AI Search는 Blob Storage를 지원하므로 끌어오기 모델은 콘텐츠를 크롤링하는 데 사용되며 이 기능은 인덱서를 통해 구현됩니다.

    참고 항목

    Azure AI Search는 끌어오기 모델을 사용할 때 인덱싱을 위해 다른 데이터 원본 을 지원합니다. 여러 데이터 원본에서 문서를 인덱싱하고 단일 인덱스로 통합할 수도 있습니다 .

  2. 특정 시나리오에서 문서 번역이 필요한 경우 기본 제공 기술에 포함된 기능인 Azure 번역기 사용할 수 있습니다.

  3. 스캔한 PDF 또는 이미지와 같이 문서가 비정부 상태인 경우 Azure AI Search에서 기본 제공 또는 사용자 지정 기술을 기술 세트로 사용하여 AI를 적용할 수 있습니다. 전체 텍스트 검색이 불가능한 콘텐츠에 AI를 적용하는 것을 AI 보강이라고 합니다. 요구 사항에 따라 Azure AI Document Intelligence를 사용자 지정 기술로 사용하여 문서 분석 모델, 미리 빌드된 모델 또는 사용자 지정 추출 모델을 통해 PDF 또는 이미지에서 텍스트를 추출할 수 있습니다.

    AI 보강이 요구 사항인 경우 인덱스 로드에 끌어오기 모델(인덱서)을 사용해야 합니다.

    인덱싱을 위해 벡터 데이터를 로드하는 인덱스 스키마에 벡터 필드를 추가하는 경우 해당 벡터 데이터를 인덱싱하여 벡터 검색을 사용하도록 설정할 수 있습니다. Azure OpenAI 포함을 통해 벡터 데이터를 생성할 수 있습니다.

쿼리 및 검색:

  1. 사용자가 사용자 애플리케이션을 통해 쿼리를 보냅니다.

  2. 쿼리는 검색 문서 REST API를 통해 Azure AI Search에 전달됩니다. 쿼리 형식은 단순수 있으며 전체 텍스트 검색에 최적이거나 정규식, 유사 항목 및 야생 카드 검색 및 근접 검색과 같은 고급 쿼리 구문에 적합합니다. 쿼리 형식이 의미 체계 로 설정된 경우 문서에서 의미 체계 검색 이 수행되고 관련 콘텐츠가 검색됩니다. Azure AI Search는 사용자 쿼리를 벡터 포함으로 변환해야 하는 벡터 검색하이브리드 검색도 지원합니다.

  3. 검색된 콘텐츠 및 시스템 프롬프트는 GPT-3.5 Turbo 또는 GPT-4와 같은 Azure OpenAI 언어 모델로 전송됩니다.

  4. 검색 결과는 사용자가 시작한 검색 쿼리에 대한 답변으로 표시되거나 검색 결과를 다중 턴 대화 시나리오의 접지 데이터사용할 수 있습니다.

아키텍처: Azure AI Search 푸시 접근 방식

데이터 원본이 지원되지 않는 경우 푸시 모델을 사용하여 Azure AI Search에 데이터를 업로드할 수 있습니다.

Diagram that shows the push approach.이 아키텍처의 Visio 파일을 다운로드합니다.

인덱스 만들기:

  1. 수집할 문서를 번역해야 하는 경우 Azure 번역기 사용할 수 있습니다.
  2. 문서가 PDF 또는 이미지 와 같이 비정부 형식인 경우 Azure AI 문서 인텔리전스 를 사용하여 텍스트를 추출할 수 있습니다.
  3. 추출된 텍스트는 Azure OpenAI 포함 벡터 검색을 통해 벡터화할 수 있으며, 데이터는 Rest API 또는 Azure SDK를 통해 Azure AI Search 인덱스로 푸시될 수 있습니다.

쿼리 및 검색:

이 방법의 쿼리 및 검색은 이 문서의 앞부분에서 끌어오기 접근 방식과 동일합니다.

구성 요소

  • Azure OpenAI 는 콘텐츠 생성, 요약, 의미 체계 검색 및 자연어-코드 변환을 위한 GPT-3, Codex 및 포함 모델 시리즈를 포함하여 Azure OpenAI의 언어 모델에 대한 REST API 액세스를 제공합니다. Azure OpenAI Studio에서 REST API, Python SDK 또는 웹 기반 인터페이스를 사용하여 서비스에 액세스합니다.

  • Azure AI Document Intelligence는 Azure AI 서비스입니다. 인쇄 및 필기 텍스트, 테이블 및 키-값 쌍을 추출하는 문서 분석 기능을 제공합니다. Azure AI Document Intelligence는 청구서, 문서, 영수증, ID 카드 및 비즈니스 카드 데이터를 추출할 수 있는 미리 빌드된 모델을 제공합니다. 사용자 지정 템플릿 양식 모델 또는 사용자 지정 신경망 문서 모델을 사용하여 사용자 지정 모델을 학습하고 배포하는 데 사용할 수도 있습니다.

  • Document Intelligence Studio 는 Azure AI Document Intelligence 기능 및 모델을 탐색하고 사용자 지정 모델을 빌드, 태그 지정, 학습 및 배포하기 위한 UI를 제공합니다.

  • Azure AI Search 는 검색을 위한 인프라, API 및 도구를 제공하는 클라우드 서비스입니다. Azure AI Search를 사용하여 웹, 모바일 및 엔터프라이즈 애플리케이션에서 프라이빗 서로 다른 콘텐츠에 대한 검색 환경을 빌드합니다.

  • Blob Storage는 이 시나리오에서 원시 파일을 위한 개체 스토리지 솔루션입니다. Blob Storage는 .NET, Node.js 및 Python과 같은 다양한 언어에 대한 라이브러리를 지원합니다. 애플리케이션은 HTTP 또는 HTTPS를 통해 Blob Storage의 파일에 액세스할 수 있습니다. Blob Storage에는 대량의 데이터를 저장하기 위한 비용 최적화를 지원하는 핫, 쿨, 보관 액세스 계층이 있습니다.

  • Azure Cache for Redis엔터프라이즈 계층은 RediSearch, RedisBloom, RedisTimeSeries 및 RedisJSON과 같은 관리되는 Redis Enterprise 모듈을 제공합니다. 벡터 필드는 실시간 벡터 인덱싱(FLAT(무차별 암호 대입 알고리즘) 및 HNSW(계층적 탐색 가능한 작은 세계 알고리즘), 실시간 벡터 업데이트 및 k-가장 가까운 인접 검색을 지원하는 벡터 유사성 검색을 허용합니다. Azure Cache for Redis는 대기 시간이 짧고 처리량이 높은 데이터 스토리지 솔루션을 최신 애플리케이션에 제공합니다.

대안

시나리오에 따라 다음 워크플로를 추가할 수 있습니다.

  • Azure AI 언어 기능, 질문 답변대화형 언어 이해를 사용하여 데이터에 대한 자연스러운 대화형 계층을 빌드합니다. 이러한 기능은 사용자 지정 정보 기술 자료 입력에 대한 적절한 답변을 찾습니다.

  • 벡터화된 데이터를 만들려면 임베딩 모델을 사용할 수 있습니다. Azure AI Services Vision 이미지 검색 API를 사용하여 이미지를 벡터화할 수도 있습니다. 이 도구는 프라이빗 미리 보기에서 사용할 수 있습니다.

  • Azure Functions용 Durable Functions 확장을 코드 우선 통합 도구로 사용하여 필기, 텍스트 및 테이블 읽기, 처리 언어와 같은 텍스트 처리 단계를 수행하여 워크로드의 크기와 규모에 따라 데이터를 기반으로 엔터티를 추출합니다.

  • 다음을 포함하여 추출된 임베딩의 영구 스토리지에 데이터베이스를 사용할 수 있습니다.

시나리오 정보

수동 처리는 엄청난 양의 문서로 인해 점점 더 시간이 많이 걸리고, 오류가 발생하기 쉽고, 리소스를 많이 사용합니다. PDF, Excel, CSV, Word, PowerPoint 및 이미지 형식과 같은 다양한 형식의 구조화되지 않은 대량의 문서를 처리하는 조직은 고객의 스캔 및 필기 문서 및 양식을 처리하는 데 상당한 어려움을 겪습니다.

이러한 문서 및 양식에는 개인 정보, 의료 기록 및 손상 평가 보고서와 같은 중요한 정보가 포함되어 있으며, 이를 정확하게 추출하고 처리해야 합니다.

조직에는 종종 가장 적절한 답변으로 질문에 대답하는 데 사용할 수 있는 자체 정보 기술 자료 있습니다. 이러한 솔루션에 설명된 서비스 및 파이프라인을 사용하여 문서의 검색 메커니즘에 대한 원본을 만들 수 있습니다.

잠재적인 사용 사례

이 솔루션은 제약 회사 및 금융 서비스와 같은 산업 분야의 조직에 가치를 제공합니다. 포함된 정보가 포함된 문서가 많은 회사에 적용됩니다. 이 AI 기반 엔드 투 엔드 검색 솔루션은 사용자 쿼리를 기반으로 문서에서 의미 있는 정보를 추출하여 ChatGPT 스타일의 질문 및 답변 환경을 제공하는 데 사용할 수 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

  • Dixit Arora | 수석 고객 엔지니어, ISV DN Coe
  • Jyotsna Ravi | 주요 고객 엔지니어, ISV DN Coe

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계