Azure OpenAI 포함 기술

Azure OpenAI 포함 기술은 Azure OpenAI 리소스에 배포된 포함 모델에 연결하여 인덱싱 중에 포함을 생성합니다. 데이터는 모델이 배포된 지역에서 처리됩니다.

Azure OpenAI 서비스에는 연결된 사용자 지정 하위 도메인이 있어야 합니다. Azure Portal을 통해 서비스를 만든 경우 이 하위 도메인은 서비스 설정의 일부로 자동으로 생성됩니다. Azure AI Search 통합과 함께 사용하기 전에 서비스에 사용자 지정 하위 도메인이 포함되어 있는지 확인합니다.

AI Studio 서비스 계정으로 만든 Azure OpenAI 모델은 지원되지 않습니다. Azure OpenAI Service의 모델만 이 통합과 호환됩니다.

Azure Portal의 데이터 가져오기 및 벡터화 마법사Azure OpenAI 포함 기술을 사용하여 콘텐츠를 벡터화합니다. 마법사를 실행하고 생성된 기술 세트를 검토하여 마법사가 모델을 포함하기 위한 기술을 빌드하는 방법을 확인할 수 있습니다.

참고 항목

이 기술은 Azure OpenAI에 바인딩되며 기존 Azure OpenAI 종량제 가격으로 요금이 청구됩니다.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

데이터 제한

텍스트 입력의 최대 크기는 8,000개의 토큰이어야 합니다. 입력이 허용되는 최대값을 초과하면 모델에서 잘못된 요청 오류를 throw합니다. 자세한 내용은 Azure OpenAI 설명서의 토큰 주요 개념을 참조하세요. 데이터 청크가 필요한 경우 텍스트 분할 기술을 사용하는 것이 좋습니다.

기술 매개 변수

매개 변수는 대/소문자를 구분합니다.

입력 설명
resourceUri 모델 공급자의 URI(이 경우 Azure OpenAI 리소스)입니다. 이 매개 변수는 도메인이 있는 URL openai.azure.com(예: https://<resourcename>.openai.azure.com.)만 지원합니다. Azure OpenAI 엔드포인트에 도메인cognitiveservices.azure.com과 같은 https://<resourcename>.cognitiveservices.azure.comURL이 있는 경우 Azure OpenAI 리소스에 대해 먼저 사용자 지정 하위 도메인 openai.azure.com 을 만들고 대신 사용해야 https://<resourcename>.openai.azure.com 합니다.
apiKey 모델에 액세스하는 데 사용되는 비밀 키입니다. 키를 제공하는 경우 authIdentity를 비워 둡니다. apiKeyauthIdentity를 모두 설정하면 연결에 apiKey가 사용됩니다.
deploymentId 배포된 Azure OpenAI 포함 모델의 이름입니다. 모델은 text-embedding-ada-002와 같은 포함 모델이어야 합니다. 지원되는 모델은 Azure OpenAI 모델 목록을 참조하세요.
authIdentity Azure OpenAI에 연결하기 위해 검색 서비스에서 사용하는 사용자 관리 ID입니다. 시스템 관리 ID 또는 사용자 관리 ID를 지정할 수 있습니다. 시스템 관리 ID를 사용하려면 apiKeyauthIdentity을(를) 비워 둡니다. 시스템 관리 ID가 자동으로 사용됩니다. Azure OpenAI에 텍스트를 보내려면 관리 ID에 Cognitive Services OpenAI 사용자 권한이 있어야 합니다.
modelName 이 속성은 2024-05-01-preview 또는 2024-07-01 REST API를 사용하여 기술 세트를 만드는 경우에 필요합니다. 이 속성을 resourceUri를 통해 지정되고 deploymentId를 통해 식별된 공급자에 배포된 Azure OpenAI 포함 모델의 배포 이름으로 설정합니다. 현재 지원되는 값은 text-embedding-ada-002, text-embedding-3-largetext-embedding-3-small입니다.
dimensions (2024-05-01-preview REST API에 도입된 선택 사항). 모델이 포함 차원의 축소를 지원하는 경우 생성하려는 포함 차원입니다. 지원되는 범위는 다음과 같습니다. 지정하지 않으면 각 모델의 최대 크기로 기본값이 지정됩니다. 2023-10-01-preview를 사용하여 만든 기술 세트의 경우 차원은 1536으로 고정됩니다.

modelName에서 지원되는 차원

Azure OpenAI 포함 기술에 지원되는 차원은 구성된 modelName에 따라 달라집니다.

modelName 최소 차원 최대 차원
text-embedding-ada-002 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small 1 1536

기술 입력

입력 설명
text 벡터화할 입력 텍스트입니다. 데이터 청크를 사용하는 경우 원본은 /document/pages/*일 수 있습니다.

기술 출력

출력 설명
embedding 입력 텍스트에 대한 벡터화된 포함입니다.

샘플 정의

다음 필드가 있는 레코드를 고려합니다.

{
    "content": "Microsoft released Windows 10."
}

그러면 기술 정의가 다음과 같이 표시될 수 있습니다.

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "modelName": "text-embedding-ada-002",
  "dimensions": 1536,
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

샘플 출력

지정된 입력 텍스트의 경우 벡터화된 포함 출력이 생성됩니다.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

출력은 메모리에 상주합니다. 이 출력을 검색 인덱스의 필드로 보내려면 벡터화된 포함 출력(배열)을 벡터 필드에 매핑하는 outputFieldMapping을 정의해야 합니다. 기술 출력이 문서의 포함 노드에 있고 content_vector가 검색 인덱스의 필드라고 가정하면 인덱서의 outputFieldMapping은 다음과 같습니다.

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

모범 사례

다음은 이 기술을 활용할 때 고려해야 하는 몇 가지 모범 사례입니다.

  • Azure OpenAI TPM(분당 토큰) 한도에 도달하는 경우 적절하게 해결할 수 있도록 할당량 한도 권고를 고려합니다. Azure OpenAI 인스턴스 성능에 대한 자세한 내용은 Azure OpenAI 모니터링 설명서를 참조하세요.

  • 이 기술에 사용하는 Azure OpenAI 포함 모델 배포는 쿼리 벡터라이저를 포함하여 다른 사용 사례에 사용되는 배포와 이상적으로 분리되어야 합니다. 이를 통해 각 배포가 특정 사용 사례에 맞게 조정되어 최적화된 성능을 제공하고 인덱서와 인덱스 포함 호출의 트래픽을 쉽게 식별할 수 있습니다.

  • Azure OpenAI 인스턴스는 동일한 지역에 있거나 적어도 AI Search Service가 호스트되는 지역과 지리적으로 가깝습니다. 이렇게 하면 대기 시간이 줄어들고 서비스 간의 데이터 전송 속도가 향상됩니다.

  • 할당량 및 한도 설명서에 게시된 기본 Azure OpenAI TPM(분당 토큰) 한도보다 큰 경우 Azure AI Search 팀과 지원 사례를 열어 그에 따라 조정할 수 있습니다. 이렇게 하면 더 높은 한도가 있는 경우 문서화된 기본 TPM 한도에 따라 인덱싱 프로세스가 불필요하게 느려지지 않습니다.

  • 이 기술을 사용하는 예제 및 작업 코드 샘플은 다음 링크를 참조하세요.

오류 및 경고

조건 결과
Null 또는 잘못된 URI Error
Null 또는 잘못된 deploymentID Error
텍스트가 비어 있습니다. Warning
텍스트가 8,000개 토큰보다 큽니다. Error

참고 항목