편집

다음을 통해 공유


기본 OpenAI 엔드투엔드 채팅 참조 아키텍처

Azure OpenAI Service
Azure Machine Learning
Azure App Service
Azure Key Vault
Azure Monitor

이 문서에서는 Azure OpenAI 서비스 언어 모델을 사용하는 채팅 애플리케이션을 실행하는 방법을 알아보기 위한 기본 아키텍처를 제공합니다. 아키텍처에는 Azure 앱 Service에서 실행되는 클라이언트 사용자 인터페이스가 포함되며, 프롬프트 흐름을 사용하여 들어오는 프롬프트에서 데이터 저장소로 워크플로를 오케스트레이션하여 언어 모델에 대한 접지 데이터를 가져옵니다. 실행 파일 흐름은 관리형 컴퓨팅을 사용하여 관리되는 온라인 엔드포인트에 배포됩니다. 아키텍처는 단일 지역에서 작동하도록 설계되었습니다.

Important

이 아키텍처는 프로덕션 애플리케이션에 사용되지 않습니다. POC(학습 및 개념 증명) 용도로 사용할 수 있는 소개 아키텍처입니다. 프로덕션 엔터프라이즈 채팅 애플리케이션을 디자인할 때 추가 프로덕션 디자인 결정으로 이 기본 아키텍처를 확장하는 기준 OpenAI 엔드투엔드 채팅 참조 아키텍처를 참조하세요.

Important

이 지침은 이 기본 엔드투엔드 채팅 구현에 대한 배포 단계를 포함하는 예제 구현을 통해 지원됩니다. 이 구현은 POC가 Azure OpenAI를 사용하는 채팅 애플리케이션 작업을 경험할 수 있는 기준으로 사용할 수 있습니다.

아키텍처

기본 엔드투엔드 채팅 아키텍처를 보여 주는 다이어그램.

그림 1: Azure OpenAI를 사용하여 기본 엔드투엔드 채팅 아키텍처

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

  1. 사용자가 azurewebsites.net App Service 기본 도메인에 대한 HTTPS 요청을 발급합니다. 이 도메인은 App Service 기본 제공 공용 IP를 자동으로 가리킵니다. TLS(전송 계층 보안) 연결은 클라이언트에서 App Service로 직접 설정됩니다. 인증서는 Azure에서 완전히 관리됩니다.
  2. Azure 앱 서비스의 기능인 Easy Auth는 사이트에 액세스하는 사용자가 Microsoft Entra ID로 인증되도록 합니다.
  3. App Service에 배포된 클라이언트 애플리케이션 코드는 요청을 처리하고 사용자에게 채팅 UI를 제공합니다. 채팅 UI 코드는 동일한 App Service 인스턴스에서도 호스트되는 API에 연결됩니다. API 코드는 Azure Machine Learning 관리형 온라인 엔드포인트에 연결하여 사용자 상호 작용을 처리합니다.
  4. 관리되는 온라인 엔드포인트는 프롬프트 흐름 오케스트레이션 논리가 배포되는 Azure Machine Learning 관리형 컴퓨팅으로 요청을 라우팅합니다.
  5. 프롬프트 흐름 오케스트레이션 코드가 실행을 시작합니다. 무엇보다도 논리는 요청에서 사용자의 쿼리를 추출합니다.
  6. 오케스트레이션 논리는 Azure AI Search에 연결하여 쿼리에 대한 접지 데이터를 가져옵니다. 접지 데이터는 다음 단계에서 Azure OpenAI로 전송되는 프롬프트에 추가됩니다.
  7. 오케스트레이션 논리는 Azure OpenAI에 연결하고 관련 접지 데이터를 포함하는 프롬프트를 보냅니다.
  8. App Service에 대한 원래 요청 및 관리되는 온라인 엔드포인트에 대한 호출에 대한 정보는 Azure OpenAI 원격 분석이 흐르는 것과 동일한 Log Analytics 작업 영역을 사용하여 Application Insights에 기록됩니다.

프롬프트 흐름

워크플로에는 채팅 애플리케이션에 대한 흐름이 포함되어 있지만 다음 목록에서는 일반적인 프롬프트 흐름을 좀 더 자세히 설명합니다.

참고 항목

이 흐름의 숫자는 아키텍처 다이어그램의 숫자에 해당하지 않습니다.

  1. 사용자가 사용자 지정 UI(채팅 사용자 인터페이스)에 프롬프트를 입력합니다.
  2. 인터페이스의 API 코드는 해당 텍스트를 프롬프트 흐름으로 보냅니다.
  3. 프롬프트 흐름은 프롬프트에서 사용자 의도(질문 또는 지시문)를 추출합니다.
  4. 필요에 따라 프롬프트 흐름은 사용자 프롬프트와 관련된 데이터를 보유하는 데이터 저장소를 결정합니다.
  5. 프롬프트 흐름은 관련 데이터 저장소를 쿼리합니다.
  6. 프롬프트 흐름은 의도, 관련 접지 데이터 및 프롬프트에 제공된 모든 기록을 언어 모델로 보냅니다.
  7. 프롬프트 흐름은 UI에 표시될 수 있도록 결과를 반환합니다.

흐름 오케스트레이터는 다양한 언어로 구현되고 다양한 Azure 서비스에 배포될 수 있습니다. 이 아키텍처는 프롬프트, 백 엔드 데이터 저장소 및 언어 모델 간에 오케스트레이션하는 흐름을 빌드, 테스트 및 배포하는 간소화된 환경을 제공하기 때문에 프롬프트 흐름을 사용합니다.

구성 요소

채팅 UI는 해당 아키텍처를 기반으로 하므로 이 아키텍처의 많은 구성 요소는 기본 App Service 웹 애플리케이션 아키텍처의 리소스와 동일합니다. 이 섹션에서 강조 표시된 구성 요소는 채팅 흐름, 데이터 서비스 및 언어 모델을 노출하는 서비스를 빌드하고 오케스트레이션하는 데 사용되는 구성 요소에 초점을 맞춥니다.

  • Azure AI Studio 는 AI 솔루션을 빌드, 테스트 및 배포하는 데 사용할 수 있는 플랫폼입니다. AI Studio는 이 아키텍처에서 채팅 애플리케이션에 대한 프롬프트 흐름 오케스트레이션 논리를 빌드, 테스트 및 배포하는 데 사용됩니다.

    • AI Studio Hub 는 AI Studio의 최상위 리소스입니다. AI Studio 프로젝트에서 사용할 보안, 연결 및 컴퓨팅 리소스를 제어할 수 있는 중앙 리소스입니다. AI Studio Hub에서 Azure OpenAI와 같은 리소스에 대한 연결을 정의합니다. AI Studio 프로젝트는 이러한 연결을 상속합니다.

    • AI Studio 프로젝트는 AI 모델 및 솔루션을 개발, 배포 및 평가하는 동안 공동 작업하는 데 사용되는 환경입니다.

  • 프롬프트 흐름 은 사용자 프롬프트, Python 코드를 통한 작업 및 언어 학습 모델 호출을 연결하는 흐름을 빌드, 평가 및 배포하는 데 사용할 수 있는 개발 도구입니다. 프롬프트 흐름은 프롬프트, 다른 데이터 저장소 및 언어 모델 간의 흐름을 오케스트레이션하는 계층으로 이 아키텍처에서 사용됩니다. 개발을 위해 두 가지 유형의 런타임으로 프롬프트 흐름을 호스트할 수 있습니다.

    • 자동 런타임: 컴퓨팅의 수명 주기 및 성능 특성을 관리하고 환경의 흐름 기반 사용자 지정을 허용하는 서버리스 컴퓨팅 옵션입니다. 이 아키텍처는 단순성을 위해 자동 런타임을 사용합니다.

    • 컴퓨팅 인스턴스 런타임: 워크로드 팀이 성능 특성을 선택해야 하는 상시 컴퓨팅 옵션입니다. 이 런타임은 환경에 대한 더 많은 사용자 지정 및 제어를 제공합니다.

  • Machine Learning은 기계 학습 모델을 학습시키고, 배포하고, 관리하는 데 사용할 수 있는 관리형 클라우드 서비스입니다. 이 아키텍처는 언어 모델에서 제공하는 AI 애플리케이션에 대한 실행 흐름을 배포하고 호스트하는 데 사용되는 Machine Learning의 기능을 사용합니다. 이 기능은 실시간 추론을 위해 흐름을 배포할 수 있는 관리형 온라인 엔드포인트입니다. 이 아키텍처에서는 채팅 UI에 대한 PaaS 엔드포인트로 사용하여 Machine Learning 자동 런타임에서 호스트되는 프롬프트 흐름을 호출합니다.

  • 스토리지는 프롬프트 흐름 개발을 위해 프롬프트 흐름 원본 파일을 유지하는 데 사용됩니다.

  • Container Registry를 사용하면 모든 유형의 컨테이너 배포를 위해 이미지와 아티팩트를 프라이빗 레지스트리에 빌드, 저장 및 관리할 수 있습니다. 이 아키텍처에서 흐름은 컨테이너 이미지로 패키지되고 Container Registry에 저장됩니다.

  • Azure OpenAI는 GPT-4, GPT-3.5 Turbo 및 모델의 포함 모델 세트를 포함하여 Azure OpenAI의 언어 모델에 대한 REST API 액세스를 제공하는 완전 관리형 서비스입니다. 이 아키텍처에서는 모델 액세스 외에도 관리 ID 지원 및 콘텐츠 필터링과 같은 일반적인 엔터프라이즈 기능을 추가하는 데 사용됩니다.

  • Azure AI 검색전체 텍스트 검색, 의미 체계 검색, 벡터 검색하이브리드 검색을 지원하는 클라우드 검색 서비스입니다. AI Search는 채팅 애플리케이션 뒤의 흐름에서 사용되는 일반적인 서비스이므로 아키텍처에 포함됩니다. AI Search를 사용하여 사용자 쿼리와 관련된 데이터를 검색하고 인덱싱할 수 있습니다. 프롬프트 흐름은 RAG 검색 증강 생성 패턴을 구현하여 프롬프트에서 적절한 쿼리를 추출하고, AI Search를 쿼리하고, 결과를 Azure OpenAI 모델의 접지 데이터로 사용합니다.

권장 지침 및 고려 사항

이 아키텍처에 나열된 구성 요소는 구성 요소가 존재하는 Azure Well-Architected 서비스 가이드에 연결됩니다. 서비스 가이드는 특정 서비스에 대한 권장 사항 및 고려 사항을 자세히 설명합니다. 이 섹션에서는 이 아키텍처에 적용되는 주요 Azure Well-Architected Framework 권장 사항 및 고려 사항을 강조 표시하여 해당 지침을 확장합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

기본 아키텍처 는 프로덕션 배포를 위한 것이 아닙니다. 이 아키텍처는 Azure OpenAI를 사용하여 엔드투엔드 채팅 애플리케이션을 빌드하는 방법을 평가하고 알아볼 수 있도록 기능보다 단순성과 비용 효율성을 선호합니다. 다음 섹션에서는 권장 사항 및 고려 사항과 함께 이 기본 아키텍처의 일부 결함을 간략하게 설명합니다.

안정성

안정성은 애플리케이션이 고객에 대한 약속을 충족할 수 있도록 합니다. 자세한 내용은 안정성에 대한 디자인 검토 검사 목록을 참조하세요.

이 아키텍처는 프로덕션 배포용으로 설계되지 않았기 때문에 이 아키텍처에서 생략된 몇 가지 중요한 안정성 기능을 간략하게 설명합니다.

  • 앱 서비스 계획은 Azure 가용성 영역이 지원되지 않는 계층에 대해 Basic 구성됩니다. 인스턴스, 랙 또는 인스턴스를 호스팅하는 데이터 센터에 문제가 있는 경우 앱 서비스를 사용할 수 없게 됩니다. 프로덕션으로 이동하면서 가용성이 높은 기준 영역 중복 웹 애플리케이션의 안정성 섹션에 있는 지침을 따르세요.
  • 이 기본 아키텍처에서는 클라이언트 사용자 인터페이스에 대한 자동 크기 조정을 사용할 수 없습니다. 사용 가능한 컴퓨팅 리소스 부족으로 인한 안정성 문제를 방지하려면 최대 동시 용량을 처리하기에 충분한 컴퓨팅으로 항상 실행되도록 과도하게 프로비전해야 합니다.
  • Azure Machine Learning 컴퓨팅은 가용성 영역에 대한 지원을 제공하지 않습니다. 인스턴스, 랙 또는 인스턴스를 호스팅하는 데이터 센터에 문제가 있는 경우 오케스트레이터를 사용할 수 없게 됩니다. 가용성 영역을 지원하는 인프라에 오케스트레이션 논리를 배포하는 방법을 알아보려면 기준 아키텍처에서 흐름 배포에 대한 영역 중복성을 참조하세요.
  • Azure OpenAI는 고가용성 구성에서 구현되지 않습니다. 신뢰할 수 있는 방식으로 Azure OpenAI를 구현하는 방법을 알아보려면 기준 아키텍처에서 Azure OpenAI - 안정성을 참조하세요.
  • Azure AI 검색은 Azure 가용성 영역이 지원되지 않는 Basic 계층에 대해 구성됩니다. 영역 중복성을 달성하려면 가용성 영역을 지원하는 지역에 표준 가격 책정 계층 이상을 사용하여 AI Search를 배포하고 3개 이상의 복제본을 배포합니다.
  • 자동 크기 조정은 Machine Learning 컴퓨팅에 대해 구현되지 않습니다. 자세한 내용은 기준 아키텍처의 기계 학습 안정성 지침을 참조 하세요.

이러한 안정성 문제는 기준 Azure OpenAI 엔드투엔드 채팅 참조 아키텍처 디자인에서 해결됩니다.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안성에 대한 디자인 검토 검사 목록을 참조하세요.

이 섹션에서는 이 아키텍처에 구현된 몇 가지 주요 권장 사항을 다룹니다. 이러한 권장 사항에는 콘텐츠 필터링 및 남용 모니터링, ID 및 액세스 관리, 역할 기반 액세스 제어가 포함됩니다. 이 아키텍처는 프로덕션 배포용으로 설계되지 않았기 때문에 이 섹션에서는 이 아키텍처에서 구현되지 않은 주요 보안 기능인 네트워크 보안에 대해 설명합니다.

콘텐츠 필터링 및 남용 모니터링

Azure OpenAI에는 분류 모델의 앙상블을 사용하여 입력 프롬프트와 출력 완성 모두에서 잠재적으로 유해한 콘텐츠의 특정 범주를 감지하고 방지하는 콘텐츠 필터링 시스템이 포함되어 있습니다. 이 잠재적으로 유해한 콘텐츠의 범주에는 증오, 성적, 자해, 폭력, 욕설 및 탈옥(언어 모델의 제약을 우회하도록 설계된 콘텐츠)이 포함됩니다. 옵션이 낮거나 중간 또는 높음인 각 범주의 콘텐츠에서 필터링하려는 항목의 엄격성을 구성할 수 있습니다. 이 참조 아키텍처는 엄격한 접근 방식을 채택합니다. 요구 사항에 따라 설정을 조정합니다.

Azure OpenAI는 콘텐츠 필터링 외에도 남용 모니터링 기능을 구현합니다. 남용 모니터링은 Azure OpenAI 사용 규정을 위반할 수 있는 방식으로 서비스 사용을 제안하는 반복적인 콘텐츠 또는 동작의 인스턴스를 감지하고 완화하는 비동기 작업입니다. 데이터가 매우 민감하거나 내부 정책 또는 남용 탐지를 위한 데이터 처리를 방지하는 관련 법적 규정이 있는 경우 남용 모니터링 및 사용자 검토의 예외를 요청할 수 있습니다.

ID 및 액세스 관리

다음 지침은 App Service 기준에서 ID 및 액세스 관리 지침을 확장합니다. 이 아키텍처는 시스템 할당 관리 ID를 사용합니다. 다음 리소스에 대해 별도의 ID가 생성됩니다.

  • AI Studio Hub
  • 흐름 작성 및 관리를 위한 AI Studio 프로젝트
  • 흐름이 관리되는 온라인 엔드포인트에 배포된 경우 배포된 흐름의 온라인 엔드포인트

사용자 할당 관리 ID를 사용하도록 선택하는 경우 위의 각 리소스에 대해 별도의 ID를 만들어야 합니다.

Azure AI Studio 프로젝트는 서로 격리됩니다. 여러 프로젝트가 동일한 Azure Storage 계정에 쓸 수 있도록 하지만 프로젝트를 격리된 상태로 유지하기 위해 Blob Storage에 대한 해당 역할 할당에 조건이 적용됩니다. 이러한 조건은 스토리지 계정 내의 특정 컨테이너에만 액세스 권한을 부여합니다. 사용자 할당 관리 ID를 사용하는 경우 최소 권한을 유지하려면 유사한 접근 방식을 따라야 합니다.

현재 채팅 UI는 키를 사용하여 배포된 관리형 온라인 엔드포인트에 연결합니다. 키는 Azure Key Vault에 저장됩니다. 프로덕션으로 이동할 때 관리 ID를 사용하여 관리되는 온라인 엔드포인트에 대한 채팅 UI를 인증해야 합니다.

역할 기반 액세스 역할

시스템은 시스템 할당 관리 ID에 대한 역할 할당을 자동으로 만듭니다. 시스템은 사용할 수 있는 허브 및 프로젝트의 기능을 모르기 때문에 모든 잠재적 기능을 지원하는 역할 할당을 만듭니다. 예를 들어 시스템은 Azure AI Studio의 스토리지 계정에 역할 할당 '스토리지 파일 데이터 권한 있는 기여자'를 만듭니다. 프롬프트 흐름을 사용하지 않는 경우 워크로드에 이 할당이 필요하지 않을 수 있습니다.

시스템 할당 ID에 대해 자동으로 부여되는 사용 권한의 요약은 다음과 같습니다.

ID Privilege 리소스
AI Studio Hub 읽기/쓰기 Key Vault
AI Studio Hub 읽기/쓰기 Azure Storage
AI Studio Hub 읽기/쓰기 Azure Container Registry
AI 스튜디오 프로젝트 읽기/쓰기 Key Vault
AI 스튜디오 프로젝트 읽기/쓰기 Azure Storage
AI 스튜디오 프로젝트 읽기/쓰기 Azure Container Registry
AI 스튜디오 프로젝트 쓰기 Application Insights
관리형 온라인 엔드포인트 read Azure Container Registry
관리형 온라인 엔드포인트 읽기/쓰기 Azure Storage
관리형 온라인 엔드포인트 read AI Studio Hub(구성)
관리형 온라인 엔드포인트 쓰기 AI Studio 프로젝트(메트릭)

생성된 역할 할당은 보안 요구 사항에 적합하거나 제한하려고 할 수 있습니다. 최소 권한 원칙을 따르고 역할 할당을 필요한 항목으로만 제한하려면 사용자 할당 관리 ID를 만들고 제한된 역할 할당을 만들어야 합니다.

네트워크 보안

엔드투엔드 채팅 솔루션을 빌드하는 방법을 쉽게 배울 수 있도록 이 아키텍처는 네트워크 보안을 구현하지 않습니다. 이 아키텍처는 ID를 경계로 사용하고 퍼블릭 클라우드 구문을 사용합니다. Azure AI Search, Azure Key Vault, Azure OpenAI, 배포된 관리형 온라인 엔드포인트 및 Azure 앱 서비스와 같은 서비스는 모두 인터넷에서 연결할 수 있습니다. Azure Key Vault 방화벽은 모든 네트워크의 액세스를 허용하도록 구성됩니다. 이러한 구성은 아키텍처의 공격 벡터에 노출 영역을 추가합니다.

아키텍처에 네트워크를 추가 경계로 포함하는 방법을 알아보려면 기준 아키텍처의 네트워킹 섹션을 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화를 위한 디자인 검토 검사 목록을 참조하세요.

기본 아키텍처는 Azure OpenAI를 사용하여 엔드투엔드 채팅 애플리케이션을 빌드하는 방법을 평가하고 학습할 수 있도록 설계되었습니다. 아키텍처는 프로덕션 준비 솔루션에 대한 비용을 나타내지 않습니다. 또한 아키텍처에는 비용 초과를 방지할 수 있는 컨트롤이 없습니다. 다음은 비용에 영향을 주는 이 아키텍처에서 생략된 몇 가지 중요한 기능에 대해 간략하게 설명합니다.

  • 이 아키텍처는 Azure OpenAI에 대한 호출이 제한된다고 가정합니다. 이러한 이유로 프로비전된 처리량이 아닌 종량제 가격을 사용하는 것이 좋습니다. 프로덕션 솔루션으로 이동하면서 기준 아키텍처에서 Azure OpenAI 비용 최적화 지침을 따릅니다.

  • 앱 서비스 계획은 가용성 영역 중단으로부터 보호를 제공하지 않는 단일 인스턴스의 기본 가격 책정 계층에 대해 구성됩니다. 기본 App Service 아키텍처비용에 영향을 미치는 고가용성을 위해 3개 이상의 작업자 인스턴스가 있는 프리미엄 플랜을 사용하는 것이 좋습니다.

  • 크기 조정은 관리되는 온라인 엔드포인트 관리 컴퓨팅에 대해 구성되지 않습니다. 프로덕션 배포의 경우 자동 크기 조정을 구성해야 합니다. 또한 기준 엔드투엔드 채팅 아키텍처는 영역 중복 구성에서 Azure 앱 서비스에 배포하는 것이 좋습니다. 이러한 아키텍처 변경 내용은 프로덕션으로 전환할 때 비용에 영향을 줍니다.

  • Azure AI 검색은 복제본이 추가되지 않은 기본 가격 책정 계층에 대해 구성됩니다. 이 토폴로지에서 Azure 가용성 영역 오류를 견딜 수 없습니다. 기준 엔드투엔드 채팅 아키텍처는 표준 가격 책정 계층 이상을 사용하여 배포하고 3개 이상의 복제본을 배포하는 것이 좋습니다. 이 복제본은 프로덕션으로 전환할 때 비용에 영향을 줍니다.

  • 이 아키텍처에는 비용 거버넌스 또는 포함 컨트롤이 없습니다. Azure OpenAI와 같은 종량제 서비스에 높은 비용이 발생할 수 있는 비관리 프로세스 또는 사용량을 방지해야 합니다.

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 Operational Excellence에 대한 디자인 검토 검사 목록을 참조하세요.

시스템 할당 관리 ID

이 아키텍처는 Azure AI Studio(허브), Azure AI Studio 프로젝트 및 관리되는 온라인 엔드포인트에 대해 시스템 할당 관리 ID를 사용합니다. 이러한 ID는 자동으로 만들어지고 리소스에 할당됩니다. 시스템은 시스템을 실행하는 데 필요한 역할 할당을 자동으로 만듭니다. 이러한 할당을 관리할 필요가 없습니다.

기본 제공 프롬프트 흐름 런타임

운영 부담을 최소화하기 위해 이 아키텍처는 Machine Learning 내의 서버리스 컴퓨팅 옵션인 자동 런타임을 사용하여 컴퓨팅 관리를 간소화하고 대부분의 프롬프트 흐름 구성을 실행 중인 애플리케이션의 requirements.txt 파일 및 flow.dag.yaml 구성에 위임합니다. 자동 런타임은 낮은 유지 관리, 임시 및 애플리케이션 기반입니다.

모니터링

진단은 모든 서비스에 대해 구성됩니다. App Service를 제외한 모든 서비스는 모든 로그를 캡처하도록 구성됩니다. App Service는 AppServiceHTTPLogs, AppServiceConsoleLogs, AppServiceAppLogs 및 AppServicePlatformLogs를 캡처하도록 구성됩니다. 개념 증명 단계에서 캡처할 수 있는 로그 및 메트릭을 이해하는 것이 중요합니다. 프로덕션으로 이동하면 가치를 추가하지 않고 워크로드의 로그 싱크에 노이즈 및 비용을 추가하는 로그 원본을 제거해야 합니다.

또한 배포된 관리형 온라인 엔드포인트에서 데이터를 수집하여 배포된 흐름에 대한 가시성을 제공하는 것이 좋습니다. 이 데이터를 수집하도록 선택하면 유추 데이터가 Azure Blob Storage에 기록됩니다. HTTP 요청 및 응답 페이로드가 모두 기록됩니다. 사용자 지정 데이터를 기록하도록 선택할 수도 있습니다.

관리되는 온라인 엔드포인트에 대해 Application Insights 진단과의 통합을 사용하도록 설정해야 합니다. 기본 제공 메트릭 및 로그는 Application Insights로 전송되며 Application Insights의 기능을 사용하여 추론 엔드포인트의 성능을 분석할 수 있습니다.

언어 모델 작업

이 아키텍처는 학습에 최적화되어 있으며 프로덕션용으로 사용되지 않으므로 GenAIOps와 같은 운영 지침은 범위를 벗어난다. 프로덕션으로 이동하면 기준 아키텍처의 언어 모델 작업 지침을 따릅니다.

개발

프롬프트 흐름은 Azure AI Studio 또는 Visual Studio Code 확장을 통해 브라우저 기반 제작 환경을 모두 제공합니다. 두 옵션 모두 흐름 코드를 파일로 저장합니다. Azure AI Studio를 사용하는 경우 파일은 스토리지 계정의 파일에 저장됩니다. Microsoft Visual Studio Code에서 작업하는 경우 파일은 로컬 파일 시스템에 저장됩니다.

이 아키텍처는 학습을 위한 것이므로 브라우저 기반 제작 환경을 사용하는 것이 좋습니다. 프로덕션으로 전환할 때 개발 및 소스 제어 모범 사례에 대한 기준 아키텍처의 지침을 따릅니다.

Azure AI Studio에서 프롬프트 흐름을 개발하고 테스트할 때 서버리스 컴퓨팅 옵션을 사용하는 것이 좋습니다. 이렇게 하면 개발 및 테스트를 위해 컴퓨팅 인스턴스를 배포하고 관리할 필요가 없습니다. 사용자 지정된 환경이 필요한 경우 컴퓨팅 인스턴스를 배포할 수 있습니다.

평가

Azure AI Studio에서 사용자 환경을 통해 Azure OpenAI 모델 배포를 수행하는 방법을 평가합니다. Microsoft는 모델 선택이 사용자 및 워크로드 디자인 요구 사항을 충족하는지 확인하기 위해 생성 AI 애플리케이션을 평가하는 방법을 숙지할 것을 제안합니다.

워크로드 개발 단계에서 숙지해야 하는 중요한 평가 도구 중 하나는 Azure Machine Learning의 책임 있는 AI 대시보드입니다. 이 도구는 배포의 공정성, 모델 해석 가능성 및 기타 주요 평가를 평가하는 데 도움이 되며 향후 회귀를 방지하기 위해 초기 기준을 설정하는 데 유용합니다.

배포

기본 아키텍처는 배포된 오케스트레이터에 대한 단일 인스턴스를 구현합니다. 변경 내용을 배포할 때 새 배포는 기존 배포를 대신합니다. 프로덕션으로 전환하기 시작하면 기준 아키텍처의 배포 흐름배포 지침을 참조하여 파란색/녹색 배포와 같은 고급 배포 접근 방식을 이해하고 구현하는 방법에 대한 지침을 참조하세요.

성능 효율성

성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성에 대한 디자인 검토 검사 목록을 참조하세요.

이 아키텍처는 프로덕션 배포를 위해 설계되지 않았기 때문에, 다음 내용은 아키텍처에서 생략된 몇 가지 중요한 성능 효율적 기능과 기타 권장 사항 및 고려 사항에 대한 개요입니다.

개념 증명의 결과는 앱 서비스와 Azure Machine Learning 컴퓨팅 모두에 워크로드에 적합할 것으로 예상하는 SKU 선택이어야 합니다. 수평적 크기 조정을 통해 수요를 효율적으로 충족하도록 워크로드를 디자인해야 합니다. 수평 크기 조정을 사용하면 App Service 계획에 배포된 컴퓨팅 인스턴스 수와 온라인 엔드포인트 뒤에 배포된 인스턴스 수를 조정할 수 있습니다. 수요에 맞게 컴퓨팅 SKU를 변경하는 데 의존하도록 시스템을 설계하지 마세요.

  • 이 아키텍처는 대부분의 구성 요소에 사용량 또는 종량제 모델을 사용합니다. 소비 모델은 최선의 노력이며 플랫폼에서 노이지 네이버 또는 기타 스트레스 요소의 영향을 받을 수 있습니다. 프로덕션으로 전환할 때 애플리케이션에 Azure OpenAI 모델 배포에 대한 예약된 처리 용량을 보장하는 프로비전된 처리량이 필요한지 여부를 결정해야 합니다. 예약된 용량은 모델에 대한 예측 가능한 성능 및 처리량을 제공합니다.

  • Azure Machine Learning 온라인 엔드포인트에는 자동 크기 조정이 구현되지 않으므로 최대 부하를 처리할 수 있는 SKU 및 인스턴스 수량을 프로비전해야 합니다. 서비스는 구성된 대로 공급을 수요에 맞게 효율적으로 유지하기 위해 동적으로 축소하지 않습니다. 프로덕션으로 전환할 때 온라인 엔드포인트를 자동크기조정하는 방법에 대한 지침을 따르세요.

시나리오 배포

참조 구현을 배포하고 실행하려면 Azure OpenAI 엔드투엔드 기본 참조 구현의 단계를 따릅니다.

다음 단계