Microsoft Foundry 또는 Azure Machine Learning 스튜디오 온라인 엔드포인트에 배포

Azure 개발자 CLI(azd)를 사용하면 Azure Machine Learning 스튜디오 또는 Microsoft Foundry 온라인 엔드포인트에 배포할 수 있습니다. azd 에서는 다음 기능을 지원합니다. 이 기능은 앞의 섹션에 설명되어 있습니다.

필수 구성 요소

Microsoft Foundry 또는 Azure Machine Learning 스튜디오 온라인 엔드포인트로 작업하려면 다음이 필요합니다.

Foundry Starter 템플릿은 Foundry 엔드포인트를 시작하는 데 필요한 모든 인프라를 만드는 데 도움이 될 수 있습니다.

온라인 엔드포인트 구성

파일의 services 섹션에서 온라인 엔드포인트에 대한 지원을 구성합니다.

  • host 값을 ai.endpoint으로 설정합니다.
  • 섹션 configai.endpoint 다음 구성을 지원합니다.
    • workspace: Microsoft Foundry 작업 영역의 이름입니다. azd 환경 변수 대체 및 구문을 지원합니다.
      • 지정 azd 하지 않으면 이름이 AZUREAI_PROJECT_NAME있는 환경 변수를 찾습니다.
    • 환경: ML 환경에 대한 선택적 사용자 지정 구성입니다. azd 는 참조된 YAML 파일 정의에서 새 환경 버전을 만듭니다.
    • 흐름: 흐름에 대한 선택적 사용자 지정 구성입니다. azd 는 지정된 파일 경로에서 새 프롬프트 흐름을 만듭니다.
    • 모델: ML 모델에 대한 선택적 사용자 지정 구성입니다. azd 는 참조된 YAML 파일 정의에서 새 모델 버전을 만듭니다.
    • 배포: 온라인 엔드포인트 배포에 필요한 구성입니다. azd 는 참조된 YAML 파일 정의에서 연결된 온라인 엔드포인트에 새 온라인 배포를 만듭니다.

이러한 기능을 구성하는 다음 샘플 azure.yaml 파일을 고려합니다.

name: contoso-chat
metadata:
  template: contoso-chat@0.0.1-beta
services:
  chat:
    # Referenced new ai.endpoint host type
    host: ai.endpoint
    # New config flow for AI project configuration
    config:
      # The name of the Foundry workspace
      workspace: ${AZUREAI_PROJECT_NAME}
      # Optional: Path to custom ML environment manifest
      environment:
        path: deployment/docker/environment.yml
      # Optional: Path to your prompt flow folder that contains the flow manifest
      flow:
        path: ./contoso-chat
      # Optional: Path to custom model manifest
      model:
        path: deployment/chat-model.yaml
        overrides:
          "properties.azureml.promptflow.source_flow_id": ${AZUREAI_FLOW_NAME}
      # Required: Path to deployment manifest
      deployment:
        path: deployment/chat-deployment.yaml
        environment:
          PRT_CONFIG_OVERRIDE: deployment.subscription_id=${AZURE_SUBSCRIPTION_ID},deployment.resource_group=${AZURE_RESOURCE_GROUP},deployment.workspace_name=${AZUREAI_PROJECT_NAME},deployment.endpoint_name=${AZUREAI_ENDPOINT_NAME},deployment.deployment_name=${AZUREAI_DEPLOYMENT_NAME}

이 섹션은 config.deployment 필수이며 참조된 YAML 파일 정의에서 연결된 온라인 엔드포인트에 대한 새 온라인 배포를 만듭니다. 이 기능은 다음을 처리합니다.

  • 연결된 환경 및 모델은 사용 가능한 경우 참조됩니다.
  • azd 는 배포가 터미널 프로비저닝 상태가 될 때까지 기다립니다.
  • 성공적인 배포 시 모든 트래픽이 새 배포 버전으로 이동됩니다.
  • 이전 배포는 모두 삭제되어 향후 배포를 위한 컴퓨팅을 확보할 수 있습니다.

구성 옵션 살펴보기

AI/ML 온라인 엔드포인트에 대해 지원되는 각 기능은 다음 섹션에 설명된 옵션을 사용하여 특정 시나리오에 대한 사용자 지정을 지원합니다.

흐름

구성 섹션은 flow 선택 사항이며 다음 값을 지원합니다.

  • name: 흐름의 이름입니다. 지정되지 않은 경우 기본값은 <service-name>-flow-<timestamp>입니다.

  • path: 흐름 매니페스트가 포함된 폴더의 상대 경로입니다.

  • 재정의: 흐름에 적용할 모든 사용자 지정 재정의입니다.

    메모

    각 호출은 azd deploy 새 타임스탬프 흐름을 만듭니다.

환경

구성 섹션은 environment 선택 사항이며 다음 값을 지원합니다.

  • 이름: 사용자 지정 환경의 이름입니다. 지정되지 않은 경우 기본값은 <service-name>-environment입니다.

  • path: 사용자 지정 환경 yaml 매니페스트에 대한 상대 경로입니다.

  • 재정의: 환경에 적용할 모든 사용자 지정 재정의입니다.

    메모

    각 호출은 azd deploy 새 환경 버전을 만듭니다.

모델

구성 섹션은 model 선택 사항이며 다음 값을 지원합니다.

  • 이름: 사용자 지정 모델의 이름입니다. 지정되지 않은 경우 기본값은 <service-name>-model입니다.

  • path: 사용자 지정 모델 YAML 매니페스트에 대한 상대 경로입니다.

  • 재정의: 모델에 적용할 모든 사용자 지정 재정의입니다.

    메모

    각 호출은 azd deploy 새 모델 버전을 만듭니다.

전개

deployment 구성 섹션이 필요하며 다음 값을 지원합니다.

  • 이름: 사용자 지정 배포의 이름입니다. 지정되지 않은 경우 기본값은 <service-name>-deployment입니다.

  • path: 사용자 지정 배포 yaml 매니페스트의 상대 경로입니다.

  • 환경: 배포에 대한 환경 변수를 설정하는 키 값 쌍의 맵입니다. ${VAR_NAME} 구문을 사용하여 OS/AZD 환경 변수에서 환경 변수를 대체하는 기능을 지원합니다.

  • 재정의: 배포에 적용할 모든 사용자 지정 재정의입니다.

    메모

    관리되는 온라인 배포만 지원합니다.

AgentSchema 및 agent.yaml

AgentSchema 는 코드 우선 YAML 형식으로 AI 에이전트를 정의하기 위한 개방형 사양입니다. 파일은 agent.yaml 모델, 지침, 도구 및 연결을 포함하여 에이전트의 구성을 설명합니다. AgentSchema는 Microsoft Copilot Studio, Microsoft Foundry 및 기타 플랫폼 간의 통합 교환 형식으로 사용됩니다.

AgentSchema는 다음 두 가지 기본 형식을 지원합니다.

  • AgentDefinition - 직접 실행할 수 있는 에이전트의 완전하고 구체적인 사양입니다. 모든 구성 값이 알려지고 고정된 단일 용도 에이전트에 이 형식을 사용합니다.
  • AgentManifest - 에이전트를 동적으로 만들기 위한 매개 변수가 있는 템플릿입니다. 런타임에 모델 이름, 연결 또는 명령과 같은 값이 {{parameter}} 구문을 사용하여 구성된 재사용 가능한 에이전트 패턴에 이 형식을 사용합니다.

예제 agent.yaml

다음 예제에서는 고객 지원 에이전트에 대한 AgentDefinition을 보여줍니다.

kind: prompt
name: customer-support
displayName: "Customer Support Agent"
description: "Handles customer inquiries and support requests"

model: gpt-4o

instructions: |
  You are a helpful customer support agent. Provide clear,
  professional responses to customer inquiries.

tools:
  knowledge_base:
    kind: function
    description: "Search company knowledge base"
    parameters:
      query:
        kind: string
        description: "Search query"
        required: true

agent.yamlazd 함께 사용하기

azure.yaml 스키마는 Microsoft Foundry에 에이전트를 배포하기 위한 azure.ai.agent 호스트 유형을 지원합니다. hostazure.ai.agent로 설정되면, azd는 프로젝트의 에이전트 정의를 사용하여 에이전트를 배포하고 관리합니다. 자세한 내용은 azure.yaml 스키마 참조를 참조하세요.

AgentSchema에 대한 자세한 내용은 다음 리소스를 참조하세요.

도움말 요청

버그를 제출하거나, 도움말을 요청하거나, Azure 개발자 CLI에 대한 새 기능을 제안하는 방법에 대한 자세한 내용은 troubleshooting and support 페이지를 방문하세요.