다음을 통해 공유


Azure AI 파운드리 모델 카탈로그의 포함 모델을 사용하여 통합 벡터화

중요합니다

이 기능은 추가 사용 약관에 따라 공개 미리 보기로 제공됩니다. 2024-05-01-Preview REST API는 이 기능을 지원합니다.

이 문서에서는 Azure AI 검색에서 인덱싱 및 쿼리를 수행하는 동안 벡터 변환을 위해 Azure AI 파운드리 모델 카탈로그의 포함 모델에 액세스하는 방법을 알아봅니다.

워크플로에는 모델 배포 단계가 포함됩니다. 모델 카탈로그에는 Microsoft 및 기타 회사의 포함 모델이 포함되어 있습니다. 모델 배포는 각 공급자의 청구 구조에 따라 비용을 청구할 수 있습니다.

모델이 배포된 후에는 인덱싱 중에 통합 벡터화에 사용하거나 쿼리를 위해 Azure AI 파운드리 벡터라이저와 함께 사용할 수 있습니다.

데이터 가져오기(새) 마법사를 사용하여 Azure AI Foundry에 배포된 포함 모델에 대한 AML 기술을 포함하는 기술 세트를 생성합니다. 입력, 출력 및 매핑에 대한 AML 기술 정의는 마법사를 통해 생성되므로 코드를 작성하기 전에 모델을 쉽게 테스트할 수 있습니다.

필수 구성 요소

지원되는 포함 모델

Azure AI Foundry 모델 카탈로그에서 지원되는 포함 모델은 사용 방법에 따라 다릅니다.

Azure AI 파운드리 모델 카탈로그에서 포함 모델 배포

  1. Azure AI 파운드리 모델 카탈로그를 엽니다. 아직 프로젝트가 없다면 만들어 보세요.

  2. 왼쪽 창에서 모델 카탈로그를 선택합니다.

  3. 필터를 적용하여 포함 모델만 표시합니다. 유추 작업에서 임베딩을 선택합니다.

    포함 모델을 기준으로 필터링하는 방법을 강조 표시한 Azure AI 파운드리 모델 카탈로그 페이지의 스크린샷.

  4. 지원되는 모델을 선택한 다음 , 이 모델 사용을 선택합니다.

    Azure AI Foundry 모델 카탈로그를 통해 모델을 배포하는 스크린샷

  5. 기본값을 적용하거나 필요에 따라 수정한 다음 배포를 선택합니다. 배포 세부 정보는 선택한 모델에 따라 달라집니다.

  6. 프로비전 상태를 모니터링하여 모델 배포가 완료되기를 기다립니다. "프로비전 중"에서 "업데이트 중", "성공"으로 변경됩니다. 상태 업데이트를 보려면 몇 분마다 새로 고침을 선택해야 할 수 있습니다.

  7. 대상 URI, 키, 모델 이름을 기록해 둡니다. 검색 인덱스의 벡터라이저 정의와 인덱싱 중에 모델 엔드포인트를 호출하는 기술 세트에 대해 이러한 값이 필요합니다.

    필요에 따라 키 인증 대신 토큰 인증을 사용하도록 엔드포인트를 변경할 수 있습니다. 토큰 인증을 사용하도록 설정하는 경우 URI와 모델 이름만 복사하면 되고, 모델이 배포된 지역을 기록해 둡니다.

    나중에 복사하여 저장할 필드를 강조 표시한 Azure AI 파운드리 포털에 배포된 엔드포인트의 스크린샷.

  8. 이제 배포된 모델을 사용하도록 검색 인덱스 및 인덱서를 구성할 수 있습니다.

샘플 AML 기술 페이로드

Azure AI Foundry 모델 카탈로그에서 임베딩 모델을 배포하는 경우 Azure AI Search의 AML 기술을 사용하여 인덱싱 작업 워크로드에 연결합니다.

이 섹션에서는 AML 기술 정의 및 인덱스 매핑에 대해 설명합니다. 여기에는 배포된 해당 엔드포인트에서 작동하도록 이미 구성된 샘플 페이로드가 포함됩니다. 이러한 페이로드의 작동 방식에 대한 자세한 기술 정보는 기술 컨텍스트 및 입력 주석 언어를 참조하세요.

Cohere 포함 모델

이 AML 기술 페이로드는 다음 포함 모델에서 작동합니다.

  • Cohere-embed-v3-english
  • Cohere-embed-v3-multilingual
  • Cohere-embed-v4

텍스트 분할 기술을 사용하여 콘텐츠를 청크로 나누고 있으므로 벡터화할 텍스트가 /document/pages/* 경로에 있다고 가정합니다. 텍스트가 다른 경로에서 오는 경우 /document/pages/* 경로에 대한 모든 참조를 적절하게 업데이트합니다.

Azure AI 파운드리 배포에서 복사한 URL의 끝에 /v1/embed 경로를 추가해야 합니다. 사용 사례에 더 적합하도록 input_type, truncate, 및 embedding_types 입력의 값을 변경할 수도 있습니다. 사용 가능한 옵션에 대한 자세한 내용은 Cohere Embed API 참조를 검토하세요.

URI 및 키는 카탈로그에서 모델을 배포할 때 생성됩니다. 이러한 값에 대한 자세한 내용은 Azure AI 파운드리를 사용하여 Cohere Embed 모델을 배포하는 방법을 참조하세요.

{
  "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
  "context": "/document/pages/*",
  "uri": "https://cohere-embed-v3-multilingual-hin.eastus.models.ai.azure.com/v1/embed",
  "key": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
  "inputs": [
    {
      "name": "texts",
      "source": "=[$(/document/pages/*)]"
    },
    {
      "name": "input_type",
      "source": "='search_document'"
    },
    {
      "name": "truncate",
      "source": "='NONE'"
    },
    {
      "name": "embedding_types",
      "source": "=['float']"
    }
  ],
  "outputs": [
    {
      "name": "embeddings",
      "targetName": "aml_vector_data"
    }
  ]
}

또한 Cohere 모델의 출력은 포함 배열이 아니라 이를 포함하는 JSON 개체입니다. indexProjections 또는 outputFieldMappings를 통해 인덱스 정의에 매핑할 때 적절하게 선택해야 합니다. 다음은 이 매핑을 구현할 수 있는 샘플 indexProjections 페이로드입니다.

기술 정의에서 다른 embedding_types 항목을 선택한 경우 float 경로에서 source을(를) 선택한 형식으로 변경합니다.

"indexProjections": {
  "selectors": [
    {
      "targetIndexName": "<YOUR_TARGET_INDEX_NAME_HERE>",
      "parentKeyFieldName": "ParentKey", // Change this to the name of the field in your index definition where the parent key will be stored
      "sourceContext": "/document/pages/*",
      "mappings": [
        {
          "name": "aml_vector", // Change this to the name of the field in your index definition where the Cohere embedding will be stored
          "source": "/document/pages/*/aml_vector_data/float/0"
        }
      ]
    }
  ],
  "parameters": {}
}

Azure AI 파운드리 벡터라이저 페이로드 샘플

Azure AI 파운드리 벡터라이저는 AML 기술과 달리 Azure AI 파운드리 모델 카탈로그를 통해 배포 가능한 포함 모델에서만 작동하도록 맞춤화되었습니다. 주요 차이점은 요청 및 응답 페이로드에 대해 걱정할 필요가 없지만 modelName에서 모델을 배포한 후 복사한 "모델 ID"에 해당하는 페이로드를 제공해야 한다는 것입니다.

Azure AI 파운드리에서 복사한 속성을 기반으로 인덱스 정의에서 벡터라이저를 구성하는 방법에 대한 샘플 페이로드는 다음과 같습니다.

Cohere 모델의 경우 기술과 마찬가지로 URL 끝에 /v1/embed 경로를 추가해서는 안 됩니다.

"vectorizers": [
    {
        "name": "<YOUR_VECTORIZER_NAME_HERE>",
        "kind": "aml",
        "amlParameters": {
            "uri": "<YOUR_URL_HERE>",
            "key": "<YOUR_PRIMARY_KEY_HERE>",
            "modelName": "<YOUR_MODEL_ID_HERE>"
        },
    }
]

토큰 인증을 사용하여 연결

키 기반 인증을 사용할 수 없는 경우 대신 Azure의 역할 기반 액세스 제어를 통해 토큰 인증에 대한 AML 기술과 Azure AI 파운드리 벡터화 연결을 구성할 수 있습니다. 검색 서비스에는 시스템 또는 사용자 할당 관리 ID가 있어야 하며 ID에는 AML 프로젝트 작업 영역에 대한 소유자 또는 기여자 권한이 있어야 합니다. 그런 다음, 기술 및 벡터라이저 정의에서 키 필드를 제거하고 resourceId 필드로 바꿀 수 있습니다. AML 프로젝트 및 검색 서비스가 다른 지역에 있는 경우 지역 필드도 제공합니다.

"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service

비고

토큰 인증은 현재 이 통합을 위한 Cohere 모델에 대해 지원되지 않습니다. 키 인증만 현재 사용할 수 있습니다.

다음 단계