다음을 통해 공유


RAG(검색 증강 생성) 패턴의 LLM 및 Azure OpenAI(프리뷰)

중요

이는 프리뷰 기능입니다. 이 정보는 출시되기 전에 크게 수정될 수 있는 출시전 기능과 관련되어 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

이 문서에서는 RAG(검색 증강 생성) 패턴의 컨텍스트 내에서 LLM(거대 언어 모델) 및 Azure OpenAI를 사용하는 예시를 제공합니다. 특히, 중요한 가드레일을 고려하면서 소버린 랜딩 존 내에서 이러한 기술을 적용할 수 있는 방법을 탐구합니다.

시나리오

일반적인 시나리오는 LLM을 사용하여 RAG(검색 증강 생성) 패턴을 통해 자신의 데이터를 사용하여 대화에 참여하는 것입니다. 이 패턴을 사용하면 LLM의 추론 능력을 사용하여 모델을 미세 조정하지 않고도 특정 데이터를 기반으로 응답을 생성할 수 있습니다. LLM을 기존 비즈니스 프로세스 또는 솔루션에 원활하게 통합할 수 있습니다.

Cloud for Sovereignty - AI 및 LLM 참조 아키텍처

Microsoft Cloud for Sovereignty는 SLZ(Sovereign Landing Zone) 내의 일반적인 RAG(검색 증강 생성) 아키텍처를 보여주는 참조 아키텍처를 제공합니다. 일반적이고 권장되는 구현 기술 선택, 용어, 기술 원칙, 공통 구성 환경 및 적용 가능한 서비스 구성에 대한 개요를 제공합니다.

주권적 가드레일이 있는 AI 및 LLM 구성의 참조 아키텍처입니다.

이 참조 아키텍처 다이어그램의 인쇄 가능한 PDF를 다운로드하세요.

주요 단계/데이터 흐름은 다음과 같습니다.

애플리케이션 랜딩 존

관리 그룹 계층 구조에서 이러한 서비스는 기밀이 아닌 관리 그룹 내의 구독에 배치됩니다.

데이터 원본 및 변환 파이프라인

데이터 원본과 변환 파이프라인은 사업 부문 운영을 위해 조직 내에 존재하는 경우가 많습니다. RAG 구현과 같은 LLM 애플리케이션을 기존 데이터와 통합하면 새로운 워크로드가 됩니다.

데이터 흐름 제어를 보장하기 위해 참조 아키텍처는 데이터 원본에 대해 데이터 도메인 정렬 데이터 랜딩 존을 권장하고 데이터 변환 파이프라인을 해당 소스에 가깝게 배치하여 LLM 애플리케이션에서 사용되는 데이터 제품을 생성합니다. 이 접근 방식을 사용하면 별도로 호스팅되는 LLM 기반 솔루션에 프로비저닝된 데이터를 정확하게 관리할 수 있습니다.

데이터 변환 구성요소 는 다양한 기술과 서비스를 활용해 데이터를 의미 검색이나 벡터 검색을 통해 LLM 기반 애플리케이션에서 검색하고 사용할 수 있는 형식으로 변환합니다. 이러한 파이프라인은 그 자체로 작동할 수도 있고 Azure AI 서비스나 Azure OpenAI와 같은 AI 서비스를 사용하여 데이터를 벡터 검색이나 의미 검색 데이터베이스에 넣을 수 있도록 변환할 수도 있습니다.

AI 서비스를 사용할 때 네트워크 피어링은 항상 프라이빗 엔드포인트를 통해(허브를 통해 또는 직접) 서비스를 사용할 수 있도록 합니다. 거버넌스, 보안 및 규정 준수 이유로 인해 데이터 변환 구성 요소에는 LLM 워크로드용 검색 데이터베이스에 제공되는 데이터와 형식을 결정할 권한이 있습니다.

데이터 변환 구성 요소는 다양한 종류의 데이터 원본을 사용하여 LLM 워크로드가 의존하는 검색 데이터베이스에 최적의 결과를 가진 데이터를 제공할 수 있습니다. 이러한 데이터 원본은 고객 환경에 따라 SQL 데이터베이스, 데이터 레이크 또는 사용자 지정 데이터 솔루션을 호스팅하는 가상 머신일 수도 있습니다.

데이터 원본은 오케스트레이터 앱에서 직접 액세스할 수 없지만 대신 이러한 리소스는 가상 네트워크의 개인 경계 내에서만 사용할 수 있어야 합니다. 이는 Microsoft Azure Virtual Network(예: VM의 경우), 프라이빗 링크 서비스 또는 가상 네트워크 서비스 엔드포인트(프라이빗 링크 또는 직접 가상 네트워크 통합을 사용할 수 없는 경우에만)의 직접 통합을 부과합니다.

AI 및 LLM 관련 구성 요소는 회사 또는 온라인 관리 그룹 아래의 자체 구독에서 워크로드로 호스팅되어야 합니다(공개 액세스가 필요한지 여부에 따라 다름). 이러한 구성 요소는 다음과 같습니다.

Azure OpenAI 서비스 는 GPT와 Ada와 같은 텍스트 임베딩과 같은 LLM의 작업을 캡슐화하여 Azure OpenAI 에서 Orchestrator 앱에 제공하는 표준 API를 통해 액세스할 수 있도록 합니다.

오케스트레이터 앱은 API 또는 UX 기반 인터페이스를 통해 프런트 엔드 역할을 하며 RAG 기반 경험을 구축하는 데 필요한 다양한 단계를 조정합니다. 대개 웹 애플리케이션이나 웹 API입니다. 이러한 단계에는 일반적으로 다음이 포함됩니다.

  • 프롬프트 기반에 대한 의미 체계 검색 엔진에서 데이터 가져오기
  • 프롬프트 기반에 대한 데이터 원본에서 데이터 가져오기
  • LLM에 대한 다양한 요청을 올바르게 연결

Orchestrator 앱은 이전 상호작용을 기반으로 Azure OpenAI 서비스를 시작할 수 있도록 전송된 요청과 수신된 응답의 기록을 유지합니다. 예를 들어 ChatGPT 또는 Bing Chat과 같은 채팅과 유사한 환경에서 오케스트레이터 앱은 LLM 서비스 백엔드의 대화 흐름에서 고려되도록 대화 세션 기록을 유지 관리하거나 캐시합니다.

온라인 환경에서 오케스트레이터 앱 엔드포인트는 웹 애플리케이션 방화벽 및 DDoS 보호 서비스로 보호되는 퍼블릭 엔드포인트를 통해 제공되는 유일한 앱이어야 합니다. 퍼블릭 엔드포인트가 없는 회사 환경에서 호스트되는 경우 오케스트레이터는 Virtual Machines 또는 VM Scale Sets와 같이 Virtual Network에 직접 통합된 서비스에서 호스트되거나 Azure App Services의 경우와 같이 프라이빗 링크 또는 Virtual Network 서비스 엔드포인트를 지원하는 서비스를 사용합니다.

검색 서비스 는 LLM 서비스의 신속한 구축을 위해 다양한 데이터 소스에서 수집된 데이터를 효율적으로 활용할 수 있도록 최적화된 형식으로 제공합니다. Microsoft는 Azure AI Search에서 지원하는 검색 서비스를 기반으로 프롬프트 기반에 대한 최상의 결과를 얻기 위해 벡터화와 의미 검색의 조합을 제안합니다. 의미 체계 순위를 사용하면 언어 이해를 사용하여 검색 결과의 순위를 매기므로 검색 관련성이 눈에 띄게 향상됩니다. 이는 LLM에 요청을 보내기 전에 검색 서비스의 더 나은 검색 결과를 통해 신속한 접지가 더욱 정확해지기 때문에 RAG 애플리케이션의 사용자 경험을 향상시킵니다.

AI 서비스 조합을 사용하여 오케스트레이터를 통해 최종 사용자를 위한 맞춤형 환경을 생성하거나 데이터 수집 프로세스를 최적화할 수 있습니다. Azure AI 문서 인텔리전스와 같은 Form Recognizer 서비스를 사용하여 양식에서 구조화된 정보를 추출하고 사용자 입력을 효율적으로 처리 및 요약한다고 상상해 보세요. 그런 다음 이 서비스는 LLM과 협력하여 인식된 양식 입력의 주요 결과를 요약할 수 있습니다. 또 다른 시나리오는 문서 인식기 서비스를 사용하여 PDF 또는 단어 문서와 같은 다양한 형식의 문서를 텍스트로 변환하는 것입니다. 이후 LLM 텍스트 임베딩 서비스는 추가 분석을 위해 인식된 텍스트를 벡터화할 수 있습니다.

모든 구성 요소에 대해 비공개 연결 서비스 가 배포되어 모든 서비스는 비공개 환경 내에서만 액세스할 수 있습니다. 유일한 예외는 Orchestrator 앱일 수 있습니다. 이 앱은 온라인 랜딩 존에서 호스팅되는 경우 Web Application Firewall이나 유사한 서비스 뒤에서 공개적으로 제공될 수 있습니다.

인프라 구성 요소

인프라 구성 요소는 워크로드의 일부로 호스팅되거나 허브 또는 ID 구독에서 중앙 집중식으로 호스팅될 수 있습니다.

Sovereign Landing Zone 구현의 중앙 인프라 구성 요소는 모든 Sovereign Landing Zone 배포에서 제공되는 가상 네트워크플랫폼 연결 허브입니다. 이는 플랫폼 관리 그룹 내 연결 구독에 위치합니다.

공유 네트워크 구성 요소 는 허브 가상 네트워크에 배치됩니다. 이러한 구성 요소에는 일반적으로 다음이 포함됩니다.

  • 회사, 기관 또는 조직의 기업 네트워크에 연결하기 위한 ExpressRoute 회로 또는 VPN 게이트웨이 입니다.

  • 방화벽은 웹 애플리케이션 방화벽을 포함하여 어플라이언스나 Azure 방화벽 제품의 조합을 사용하여 구현할 수 있습니다. 이러한 솔루션을 사용하면 트래픽 검사, 필터링 및 라우팅이 가능합니다.

  • DDoS 보호 구성 요소는 분산형 서비스 거부 공격으로부터 작업 부하를 보호합니다.

  • 랜딩 존을 통해 구현된 전체 가상 데이터 센터 환경에서 사용되는 모든 유형의 서비스를 위한 개인 DNS 존 입니다.

  • 가상 네트워크 피어링 은 허브 네트워크를 통해 데이터 소스, 변환, LLM 구성 요소 등 다양한 워크로드의 가상 네트워크를 연결합니다.

  • 정책 은 필요한 경우 허브 방화벽을 통한 트래픽 흐름을 제어합니다.

고려 사항

참조 아키텍처 다이어그램은 Sovereign Landing Zone의 맥락에서 LLM RAG 기반 워크로드의 일반적인 구성 요소를 포함하는 대표적인 예제 아키텍처를 보여줍니다. 이전 섹션에서 다루지 않았지만 명심해야 할 몇 가지 고려 사항이 있습니다.

Well-Architected Framework​ 및 클라우드 채택 프레임워크의 원칙에 맞춰 조정

이전 섹션에서는 WAF(Well-Architected Framework) 및 CAF(클라우드 채택 프레임워크)와 관련된 일부 정렬 측면을 간략하게 언급했습니다. 모든 아키텍처 결정은 Azure OpenAI에 대한 WAF 관점을 포함하여 CAF 및 Azure Landing Zone, CAF 클라우드 규모 분석WAF의 핵심 원칙과 완전히 일치해야 한다는 점에 유의하는 것이 중요합니다.

가드레일을 처리하는 것은 랜딩 존 환경의 표준 절차이지만 LLM 및 AI 워크로드에 대한 여러 영역에서는 다른 사항을 고려해야 합니다. 워크로드 구독을 위한 인프라를 설계하고 정의하는 동안 Azure 보안 기준 준수주권 기준 정책 이니셔티브 표준을 따르는 것이 가장 좋습니다.

이러한 표준에서 LLM RAG 기반 애플리케이션에 대해 강조해야 할 주요 고려 사항은 다음과 같습니다.

데이터 보존 및 지역 선택

주권은 데이터 보존에 대한 엄격한 요구 사항을 부과하므로 SLZ의 특정 Azure 지역으로 배포를 제한할 수 있습니다. LLM 워크로드를 위한 지역 선택은 필요한 서비스의 가용성에 따라 제한됩니다.

  • 데이터 보존 및/또는 근접성 이유로 데이터와 워크로드를 호스팅하는 대상 지역에서 Azure OpenAI와 Azure AI Search를 모두 사용할 수 있는지 확인하세요. 또한 이러한 서비스는 성능 관점에서 최종 사용자의 애플리케이션 경험에 중요합니다.

  • 둘째, Azure OpenAI를 살펴보면 모든 모델이 모든 지역에서 동일하게 사용 가능한 것은 아니기 때문에 해당 LLM 모델의 가용성이 중요합니다.

  • 지정된 대상 지역에서 데이터 원본 또는 기타 인지 서비스를 사용할 수 없는 경우 데이터 보존 요구 사항에 따라 다른 지역에서 해당 서비스를 찾아 운영할 수 있습니다. 그러나 Azure OpenAI 서비스와 Azure AI Search는 성능상의 이유로 오케스트레이터 앱과 동일한 지역에 있어야 합니다.

네트워킹

회사 환경에서는 퍼블릭 엔드포인트가 허용되지 않습니다. 따라서 모든 서비스는 Virtual Network에 캡슐화되어야 합니다. 서비스에 따라 VM 또는 AKS 클러스터, Private Link 또는 Virtual Network 서비스 엔드포인트와 같은 직접 캡슐화 기능을 제공할 수 있습니다. 가능한 경우 Virtual Network 서비스 엔드포인트를 Private Link로 바꿔야 합니다.

캡슐화 외에도 모든 서비스에 대해 공개 액세스를 비활성화해야 합니다. 마지막으로, 해당 거부 정책을 작성할 수 없는 서비스에 대해 실수로 공개 액세스가 활성화되는 일이 없도록 Azure Policy를 사용하는 정책 적용을 활성화해야 합니다. 심층 방어 전략은 모든 서비스에 대해 해당 감사 기능을 활성화하는 것입니다.

미사용 및 전송 중 암호화

Azure에서 대부분의 서비스는 전송 중 암호화와 미사용 암호화 기능을 모두 지원합니다. 가능한 경우 모든 서비스에서 미사용 및 전송 중 암호화를 활성화합니다. 전송 암호화를 위해 최신 TLS 버전(현재 TLS 1.2)을 활성화합니다.

관리 ID

자격 증명에 대한 비밀을 관리하지 않으려면 모든 서비스 및 서비스 간 통신에 관리 ID를 사용하세요.

Key Vault의 키 순환

인증서와 같은 보안 자산이 필요할 때마다 Key Vault에서 해당 비밀에 대한 키 순환을 활성화하여 규정 준수를 유지합니다.

네트워크 및 애플리케이션 보안 그룹

소버린 보안 환경에서는 NSG(네트워크 보안 그룹) 및 ASG(애플리케이션 보안 그룹)의 사용이 적용됩니다. 보안 그룹이 누락되면 비준수 배포가 발생합니다. 일반적인 SSL 포트는 HTTPS를 기반으로 하기 때문에 LLM/RAG 워크로드가 의존하는 대부분의 서비스에 유용합니다. 소스에서 검색 및 벡터 데이터베이스로 데이터를 수집하려면 특정 포트가 필요합니다. 회사 랜딩 존에서는 공용 IP가 허용되지 않습니다. 모든 서비스는 가상 네트워크에서만 액세스할 수 있어야 하며, 이를 위해서는 PaaS 서비스용 Private Link 또는 Virtual Network 서비스 엔드포인트를 사용해야 합니다.

추가 보안 및 주권 가드레일

인프라 및 애플리케이션 설계에 대한 이전 섹션에서 다룬 가장 중요하고 명확한 가드레일은 소버린 랜딩 존 또는 Azure Landing Zone 외부에서도 재사용할 수 있습니다. 다른 글로벌 정책은 Log Analytics 작업 영역 또는 엔터프라이즈 규모 랜딩 존의 Microsoft Sentinel 배포와 같은 중앙에서 관리되는 리소스에 연결됩니다. 인프라 및 애플리케이션 설계 프로세스 중에는 중앙에서 관리되는 이러한 리소스를 고려하는 것이 중요합니다. 이를 무시하면 배포 후 추가 노력과 시간이 소요될 수 있습니다. 다행히 Azure의 정책 준수 기능은 배포 후 비준수 리소스를 식별할 수 있습니다. 또한 소버린 랜딩 존 및 Azure Landing Zones는 모두 수많은 리소스에 대한 DeployIfNotExists 정책을 제공하여 프로세스를 더욱 단순화합니다.

이러한 가드레일의 몇 가지 예는 다음과 같습니다.

  • 중앙에서 관리되는 Log Analytics 작업 영역에 대한 로그인 활성화.

  • Azure Security Center 또는 Microsoft Defender for Cloud와 통합됩니다.

  • Microsoft Sentinel과 같은 보안 정보 및 이벤트 관리(SIEM) 제품군과 통합됩니다.

  • 중앙에서 관리되는 방화벽, Web Application Firewall 또는 DDoS Protection과 통합됩니다.

이는 초기 배포 후 요구 사항으로 식별할 수 있는 몇 가지 가드레일입니다. 테스트 랜딩 존에서 배포를 테스트하고 해당 가드레일 이행을 인프라 및 애플리케이션 코드베이스에 반복적으로 통합하는 것이 좋습니다. 이것이 완전히 가능하지 않은 경우 이러한 가드레일 중 다수는 DeployIfNotExists 정책을 사용하여 배포 후 해결될 수 있습니다.

이 시나리오 배포

소버린 랜딩 존 내에서 RAG(검색 증강 생성) 패턴을 기반으로 하는 LLM(거대 언어 모델) 및 Azure OpenAI를 활용하려면 먼저 SLZ(소버린 랜딩 존)를 배포 및 구성하고 주권 기준 정책 이니셔티브를 적용해야 합니다. SLZ 및 모든 기능에 대한 자세한 개요는 GitHub의 Sovereign Landing Zone 설명서를 참조하세요.

SLZ는 정책 및 정책 세트, 보안 시행, 워크로드 및 애플리케이션 배포를 위한 일관된 기본 인프라를 통해 가드레일을 제공하는 환경을 제공합니다. SLZ는 Azure 랜딩 존을 기반으로 하며 주권 요구 사항에 맞는 가드레일과 보안 제어를 통해 이를 확장합니다.

고객이 규정 준수 목표를 달성하도록 지원하면서 가치 실현 시간을 가속화하기 위해 Microsoft Cloud for Sovereignty에는 반복 가능한 방식으로 일관되게 배포 및 운영할 수 있는 즉시 사용 가능한 워크로드 템플릿이 포함되어 있습니다. 워크로드 템플릿은 소버린 기준 정책 이니셔티브, Cloud for Sovereignty 정책 포트폴리오Azure Landing Zone 기본 정책에 맞춰 조정됩니다.

정보 도우미 에이전트 템플릿

정보 도우미 에이전트 템플릿은 조직이 자체적인 맞춤형 생성 AI 역량을 구축하여 모델을 세부적으로 조정하지 않고도 조직의 사용자와 해당 도메인 데이터에 Azure OpenAI 의 기능을 확장할 수 있는 시작 가리키다를 제공합니다. 이를 Cloud for Sovereignty 내에 배포하고 이 문서에 제공된 참조 아키텍처 및 지침에 맞출 수 있습니다. 정보 도우미 에이전트 템플릿은 보안 모드 배포 구성을 사용하는 Sovereign Landing Zone 온라인 관리 그룹 범위와 호환됩니다. Corp 관리 그룹 범위에 대한 지원이 곧 제공될 예정입니다.

에이전트 템플릿은 고객과 파트너에게 무료로 제공되는 코드, 문서 및 교육 리소스의 조합으로, 가치 실현 시간을 단축하는 데 도움이 될 수 있습니다.

Information 도우미를 배포하고 구성하는 방법에 대한 자세한 내용은 GitHub의 Information 도우미 에이전트 템플릿 문서를 참조하세요. 이 에이전트 템플릿으로 달성할 수 있는 사용 사례에 대해서는 정보 도우미 비디오를 참조하세요.