Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure AI Search ekleme modellerini barındırmaz, bu nedenle sorgu girişleri ve çıkışları için vektör oluşturmak sizin sorumluluğundadır. Aşağıdaki yaklaşımlardan birini seçin:
| Yaklaşım | Açıklama |
|---|---|
| Tümleşik vektörleştirme | Azure AI Search'te yerleşik veri öbeklemesi ve vektörleştirme kullanın. Bu yaklaşım dizin oluşturuculara, beceri kümelerine ve Microsoft Foundry'dekiler gibi dış ekleme modellerine işaret eden yerleşik veya özel becerilere bağımlıdır. |
| El ile vektörleştirme | Veri öbeklemesi ve vektörleştirmeyi kendiniz yönetin. Dizin oluşturmak için , önceden oluşturulmuş belgeleri arama dizinindeki vektör alanlarına gönderebilirsiniz. Sorgulama için, arama altyapısına önceden derlenmiş vektörler sağlarsınız . Bu yaklaşımın tanıtımları için bkz. azure-search-vector-samples GitHub deposu. |
Çoğu senaryo için tümleşik vektörleştirme önerilir. Desteklenen herhangi bir ekleme modelini kullanabilirsiniz ancak bu makalede çizim için Azure OpenAI modelleri kullanılır.
Ekleme modelleri vektör sorgularında nasıl kullanılır?
Katıştırma modelleri hem sorgu girişleri hem de sorgu çıkışları için vektörler oluşturur. Sorgu girişleri şunlardır:
Sorgu işleme sırasında vektörlere dönüştürülen metin veya görüntüler. Tümleşik vektörleştirmenin bir parçası olarak, vektörleştirici bu görevi gerçekleştirir.
Önceden derlenmiş vektörler. Sorgu girişini istediğiniz bir ekleme modeline geçirerek bu vektörleri oluşturabilirsiniz. Hız sınırlamasını önlemek için iş yükünüzde yeniden deneme mantığını uygulayın. Python tanıtımımızdaazm kullanılır.
Sorgu girişlerine bağlı olarak, arama altyapısı arama dizininizden eşleşen belgeleri alır. Bu belgeler sorgu çıkışlarıdır.
Arama dizininiz zaten eklemelerle doldurulmuş bir veya daha fazla vektör alanı içeren belgeler içermelidir. Tümleşik veya el ile vektörleştirme aracılığıyla bu eklemeleri oluşturabilirsiniz. Doğru sonuçlar elde etmek için dizin oluşturma ve sorgulama için aynı ekleme modelini kullanın.
Model tümleştirmesi ekleme ipuçları
Kullanım örneklerini belirleyin. Vektör arama özellikleri için model tümleştirmesi eklemenin arama çözümünüze değer katıştırdığı belirli kullanım örneklerini değerlendirin. Örnekler arasında çok modüllü arama veya metin içeriğiyle eşleşen resim içeriği, çok dilli arama ve benzerlik araması sayılabilir.
Öbekleme stratejisi tasarlama. Ekleme modellerinin kabul ettikleri belirteç sayısı sınırları vardır, bu nedenle büyük dosyalar için veri öbekleme gereklidir.
Maliyeti ve performansı iyileştirin. Vektör araması yoğun kaynak kullanır ve maksimum sınırlara tabidir, bu nedenle yalnızca anlamsal anlam içeren alanları vektörleştirin. Aynı fiyata daha fazla vektör depolamak için vektör boyutunu azaltın.
Doğru ekleme modelini seçin. Kullanım örneğiniz için metin tabanlı aramalar için sözcük eklemeler veya görsel aramalar için resim ekleme gibi bir model seçin. OpenAI'den text-embedding-ada-002 veya Döküm Araçları'nda Azure Vision'dan Görüntü Alma REST API'si gibi önceden eğitilmiş modelleri göz önünde bulundurun.
Vektör uzunluklarını normalleştirin. Benzerlik aramasının doğruluğunu ve performansını geliştirmek için, vektör uzunluklarını bir arama dizininde depolamadan önce normalleştirin. Önceden eğitilen modellerin çoğu zaten normalleştirilmiştir.
Modelde ince ayar yapın. Gerekirse, arama uygulamanızla ilgili performansı ve ilgi düzeyini artırmak için etki alanına özgü verilerinizde modelde ince ayar yapın.
Test edin ve yinele. İstediğiniz arama performansını ve kullanıcı memnuniyetini elde etmek için ekleme modeli tümleştirmesini sürekli test edin ve geliştirin.
Aynı bölgede kaynak oluşturma
Azure OpenAI ekleme modelleriyle tümleşik vektörleştirme, kaynakların aynı bölgede olmasını gerektirmese de, aynı bölgeyi kullanmak performansı artırabilir ve gecikme süresini azaltabilir.
Kaynaklarınız için aynı bölgeyi kullanmak için:
Metin ekleme modellerinin bölgesel kullanılabilirliğini denetleyin.
Azure AI Search'ün bölgesel kullanılabilirliğini denetleyin.
Aynı bölgede bir Azure OpenAI kaynağı ve Azure AI Search hizmeti oluşturun.
Tavsiye
Yapay zeka zenginleştirme için özel bir beceridekarma sorgular veya makine öğrenmesi modeli için anlam derecelendirmesi kullanmak mı istiyorsunuz? Bu özellikleri sağlayan bir Azure AI Search bölgesi seçin.
Foundry'de ekleme modeli seçme
Foundry portalında bir aracı iş akışına bilgi eklediğinizde, arama dizini oluşturma seçeneğiniz vardır. Sihirbaz, adımlarda size yol gösterir.
Bir adım, düz metin içeriğinizi vektörleştirmek için bir ekleme modeli seçmeyi içerir. Aşağıdaki modeller desteklenir:
- metin yerleştirme, 3, küçük
- metin ekleme-3-büyük
- ada-002 metin yerleştirme
- Cohere-embed-v3-İngilizce
- Cohere-embed-v3-multilingual
Modeliniz zaten dağıtılmalıdır ve modele erişim izniniz olmalıdır. Daha fazla bilgi için bkz Dökümhane Modelleri için Dağıtıma Genel Bakış.
Geliştirilmiş sorgu için ekleme oluşturma
Tümleşik vektörleştirme kullanmak istemiyorsanız, elle bir ekleme oluşturabilir ve bunu bir vektör sorgusunun vectorQueries.vector özelliğine yapıştırabilirsiniz. Daha fazla bilgi için bkz. Azure AI Search'te vektör sorgusu oluşturma.
Aşağıdaki örneklerde text-embedding-ada-002 modeli varsayılır. ve YOUR-API-KEY değerini Azure OpenAI kaynak ayrıntılarınızla değiştirinYOUR-OPENAI-RESOURCE.
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static async Task Main(string[] args)
{
var apiKey = "YOUR-API-KEY";
var apiBase = "https://YOUR-OPENAI-RESOURCE.openai.azure.com";
var apiVersion = "2024-02-01";
var engine = "text-embedding-ada-002";
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
var requestBody = new
{
input = "How do I use C# in VS Code?"
};
var response = await client.PostAsync(
$"{apiBase}/openai/deployments/{engine}/embeddings?api-version={apiVersion}",
new StringContent(JsonConvert.SerializeObject(requestBody), Encoding.UTF8, "application/json")
);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
Çıkış, 1.536 boyutlu bir vektör dizisidir.