Azure OpenAI 포함 기술
Azure OpenAI 포함 기술은 Azure OpenAI 리소스에 배포된 포함 모델에 연결하여 인덱싱 중에 포함을 생성합니다. 데이터는 모델이 배포된 지역에서 처리됩니다.
필수 조건
Azure OpenAI 서비스에는 연결된 사용자 지정 하위 도메인이 있어야 합니다. Azure Portal을 통해 서비스를 만든 경우 이 하위 도메인은 서비스 설정의 일부로 자동으로 생성됩니다. Azure AI Search 통합과 함께 사용하기 전에 서비스에 사용자 지정 하위 도메인이 포함되어 있는지 확인합니다.
AI Studio에서 만든 Azure OpenAI 서비스 리소스(모델 포함에 대한 액세스 권한 포함)는 지원되지 않습니다. Azure Portal에서 만든 Azure OpenAI 서비스 리소스만 Azure OpenAI 포함 기술 통합과 호환됩니다.
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.com URL이 있는 경우 Azure OpenAI 리소스에 대해 먼저 사용자 지정 하위 도메인 openai.azure.com 을 만들고 대신 사용해야 https://<resourcename>.openai.azure.com 합니다. |
apiKey |
모델에 액세스하는 데 사용되는 비밀 키입니다. 키를 제공하는 경우 authIdentity 를 비워 둡니다. apiKey 와 authIdentity 를 모두 설정하면 연결에 apiKey 가 사용됩니다. |
deploymentId |
배포된 Azure OpenAI 포함 모델의 이름입니다. 모델은 text-embedding-ada-002와 같은 포함 모델이어야 합니다. 지원되는 모델은 Azure OpenAI 모델 목록을 참조하세요. |
authIdentity |
Azure OpenAI에 연결하기 위해 검색 서비스에서 사용하는 사용자 관리 ID입니다. 시스템 관리 ID 또는 사용자 관리 ID를 지정할 수 있습니다. 시스템 관리 ID를 사용하려면 apiKey 및 authIdentity 을(를) 비워 둡니다. 시스템 관리 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-large 및 text-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 |