편집

다음을 통해 공유


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

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

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

Important

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

Important

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

아키텍처

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

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

워크플로

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

프롬프트 흐름

앞의 워크플로에서는 채팅 애플리케이션의 흐름을 설명하지만 다음 목록에서는 일반적인 프롬프트 흐름을 더 자세히 설명합니다.

참고 항목

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

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

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

구성 요소

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

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

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

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

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

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

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

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

  • Azure Storage 프롬프트 흐름 개발을 위해 프롬프트 흐름 원본 파일을 유지하는 데 사용할 수 있는 스토리지 솔루션입니다.

  • Azure Container Registry 모든 유형의 컨테이너 배포에 대한 프라이빗 레지스트리의 컨테이너 이미지 및 아티팩트를 빌드, 저장 및 관리하는 데 사용할 수 있는 관리되는 레지스트리 서비스입니다. 이 아키텍처 패키지는 컨테이너 이미지로 전달되고 Container Registry에 저장됩니다.

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

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

고려 사항

이러한 고려 사항은 워크로드의 품질을 개선하는 데 사용할 수 있는 지침 원칙 집합인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

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

안정성

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

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

  • App Service 계획은 Azure 가용성 영역 지원을 없는 기본 계층에 대해 구성됩니다. 인스턴스, 랙 또는 인스턴스를 호스트하는 데이터 센터에 문제가 있는 경우 앱 서비스를 사용할 수 없게 됩니다. 프로덕션으로 전환할 때 App Service 인스턴스에 대한 안정성 지침을 따릅니다.

  • 이 기본 아키텍처에서는 클라이언트 UI에 대한 자동 크기 조정을 사용할 수 없습니다. 사용 가능한 컴퓨팅 리소스 부족으로 인한 안정성 문제를 방지하려면 최대 동시 용량을 처리하기에 충분한 컴퓨팅으로 항상 실행되도록 리소스를 과도하게 프로비전해야 합니다.

  • Machine Learning 컴퓨팅은가용성 영역을 지원하지 않습니다. 인스턴스, 랙 또는 인스턴스를 호스트하는 데이터 센터에 문제가 있는 경우 오케스트레이터를 사용할 수 없게 됩니다. 가용성 영역을 지원하는 인프라에 오케스트레이션 논리를 배포하는 방법을 알아보려면 기준 아키텍처에서 흐름 배포에 대한 영역 중복성을 참조하세요.

  • Azure OpenAI는 고가용성 구성에서 구현되지 않습니다. 신뢰할 수 있는 방식으로 Azure OpenAI를 구현하는 방법을 알아보려면 기준 아키텍처에서 Azure OpenAI - 안정성을 참조하세요.

  • AI Search는 Azure 가용성 영역지원하지 않는 기본 계층에 대해 구성됩니다. 영역 중복성을 달성하려면 가용성 영역을 지원하는 지역에 표준 가격 책정 계층 이상을 사용하여 AI Search를 배포하고 3개 이상의 복제본을 배포합니다.

  • 자동 크기 조정은 Machine Learning 컴퓨팅에 대해 구현되지 않습니다. 자세한 내용은 기준 아키텍처에서 안정성 지침을 참조하세요.

자세한 내용은 기준 Azure OpenAI 엔드 투 엔드 채팅 참조 아키텍처참조하세요.

보안

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

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

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

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

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

ID 및 액세스 관리

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

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

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

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

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

역할 기반 액세스 역할

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

다음 표에는 시스템에서 시스템 할당 ID에 대해 자동으로 부여하는 사용 권한이 요약되어 있습니다.

ID Privilege 리소스
AI Foundry 허브 읽기/쓰기 Key Vault
AI Foundry 허브 읽기/쓰기 보관
AI Foundry 허브 읽기/쓰기 Container Registry
AI Foundry 프로젝트 읽기/쓰기 Key Vault
AI Foundry 프로젝트 읽기/쓰기 보관
AI Foundry 프로젝트 읽기/쓰기 Container Registry
AI Foundry 프로젝트 쓰다 Application Insights
관리형 온라인 엔드포인트 읽다 Container Registry
관리형 온라인 엔드포인트 읽기/쓰기 보관
관리형 온라인 엔드포인트 읽다 AI Foundry 허브(구성)
관리형 온라인 엔드포인트 쓰다 AI Foundry 프로젝트(메트릭)

시스템에서 만드는 역할 할당은 보안 요구 사항을 충족하거나 추가로 제한하려고 할 수 있습니다. 최소 권한 원칙을 따르려면 사용자 할당 관리 ID를 만들고 고유한 제한된 역할 할당을 만들어야 합니다.

네트워크 보안

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

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

비용 최적화

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

이 기본 아키텍처는 프로덕션 준비 솔루션에 대한 비용을 나타내지 않습니다. 또한 아키텍처에는 비용 초과를 방지할 수 있는 컨트롤이 없습니다. 다음 고려 사항은 비용에 영향을 주는 몇 가지 중요한 기능과 이 아키텍처에서 생략하는 몇 가지 사항을 간략하게 설명합니다.

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

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

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

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

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

운영 우수성

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

시스템 할당 관리 ID

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

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

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

모니터링

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

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

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

언어 모델 작업

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

개발

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

이 아키텍처는 학습을 위한 것이므로 브라우저 기반 제작 환경을 사용해도 됩니다. 프로덕션으로 전환하기 시작하면 기준 아키텍처의 개발 및 소스 제어 지침 따릅니다.

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

평가

AI Foundry에서 사용자 환경을 사용하여 Azure OpenAI 모델 배포에 대한 평가를 수행할 수 있습니다. 선택한 모델이 고객 및 워크로드 디자인 요구 사항을 충족하는지 확인하기 위해 생성 AI 애플리케이션을 평가하는 방법을 숙지하는 것이 좋습니다.

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

배포

이 기본 아키텍처는 배포된 오케스트레이터에 대한 단일 인스턴스를 구현합니다. 변경 내용을 배포할 때 새 배포는 기존 배포를 대신합니다. 프로덕션으로 전환하기 시작하면 배포 흐름 읽고 기준 아키텍처에서 배포 지침을 . 이 지침은 청록색 배포와 같은 고급 배포 방법을 이해하고 구현하는 데 도움이 됩니다.

성능 효율성

성능 효율성은 워크로드가 사용자가 효율적인 방식으로 요구 사항을 충족하는 기능입니다. 자세한 내용은 성능 효율성대한 디자인 검토 검사 목록을 참조하세요.

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

POC의 한 가지 결과는 앱 서비스 및 Machine Learning 컴퓨팅의 워크로드에 적합한 제품을 선택하는 것입니다. 수평적 크기 조정을 통해 수요를 효율적으로 충족하도록 워크로드를 디자인해야 합니다. 수평 크기 조정을 사용하면 App Service 계획 및 온라인 엔드포인트 뒤에 배포된 인스턴스에 배포된 컴퓨팅 인스턴스 수를 조정할 수 있습니다. 수요에 맞게 컴퓨팅 제품을 변경하는 데 의존하는 시스템을 설계하지 마세요.

  • 이 아키텍처는 대부분의 구성 요소에 사용량 또는 종량제 모델을 사용합니다. 소비 모델은 최상의 모델이며, 플랫폼에서 시끄러운 이웃 문제 또는 기타 스트레스 요인의 영향을 받을 수 있습니다. 프로덕션으로 전환할 때 애플리케이션에 프로비전된 처리량 필요한지 여부를 확인합니다. 프로비전된 처리량은 처리 용량이 Azure OpenAI 모델 배포를 위해 예약되도록 하는 데 도움이 됩니다. 예약된 용량은 모델에 대한 예측 가능한 성능 및 처리량을 제공합니다.

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

추가 디자인 권장 사항

이와 같은 AI/ML 워크로드는 AzureAzure Well-Architected Framework의 AI 워크로드에 있는 디자인 지침을 이해하는 설계자가 설계해야 합니다. 아이디어 및 기술 증명에서 디자인으로 전환할 때 이 아키텍처에서 얻은 학습의 세부 사항과 Well-Architected Framework에 있는 일반적인 AI/ML 워크로드 지침을 모두 결합해야 합니다.

시나리오 배포

이러한 권장 사항 및 고려 사항을 구현하는 참조 아키텍처에 대한 배포는 GitHub사용할 수 있습니다.

다음 단계

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