Aracılığıyla paylaş


ai_embeddings eklentisi (önizleme)

Şunlar için geçerlidir: ✅Microsoft FabricAzure Veri Gezgini

Eklenti, ai_embeddings dil modellerini kullanarak metin eklemeye olanak tanıyarak Alma Artırılmış Nesil (RAG) uygulamaları ve anlamsal arama gibi yapay zekayla ilgili çeşitli senaryolara olanak tanır. Eklenti Azure OpenAI Hizmeti ekleme modellerini kullanır ve yönetilen kimlik veya kullanıcının kimliği (kimliğe bürünme) kullanılarak erişilebilir.

Eklenti, ai_embeddings dil modellerini kullanarak metin eklemeye olanak tanıyarak Alma Artırılmış Nesil (RAG) uygulamaları ve anlamsal arama gibi yapay zekayla ilgili çeşitli senaryolara olanak tanır. Eklenti Azure OpenAI Hizmeti ekleme modellerini kullanır ve kullanıcının kimliği (kimliğe bürünme) kullanılarak erişilebilir.

Önkoşullar

  • Azure OpenAI Hizmeti'ne erişmek için yönetilen kimlik kullanırken, Yönetilen Kimlik İlkesi'ni hizmetle iletişime izin verecek şekilde yapılandırın.

Sözdizimi

evaluate ai_embeddings ( text, connectionString [,seçenekler [,IncludeErrorMessages]])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

İsim Türü Gerekli Açıklama
Metin string ✔️ Eklenecek metin. Değer bir sütun başvurusu veya sabit skaler olabilir.
connectionString string ✔️ Dil modelinin biçimindeki <ModelDeploymentUri>;<AuthenticationMethod>bağlantı dizesi ; yerine yapay zeka modeli dağıtım URI'sini ve kimlik doğrulama yöntemini ekleyin <ModelDeploymentUri><AuthenticationMethod>.
Seçenekler dynamic Ekleme modeli uç noktasına çağrıları denetleye seçenekler. Bkz. Seçenekler.
IncludeErrorMessages bool Çıkış tablosundaki yeni bir sütunda hata çıkışı yapılıp yapılmayacağını gösterir. Varsayılan değer: false.

Seçenekler

Aşağıdaki tabloda, ekleme modeli uç noktasına isteklerin nasıl yapıldığını denetleyebilen seçenekler açıklanmaktadır.

İsim Türü Açıklama
RecordsPerRequest int İstek başına işlenmek üzere kayıt sayısını belirtir. Varsayılan değer: 1.
CharsPerRequest int İstek başına işlenmek üzere en fazla karakter sayısını belirtir. Varsayılan değer: 0 (sınırsız). Azure OpenAI belirteçleri sayar ve her belirteç yaklaşık olarak dört karaktere çevriliyor.
RetriesOnThrottling int Azaltma gerçekleştiğinde yeniden deneme denemelerinin sayısını belirtir. Varsayılan değer: 0.
GlobalTimeout timespan Ekleme modelinden yanıt beklenmesi için en uzun süreyi belirtir. Varsayılan değer: null
ModelParameters dynamic İzleme amacıyla ekleme boyutları veya kullanıcı tanımlayıcıları gibi ekleme modeline özgü parametreler. Varsayılan değer: null.
ReturnSuccessfulOnly bool Yalnızca başarıyla işlenen öğelerin döndürülip döndürülmeyeceğini gösterir. Varsayılan değer: false. IncludeErrorMessages parametresi olarak ayarlandıysatrue, bu seçenek her zaman olarak falseayarlanır.

Belirtme Çizgisi İlkesini Yapılandırma

Açıklama azure_openaibalonu ilkesi , Azure AI hizmetlerine dış çağrılar sağlar.

Açıklama balonu ilkesini yapay zeka modeli uç noktası etki alanını yetkilendirilecek şekilde yapılandırmak için:

.alter-merge cluster policy callout
```
[
  {
    "CalloutType": "azure_openai",
    "CalloutUriRegex": "https://[A-Za-z0-9\\-]{3,63}\\.openai\\.azure\\.com/.*",
    "CanCall": true
  }
]
```

Yönetilen Kimliği Yapılandırma

Azure OpenAI Hizmeti'ne erişmek için yönetilen kimlik kullanırken, sistem tarafından atanan yönetilen kimliğin Azure OpenAI Hizmetinde kimlik doğrulamasına izin verecek şekilde Yönetilen Kimlik ilkesini yapılandırmanız gerekir.

Yönetilen kimliği yapılandırmak için:

.alter-merge cluster policy managed_identity
```
[
  {
    "ObjectId": "system",
    "AllowedUsages": "AzureAI"
  }
]
```

İade

Aşağıdaki yeni ekleme sütunlarını döndürür:

  • Gömme değerlerini içeren _embeddings sonekine sahip bir sütun
  • Hata döndürecek şekilde yapılandırılmışsa, hata dizeleri içeren veya işlem başarılı olursa boş bırakılan _embedding_error soneki olan bir sütun.

Giriş türüne bağlı olarak eklenti farklı sonuçlar döndürür:

  • Sütun başvurusu: Başvuru sütunu adına ek sütun ekli bir veya daha fazla kayıt döndürür. Örneğin, giriş sütunu TextData olarak adlandırılırsa, çıkış sütunları TextData_embedding olarak adlandırılır ve hata döndürecek şekilde yapılandırılmışsa TextData_embedding_error.
  • Sabit skaler: Ön eki olmayan ek sütunlar içeren tek bir kayıt döndürür. Sütun adları _embedding ve hata döndürecek şekilde yapılandırılmışsa _embedding_error.

Örnekler

Aşağıdaki örnek, Azure OpenAI Embedding modelini kullanarak metni Embed this text using AI ekler.

let expression = 'Embed this text using AI';
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;managed_identity=system';
evaluate ai_embeddings(expression, connectionString)
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;impersonate';
evaluate ai_embeddings(expression, connectionString)

Aşağıdaki örnek, Azure OpenAI Embedding modelini kullanarak birden çok metin ekler.

let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;managed_identity=system';
let options = dynamic({
  "RecordsPerRequest": 10,
  "CharsPerRequest": 10000,
  "RetriesOnThrottling": 1,
  "GlobalTimeout": 2m
});
datatable(TextData: string)
[
    "First text to embed",
    "Second text to embed",
    "Third text to embed"
]
| evaluate ai_embeddings(TextData, connectionString, options , true)
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/text-embedding-3-small/embeddings?api-version=2024-06-01;impersonate';
let options = dynamic({
  "RecordsPerRequest": 10,
  "CharsPerRequest": 10000,
  "RetriesOnThrottling": 1,
  "GlobalTimeout": 2m
});
datatable(TextData: string)
[
  "First text to embed",
  "Second text to embed",
  "Third text to embed"
]
| evaluate ai_embeddings(TextData, connectionString, options , true)

En iyi yöntemler

Azure OpenAI ekleme modelleri yoğun azaltmaya tabidir ve bu eklentiye yapılan sık çağrılar hızla azaltma sınırlarına ulaşabilir.

Azaltmayı ve maliyetleri en aza indirirken eklentiyi ai_embeddings verimli bir şekilde kullanmak için şu en iyi yöntemleri izleyin:

  • Denetim isteği boyutu: İstek başına kayıt (RecordsPerRequest) ve karakter sayısını (CharsPerRequest ) ayarlayın.
  • Denetim sorgusu zaman aşımı: Bu noktaya kadar olan başarılı çağrılarda ilerlemenin kaybolmadığından emin olmak için sorgu GlobalTimeout daha düşük bir değere ayarlayın.
  • Hız sınırlarını daha düzgün işleyebilir: Azaltmada yeniden denemeler ayarlayın (RetriesOnThrottling).