Azure OpenAI 벡터라이저

참고

Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.

Azure OpenAI 벡터라이저는 Azure Foundry 모델의 OpenAI 리소스 또는 Microsoft Foundry 프로젝트에 배포된 포함 모델에 연결하여 쿼리 시 포함을 생성합니다. 데이터는 모델이 배포된 지오(Geo )에서 처리됩니다.

벡터라이저는 쿼리 시간에 사용되지만, 인덱스 정의에 지정하며, 벡터 필드를 벡터 프로파일을 통해 참조합니다. 자세한 내용은 검색 인덱스에서 벡터라이저 구성을 참조하세요.

Azure OpenAI 벡터라이저는 REST API에서 AzureOpenAIVectorizer 호출됩니다. 안정적인 최신 버전의 인덱스 - 만들기(REST API) 또는 기능을 제공하는 Azure SDK 패키지를 사용합니다.

참고

이 벡터라이저는 Azure OpenAI에 바인딩되며 Azure OpenAI 표준 가격 요금이 청구됩니다.

필수 구성 요소

  • 파운드리 모델에서의 Azure OpenAI 리소스 또는 파운드리 프로젝트.

    • Azure OpenAI 자원에는 같은 https://<resource-name>.openai.azure.com가 있어야 합니다. 이 엔드포인트는 Azure 포털의 Keys and Endpoint 페이지에서 찾을 수 있으며, 이 스킬의 resourceUri 속성에 사용할 수 있습니다.

    • Foundry 프로젝트의 상위 리소스는 , , https://<resource-name>.openai.azure.com, 등 https://<resource-name>.services.ai.azure.com여러 엔드포인트https://<resource-name>.cognitiveservices.azure.com에 접근할 수 있도록 합니다. 이 엔드포인트는 Azure 포털의 Keys 및 Endpoint 페이지에서 찾을 수 있으며, 이 스킬의 resourceUri 속성에 사용할 수 있습니다.

  • 귀하의 리소스나 프로젝트에 배포된 Azure OpenAI 임베딩 모델입니다. 지원되는 모델은 다음 섹션을 참조하세요.

벡터라이저 매개 변수

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

매개 변수 이름 설명
resourceUri (필수) 모델 제공자의 URI. 지원되는 도메인은 다음과 같습니다:

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com

API Management 사용자 지정 도메인을 제외하고 Azure API Management 엔드포인트도 지원됩니다. 인증, RBAC 및 선택적 프라이빗 연결을 비롯한 설정은 Azure OpenAI 기술 및 벡터라이저와 함께 Azure API Management 사용 참조하세요.

apiKey 모델에 접근하는 데 사용된 비밀 키입니다. 열쇠를 제공한다면 authIdentity를 비워두세요. 만약 apiKey와 authIdentity를 모두 설정하면 연결에 apiKey가 사용됩니다.
deploymentId (필수) 배포된 Azure OpenAI 임베딩 모델의 ID입니다. 이것은 모델을 배포할 때 지정한 배포 이름입니다.
authIdentity 검색 서비스가 연결에 사용하는 사용자 관리 신원입니다. 시스템 기반 또는 사용자 관리 신원 중 하나를 사용할 수 있습니다. 시스템 관리 신원을 사용하려면 apiKey 및 authIdentity를 비워 두세요. 시스템 관리 신원은 자동으로 사용됩니다. 관리된 신원은 텍스트를 Azure OpenAI에 전송하려면 Cognitive Services OpenAI User 권한을 가져야 합니다.
modelName (필수) 지정된 deploymentId에 배포된 Azure OpenAI 모델의 이름입니다. 지원되는 값은 다음과 같습니다:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small

지원되는 벡터 쿼리 형식

Azure OpenAI 벡터라이저는 text 벡터 쿼리만 지원합니다.

예상 필드 크기

Azure OpenAI 벡터라이저로 구성된 필드에 대한 예상 필드 차원은 구성된 modelName 따라 달라집니다.

modelName 최소 차원 최대 크기
text-embedding-ada-002 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small (텍스트 임베딩 3 스몰) 1 1536

샘플 정의

"vectorizers": [
    {
        "name": "my-openai-vectorizer",
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
            "resourceUri": "https://my-fake-azure-openai-resource.openai.azure.com",
            "apiKey": "0000000000000000000000000000000000000",
            "deploymentId": "my-ada-002-deployment",
            "authIdentity": null,
            "modelName": "text-embedding-ada-002",
        },
    }
]

성능 모범 사례

다음은 이 벡터라이저를 사용할 때 고려해야 하는 몇 가지 모범 사례입니다.

  • Azure OpenAI TPM(분당 토큰) 한도에 도달했다면, quota limits advisory를 참고해 적절히 대응할 수 있습니다. Azure OpenAI 인스턴스 성능에 대한 자세한 내용은 Azure OpenAI monitoring 문서를 참고하세요.

  • 이 벡터라이저에 사용하는 Azure OpenAI embeddings 모델 배포는 embedding skill 포함하여 다른 사용 사례에 사용되는 배포와 이상적으로 분리되어야 합니다. 이로 인해 각 배포가 특정 사용 사례에 맞게 맞춤화되어 최적화된 성능과 인덱서 및 인덱스 임베딩 호출의 트래픽 식별이 용이해집니다.

  • Azure OpenAI 인스턴스는 AI 검색 서비스가 호스팅된 지역과 같은 지역이거나 지리적으로 가까워야 합니다. 이로 인해 지연 시간이 줄어들고 서비스 간 데이터 전송 속도가 향상됩니다.

  • 자주 발생하는 429 오류 코드를 방지하려면 여러 Azure OpenAI 포함 모델 배포 앞에서 부하 분산 게이트웨이를 구현하여 API Management를 통해 부하 분산을 구현하는 것이 좋습니다.

  • Azurequotas and limits 문서에 공개된 OpenAI TPM(분당 토큰) 한도가 기본값보다 크다면, Azure AI 검색팀에 support 케이스를 열어 조정하세요. 이렇게 하면 더 높은 한도가 있을 경우 문서화된 기본 TPM 한도 때문에 인덱싱 과정이 불필요하게 느려지지 않도록 도와줍니다.

관리 ID 인증에 대한 보안 고려 사항

Azure OpenAI 벡터라이저가 관리 ID 인증을 사용하는 경우 Azure AI 검색 Foundry Tools 대상 그룹(https://cognitiveservices.azure.com)에 대한 Microsoft Entra 액세스 토큰을 가져오고 지정된 엔드포인트로 전송된 resourceUri요청에 포함합니다. 관리 ID 인증은 사용자가 설정 authIdentity하거나 둘 다 apiKey 비어 있고 authIdentity 서비스가 시스템 할당 ID를 사용하는 경우에 적용됩니다.

참조하는 resourceUri 엔드포인트는 사용자 고유의 Azure OpenAI 또는 Foundry Tools 리소스여야 합니다. 지원되는 도메인은 다음과 같습니다:

  • openai.azure.com
  • cognitiveservices.azure.com
  • services.ai.azure.com

APIM(Azure API Management) 엔드포인트(*.azure-api.net)도 지원됩니다. APIM 호스트 이름은 이름에서만 확인할 수 없으므로 Azure AI 검색 도메인 일치가 아닌 구성 시간에 라이브 연결 확인을 사용하여 이러한 엔드포인트의 유효성을 검사합니다. APIM 엔드포인트와 그 뒤에 있는 Azure OpenAI 또는 Foundry Tools 리소스 간의 관계를 구성하고 유지 관리해야 합니다.

참고

Foundry Tools 대상 그룹에 대해 발급된 관리 ID 토큰은 Id에 권한이 부여된 모든 Foundry 도구 또는 Azure OpenAI 리소스에 대해 유효합니다. 신뢰할 수 없는 엔드포인트로 보내면 토큰이 노출될 수 있습니다.

보안 배포를 유지 관리하려면 다음 방법을 따르세요.

  • 소유하고 신뢰하는 엔드포인트로만 설정합니다 resourceUri . 이전에 나열된 Foundry 도구 도메인을 선호합니다. APIM 엔드포인트를 사용하는 경우 관리 ID를 사용하도록 설정하기 전에 자체 리소스를 사용하는지 확인합니다. 신뢰할 수 있는 호스트 이름은 소유권 증명이 아닙니다.
  • 검색 서비스에서 사용하는 관리 ID에 최소 권한 원칙을 적용합니다. Azure OpenAI 벡터라이저에는 대상 리소스에 대한 Cognitive Services OpenAI 사용자 역할만 필요합니다. 더 광범위한 역할을 부여하지 않습니다.
  • NSP(네트워크 보안 경계) 및 프라이빗 엔드포인트 또는 VNet 통합을 사용하여 검색 서비스에서 연결할 수 있는 엔드포인트와 대상 리소스가 요청을 수락하는 원본을 제한합니다.
  • APIM 엔드포인트를 사용하는 경우 게이트웨이가 인바운드 요청의 유효성을 검사하고 의도한 백 엔드에만 전달해야 합니다. 또한 해당 액세스 정책을 주기적으로 검토해야 합니다.
  • 보다 관리 ID를 apiKey선호합니다. 사용하는 apiKey경우 안전하게 저장 및 회전하고 소스 제어에 포함하지 않습니다. 서비스는 둘 다 apiKeyauthIdentity설정하는 구성을 거부합니다.
  • 인덱스 정의, 관리 ID 역할 할당 및 APIM 구성을 주기적으로 검토하여 값, 액세스 제어 및 ID 권한이 현재 및 적절하게 유지되도록 resourceUri 합니다. 설정된 변경 관리 및 보안 검토 프로세스를 통해 구성 변경 내용을 검토합니다.
  • Azure OpenAI 및 Foundry Tools 로그인 로그, 인증 이벤트 및 액세스 로그를 모니터링하여 예기치 않거나 권한이 없는 활동을 확인합니다.
  • 더 이상 필요하지 않은 사용되지 않는 벡터라이저, 엔드포인트, 역할 할당 및 API 키를 제거합니다.

인덱스 및 벡터라이저 구성에 대한 액세스 제한

인덱스 정의를 만들거나 수정할 수 있는 사용자는 대상 엔드포인트(resourceUri)와 벡터라이저에서 사용하는 인증 구성을 모두 제어합니다. 벡터라이저는 Foundry Tools 대상 그룹에 대한 관리 ID 토큰을 해당 엔드포인트로 보내기 때문에 이러한 권한을 신뢰할 수 있는 관리자로 제한하고 관리 ID 사용 벡터라이저를 구성할 때 표준 변경 관리 및 보안 검토 프로세스를 따릅니다.

참고 사항