Azure'da Yapay Zeka İş Yükleri için Temel Veri Tasarımı
Yapay zeka uygulamaları için, veri tasarımına yönelik İyi Tasarlanmış Çerçeve yaklaşımının çalışabilirlik, maliyet ve güvenlik gibi işlevsiz gereksinimleri karşılaması ve Azure İyi Tasarlanmış Çerçeve yapı taşlarının temel ilkelerine uyması gerekir. Veri alımı, hazırlık ve doğrulama gibi işlevsel gereksinimleri de dikkate almalıdır.
Seçtiğiniz yapay zeka modeli, sonraki veri tasarımı kararlarını etkiler. Bu makalede, sonuç ilgi düzeyini geliştirmek için geliştirme gerektiren temel modellere yönelik önemli mimari konular ele alınmaktadır. Bu modeller genellikle üretkendir.
Üretken yapay zeka modelleri önceden oluşturulmuş veya önceden eğitilmiş olup bunları değişiklik yapmadan hemen kullanmanıza olanak tanır. Ancak kullanıma açık modeller genellikle belirli iş yükü gereksinimlerini karşılamaz. Bu sorunu gidermek için modeller, performanslarını geliştirmek için bağlama özgü verilerle genişletilir. Örneğin, GPT modelini çeşitli kullanım örneklerinde kullanabilirsiniz. Bu uygulamalar belgelerden bilgi almayı, BT Yardım Masası desteği sağlamayı ve karmaşık bilgileri özetlemeyi içerir. Temel modelleri kullanarak özel gereksinimlerinizi karşılamak için bu konuları anlamanız önemlidir.
Önemli
Veri tasarımı, istatistiksel denemeleri temel alan yinelemeli bir süreçtir. Oluşturucu yapay zeka uygulamaları, modele istem ve bağlam verilerini içeren sorgular gönderir. Veri tasarımını geliştirmek için istem ve bağlam verilerinin her ikisi de yinelenmelidir. Yinelemeli işlem ön işlemeyi, eklemeleri seçmeyi ve öbeklemesi içermelidir. Bu adımlar, dizine uygun veriler oluşturmaya yardımcı olur. Daha fazla bilgi için bkz . Alma artırılmış nesil (RAG) çözümü tasarlama ve geliştirme.
Denemeler ve yinelemeler sırasında tüketim kullanım örneklerini göz önünde bulundurun. Veri tasarımını gerçek sorgu desenlerine göre ayarlayın. İyileştirme ve test yoluyla neyin kabul edilebilir olduğunu belirleyin.
Bir çözümde, iş yükü gereksinimlerini karşılamak için üretken yapay zeka ve ayrımcı yapay zeka modellerinin bir birleşimini kullanabilirsiniz. Eğitim verileri hakkında daha fazla bilgi için bkz . Eğitim verileri tasarımı.
Öneriler
Bu makalede sağlanan önerilerin özeti aşağıda verilmiştir.
Öneri | Açıklama |
---|---|
Kullanıcı sorgularını tahmin edin. | Kaynak verilerinizle ilgili beklenen soru türlerini ve bunların yenilik beklentilerini anlayın. Bu anlayış, veri işlem hatlarınızı ve dizinlerinizi ilgili temel verileri sağlayacak şekilde tasarlamanıza yardımcı olur. |
Verileri arama dizininde dışlaştırma. | Doğrudan kaynak sistemden sorgulamak yerine bir arama dizini kullanın. farklı dizin teknolojilerini iş yükü gereksinimlerine göre değerlendirin. İhtiyaçlarınıza en uygun olan özellikleri değerlendirmek için bir yetenek matrisi oluşturun. Elasticsearch veya AI Search gibi güçlü arama dizini teknolojilerini göz önünde bulundurun. ▪ Dizin |
Bir alım stratejisi geliştirin. | Veri alımını ve ön işlemeyi kapsayan kapsamlı bir dizin yönetimi stratejisi geliştirin. Tutarsızlıkları ve yinelemeleri gidererek ve ortak bir şemaya standartlaştırarak gürültülü veya ilgisiz verileri kaldırın. Kaynak biçimlerini ve türlerini sorgulamayı ve çözümlemeyi kolaylaştıran veri türlerine dönüştürün. ▪ Veri hazırlama ▪ Veri hacminin kapsamını belirleme |
Dizininizi en yüksek ilgililik için tasarlar. | Sorgu verimliliğini artırmak için belirli alanlarda filtreleme, sıralama ve meta veri işleme gibi özellikleri etkinleştirin. Örneğin, alanları yalnızca üzerinde arama yapmak istiyorsanız aranabilir olarak etiketleyin. Gereksiz depolama maliyetlerinden kaçınmak için, belirli bir kullanım örneği olmadan her alanı alınabilir hale getirmeyin. ▪ Şema tasarımı ▪ Dizin özellikleri ▪ Verimli sorgulama |
Eski verilerde çıkarım yapılmasını önlemek için dizininizi güncelleştirin. | Bir dizini güncelleştirirken, bakım için yan yana dağıtım stratejisini benimsemeyi göz önünde bulundurun. Dizinin yeniden oluşturulması, dizin yeni bir veri kümesi haline geldiğinden silmelerin ve güncelleştirmelerin işlenmesini sağlar. Bu yaklaşım, dizini canlı hale getirmeden önce verilerin kapsamlı bir şekilde test edilmesini sağlar. Dizinlerde değişiklik yaptığınızda, kod güncelleştirmeleriyle şema değişikliklerini koordine edin. Bu uygulama sorunsuz geçişler sağlar. ▪ Dizin bakımı |
Veri türleri
Çıkarım sırasında bağlam verilerini kullanarak üretken yapay zeka modellerini genişletebilir veya ince ayar işlemiyle bunları daha da iyileştirebilirsiniz. Her iki yaklaşımda da modele daha fazla bağlam sağlayan ek veriler gerekir. Model, kullanıcı sorgusunu yanıtlamak için bu bağlamı kullanır ve yanıtı beklentilere göre oluşturur. Genellikle aşağıdaki veri türlerini kullanırsınız:
Kaynak veriler üretimde var olan verilerdir. Bu veriler, veritabanlarındaki veriler gibi yapılandırılabilir veya JSON dosyaları gibi yarı yapılandırılmış olabilir. Belgeler, görüntüler ve ses dosyaları gibi yapılandırılmamış da olabilir.
Topraklama verileri , modelin ilk eğitim verilerinde ele alınmayan konular hakkında bilgi içeren kaynak verilerden gelir. Topraklama verileri kullanıcı sorgusuyla birleştirilerek belirli bir çıkarım çağrısı bağlamında büyük dil modeline gönderilen istem oluşturulur. Çıkarım çağrısına ekleyebileceğiniz diğer veriler sistem istemi, tek seferlik veya birkaç çekimli örnekler ve önceki etkileşimler gibi bağlamsal verilerdir.
Bu veriler kolayca aranabilir ve hızlı bir şekilde alınabilir olmalıdır. Bu gereksinim nedeniyle, verileri arama için iyileştirilmiş bir dizinde depolamanız gerekir. Kullanıcı yanıtı beklerken bu dizine gerçek zamanlı olarak erişilir. Bu veriler olmadan model yanlış sonuçlar verebilir veya kullanıcının özellikle aradığı sonuçlara uygulanamaz.
Hassas ayarlama verileri , modeli etkileyerek gelecekteki çıkarım istekleri için belirli görevlere, etki alanlarına veya yanıt stillerine uyum sağlamak için kullanılan bilgilerdir. Örneğin, modelin belirli bir dil bilgisi stilinde yanıt sağlaması bekleniyorsa, bu stil kılavuzu verilerde ince ayar görevi görür.
Kullanıcı verileri , uygulamayla etkileşimler sırasında kullanıcılar tarafından sağlanan bilgileri içerir. Üretken modellerle etkileşime geçtiğiniz zaman durum bilgisi olan etkileşimler gerçekleşir. Bu modeller doğal bellekten yoksundur ve her etkileşimi atomik olarak ele alır.
Sohbet uygulamalarında TURN verileri olarak da bilinen durum bilgisi olan etkileşimleri yönetirken, verileri en kısa süre boyunca depolamak önemlidir. İdeal olan bu verilerin oturum sona erdikten sonra yok edilmesidir. Ancak, oturum süresi dışında özgün soru veya modelin yanıtı gibi belirli verileri saklamanızı gerektiren operasyonel veya uyumluluk nedenleri olabilir. Mümkün olduğunda, bu verileri oturumdan sonra depolamaktan kaçının.
Dizinleme
Veri tasarımının temeli, temel verilerin verimli bir şekilde depolanmasını ve yönetilmesini içerir. Bu yaklaşım, verilerin en yüksek ilgi düzeyine ulaşmak için genişletilmesini sağlar.
Basit bir yapay zeka stratejisi, her kullanıcı etkileşimi için kaynak verileri sorgulamayı içerebilir. Ancak, doğrudan veri kaynağı etkileşimlerinin yüksek maliyetleri ve karmaşıklıkları nedeniyle bu yaklaşım pratik değildir. Bunun yerine, kaynak verileri arama ve alma için iyileştirilmiş bir dizinde kopya olarak yeniden kullanmanız gerekir. Bu yaklaşımın amacı modelin kavramasını ve ilgili yanıtlar oluşturma becerisini geliştirmektir.
Kullanıcı banka hesaplarıyla ilgili ayrıntıları, tercihleri ve finansal işlemleri bir veri deposunda depolayan bir bankacılık iş yükünü göz önünde bulundurun. RAG deseni kullanan üretken bir yapay zeka senaryosunda, modelin ilgili yanıtları verebilmesi için topraklama verileri oluşturulur ve bağlamla dizine eklenir. Örneğin, çıkarım sırasında bağlam için kullanıcı işlemleri hakkında ilgili veriler sağlayarak model, kullanıcının son çeyrekteki harcama desenleriyle ilgili soruları yanıtlayabilir.
Özel dizin teknolojisi
Topraklama verilerini bir arama dizinine dışlaştırmayı göz önünde bulundurun. Doğrudan kaynak sistemden sorgulamak yerine bu yaklaşımı kullanın.
Arama dizinini kullanmanın avantajları vardır. Verilerin kopyasını beklenen sorgulara göre modelleyebilir ve dönüştürebilirsiniz. Birincil kaynağa doğrudan sorgular sorunludur çünkü kaynak verilere erişilmeme olasılığı vardır. Dizin, verilerin uygulamayla ilgili olduğunu kabul ettiğiniz sürece kullanılabilir durumda kalmasını sağlar. Ayrıca kaynak veri sistemini vurgulamaktan kaçınabilirsiniz. Bu strateji, yapay zekayla ilgili sorguların birincil kullanım örneğini etkilememesini sağlar.
Bazı teknoloji seçeneklerinin kendi kendine dizin oluşturma özellikleri vardır. Dizinler veri kaynaklarına ulaşabilir ve verilerini birleştirebilir. Bu seçenek için önemli olan ağ konularıdır. Dizinin veritabanlarına bağlanması gerekiyorsa ağ gecikme süresi ve güvenilirlik gibi olası sorunlar vardır.
Verileri içeri aktarmanın ilk maliyeti vardır. Veriler dizininizde olduktan sonra, değişiklikler veya güncelleştirmeler olmadığı sürece verileri yeniden taşımanız gerekmez. Zaman içinde veri yönetimi, dizin tasarımının önemli bir yönüdür. Daha fazla bilgi için bkz . Dizin bakımı.
Varsayılan veya özel dizin
Bazı teknolojiler, verileriniz için otomatik olarak bir varsayılan dizin oluşturmayı destekler. Bu dizin, en az girişle veri alımında oluşturulur. Dizin, kullanıma yönelik özelliklere sahiptir. Varsayılan dizin kavram kanıtı ve bazı üretim senaryoları için kabul edilebilir olabilir.
Bazı senaryolarda, belirli iş yükü gereksinimlerine göre ilgililiği geliştirmek için özel bir dizin şemasına sahip olmanız gerekebilir. Bu gereksinimler şemayı nasıl tasarlayabileceğinizi, dizin özelliklerini nasıl etkinleştirileceğinizi ve ilgili meta verileri nasıl dahil ettiğinizi belirler.
Şema tasarımı
Dizinleri, verileri alma amacıyla düzenleyen ve en iyi duruma getiren yapılar olarak düşünebilirsiniz. Daha açık belirtmek gerekirse, bir tablonun belgelerindeki ve alanlarındaki verileri düzenlerler. Aşağıdaki noktalara bir göz atın:
Dizin topolojisi. Tek bir dizindeki tüm verilerin birlikte mi yoksa birden çok dizine mi dağıtılıp dağıtılmayacağını değerlendirin. Bu karar belgeler arasında sorgu performansını, dizin bakımını, sorgu basitliğini ve benzersiz alan yapılandırmasını (veya şemasını) önemli ölçüde etkiler.
Örneğin, belirli bir dilde içerik isteyen kullanıcı sorgularını göz önünde bulundurun. En basit veri tasarımı seçimi muhtemelen tüm dilleri tek bir dile çevirmek ve tek bir dizinde depolamaktır. Veya veriler tüm dillerde tek bir dizinde depolanabilir. Bu seçim, her dil için birden çok belgeyle sonuçlansın. Sonuçları istenen dille kısıtlamak için dizinin filtreleme özelliği kullanılabilir. Alternatif olarak, her dizin sorguda beklendiği gibi belirli bir dil için çevrilmiş sürümleri içerebilir.
Bazı durumlarda, birden çok arama dizinine ihtiyacınız olabilir. Bu yaklaşım, arama sorgularınızdan en yüksek alaka düzeyini elde etmek için her dizini bağımsız olarak iyileştirmenizi sağlar. Örneğin, bir İk çalışan el kitabı ve ürün bakım kılavuzu farklı amaçlara ve hedef kitlelere hizmet eder. Bunları ayrı olarak dizinleyerek şemayı ve arama sorgularını her birine göre uyarlayabilir ve bu da kullanıcı deneyimini geliştirebilirsiniz. Bu yaklaşımın uygulanması karmaşık olabilir ve her dizine çağrıları kolaylaştırmak için bir düzenleyici gerektirir. Düzenleme bileşeni, Azure'da yapay zeka iş yükleri için uygulama tasarımı bölümünde açıklanmıştır.
Not
İki topoloji ile veri segmentasyonu stratejisi arasındaki seçim iş yükü gereksinimlerine, kullanım örneklerine ve kullanıcı beklentilerine bağlıdır.
Dizinler arası sorgular yapmak zor olabilir ve arama ilgi düzeyini etkileyebilir. En kötü senaryolarda, sonuçların el ile elenmesi ve hangilerinin ölçütlere uygun olduğuna karar verme olabilir. Bu işlem gecikme süresi sağlar ve karmaşıklık ekler. Buna karşılık, tek bir dizin yaklaşımı daha basit ve daha basittir. İlgi, filtreleme gibi dizin özellikleri kullanılarak geliştirilebilir.
Bazı durumlarda, uyumlulukla ilgili dikkat edilmesi gerekenler ayrı dizinlere ihtiyaç duyulmasına neden olur. Örneğin, iş gereksinimleri verilerin Avrupa ve Amerika arasında yalıtılmış olmasını talep ederse, birden çok dizin kaçınılmaz olabilir.
Belge tasarımı. İlgiyi iyileştirmek için veri tasarımınızı beklenen kullanıcı sorgularıyla hizalayın. Her belgenin sorgulara nasıl hizmet vermesi gerektiğini düşünün. Arama dizinleri için ilgili belgelerin önceliğini belirleyin ve sonuçları ilgili bilgilerle yoğun bir şekilde dolu kısa bir kümeye daraltın.
Alan tasarımı. Dizin alanlarınızı arama performansını ve ilgi düzeyini destekleyecek şekilde yapılandırın. Dizin alanlarınız aranabilir, alınabilir, filtrelenebilir ve sıralanabilir hale getirmek istediğiniz belge öznitelikleriyle eşleşmelidir. Bunlar, eklemeleri, kimlikleri veya aramayı artırabilecek diğer verileri içerir.
Dizin özellikleri
Arama dizini alanlarını, en ilgili belge kümesini döndürecek şekilde yapılandırın. Karar, arama dizini teknolojisinin ve iş yükü gereksinimlerinin desteklediği özelliklere bağlıdır.
Filtreleme, arama ve sıralama seçenekleri. Bu seçenekleri göz önünde bulundurun çünkü bunlar doğrudan büyütme için kullanım örnekleriyle ilgilidir. Örneğin, filterable sorguda sağlanan bir değere karşı true veya false değerini belirler ve ilgili belgeleri döndürür. Aranabilirlik için özniteliği, arama sorgusunun alana başvurup başvuramayacağını gösterir. Örneğin, bir metin alanının belirli bir metin içerip içermediğini veya matematiksel olarak başka bir vektörle ilişkili olup olmadığını kontrol edebilirsiniz. İsteğe bağlı olarak bu alana arama sorgusunun bir parçası olarak göreli bir ağırlık atayabilirsiniz. Sonuçları ilgi düzeyine göre listeleyen sonuç kümelerini sıralanabilir hale de getirebilirsiniz.
Tradeoff. Alanları dizine almak için özelliklerin etkinleştirilmesi, alan gereksinimlerini artırarak maliyetleri etkiler. Yalnızca kullanmayı düşündüğünüz özellikleri ekleyin.
Meta veriler. Dizinlerde genellikle dizin alanlarıyla ilişkilendirilmiş meta veriler bulunur. Meta veriler, ilgili ayrıntıları sağlayarak verileri anlamamıza ve yönetmemize yardımcı olur. Dizinleri tasarlarken meta verilerin alınabilir mi yoksa yalnızca ilgi belirleme için mi kullanıldığını göz önünde bulundurun. Temel dizin oluşturma işlemi farklı olduğundan karar işlem maliyetlerini etkiler. Aşırı meta veriler gereksiz yere dizinin boyutunu artırabilir.
Dizin oluşturma için birçok teknoloji seçeneği vardır. Birçoğu, daha önce listelenenler gibi benzer özelliklere sahiptir. Bazı dizinler, dizin oluşturma sırasında metin ve dil analizini işleme gibi ek özelliklere sahip olabilir. Metni dizin oluşturma ve aramaya daha uygun hale getirmek için, metni belirteçlere bölün, küçük harfe dönüştürün veya durdurma sözcüklerini kaldırın.
Verimli sorgulama
Topraklama verileri, kullanıcı sorgularına verilen yanıtların doğruluğunu ve ilgi düzeyini artırmak için üretken yapay zeka uygulamalarında kullanılır. Kullanıcı sorgularını önceden düşünün. Hangi soruların sorulabileceğini, kimlerin sorabileceğini ve ne sıklıkta sorulabileceğini anlayın. Bu bilgiler, uygulama formu bağlamını ve hangi sonucun ilgili olabileceğini anlamasına yardımcı olur.
Tipik arama türleri şunlardır:
Vektör sorguları , vektör gösterimlerine veya yüksek boyutlu bir alanda veri noktalarına göre benzer öğeleri arar.
Anahtar sözcük araması, metin belgeleri içeriğinin tamamında aramalar . Büyük hacimli metin verilerini dizinler ve sorgular ve arama motorlarında, veritabanlarında ve belge yönetim sistemlerinde yaygın olarak kullanılır.
Anlam derecelendirmesi , arama sonuçlarının sorguyla olan anlamsal ilgisine göre yeniden sıralayarak, en anlamsal olarak ilgili eşleşmeleri listenin en üstüne yükselterek arama sonuçlarının ilgi düzeyini artırır.
Karma arama , arama sonuçlarının ilgililiğini daha da geliştirmek için vektör araması, tam metin araması ve anlam derecelendirmesi gibi farklı arama türlerini birleştirir.
Model performansını daha da geliştirmek için arama türlerini birleştirin.
Verilerin depolanma ve işlenme şekli sorgu verimliliğini etkiler. Bir dizine her veri eklendiğinde, dizin oluşturma için işlem döngüleri gerekir. Aynı işlem kaynaklarında dizin oluşturma ve sorgulara yanıt verme işlemi yapılırsa çekişme olabilir. İdeal olarak, dizin, sorguları verimli bir şekilde yanıtlama ve aşırı dizin oluşturma yerine ilgili belgeleri bulma hedefine odaklanmalıdır.
Maliyet ve performans, dizin tasarımının önemli etmenleridir. Gölge kopya oluşturma gibi teknikler sorgulamayı hızlandırabilir. Ancak, veri yinelemesi dizinler aracılığıyla gerçekleşir ve bu da maliyetlere neden olur.
Tradeoff. Dizin tasarımı hem maliyeti hem de performansı dikkate almalıdır. Depolamayı iyileştirerek ve aşırı dizin oluşturma işlemine göre verimli sorgu yanıtlama ve ilgili belge alımına öncelik vererek bir denge oluşturun.
Veri deposuna yönelik teknoloji seçenekleri için Elasticsearch veya AI Search gibi arama dizinleri vektörleştirilmiş ve ilgililiğe dayalı aramalar da dahil olmak üzere güçlü arama özellikleri sağlar. Alternatif olarak, sahip olduğunuz veri türünü ve sorgulama için iyileştirildiği için ihtiyacınız olan sorgu türlerini destekleyen veritabanı seçeneklerini de göz önünde bulundurun. Sonuç olarak, seçenekler tarafından sunulan özellikler ve ekipte yeni beceri kümeleri oluşturma yatırımıyla ilgilidir.
Veri hazırlama
Topraklama verileri, anlamsal sorgulama için uygun hale getirilmesi gereken mevcut verileri temel alır. Dizinde ilgili belgeleri bulmak için bazı sorgular değişmez değer eşleştirmesi olabilir. Diğer sorgular benzer eşleşme gerektirir.
Bağlamsal veriler modele yönelik çıkarım isteklerini desteklemeye hazır olmadan önce, verileri temizlemeyi, dönüştürmeyi ve yapılandırmayı hedefleyen bir ön işleme adımı vardır. Amaç gürültü ve yanlılığı azaltmak, verimli bir şekilde arama yapmak ve dizin aramalarının ilgililiğini en üst düzeye çıkarmaktır. Ön işleme için seçim araçları veya mantığı iş yükü ekibine bağlıdır, ancak bazı önemli noktalar vardır.
Veri hacminin kapsamını belirleme
Veri hacminin kapsamını belirleme, ilginin artırılması için sıkı bir dizin oluşturmak için verilerin kapsamını genişleterek veya daraltarak ayarlamayı içerir. Sorgu verimliliği de önemli bir konudur. Gereksiz verilerin depolanması bu hedeflerin ikisini de olumsuz etkiler. Örneğin, bir kullanıcının konum verilerini göz önünde bulundurun. Yalnızca şehir bölümü uygunsa, adresi temsil eden tam metin yerine yalnızca şehir metnini depolayarak iyileştirin.
İşte bazı önemli noktalar.
Veri eleme. Gereksiz ayrıntıları atarak yalnızca ürünün işlevselliği için gerekli olan şeyleri koruyun. Aşağıda bazı yaygın örnekler verilmiştir.
Nitel eleme. Geniş bir kapsamdan daha dar ve göreli bir kapsama geçmenin bir yolu, yalnızca ilgili kaynak verilerin dizinini seçerek düşük kaliteli verileri ortadan kaldırmaktır. Zorluk, yapay zeka senaryolarıyla ilgili olmayan içerikleri program aracılığıyla tanımlamaktır. İçerik, denetim veya tamlık gibi diğer amaçlar için yararlı olsa da yapay zeka iş yükünde ilgiyi azaltma riskleri de dahil olmak üzere. Bu tür içeriğe bayrak eklemenin bir yolu, içeriğin dizine eklenmesi gerekiyorsa dizin popülasyon zamanında kullanılabilecek meta verileri kullanmaktır.
Hassas veriler. Verileri kaynak verilerden dizine kopyalamak da hassas bilgileri getirebilir. Kaynakta uygulanan veri sınıflandırma etiketlerini dikkate alın ve bu veri kümesine aynı duyarlılık düzeyini koruyun. Kişisel bilgileri olan verilerle ilgilenirken, sorguyu yanıtlamak için gerekli olmadıkça kişisel verileri depolamayın. Örneğin, e-postaları dizine eklerken veri sınıflandırması uygulayın. Bir e-posta hassas olarak işaretleniyorsa, e-postayı genel duyarlılık veri deposunda depolamaktan kaçının.
Metni normalleştirme ve standartlaştırma. Yazım hatalarını giderme ve metni standartlaştırma, anahtar sözcük tabanlı dizinler için çok önemlidir. Özellikle çok dilli içerikle ilgilenirken olası bir kullanım örneği çeviridir.
Bu tür bir ön işleme, sözcükleri bağlamlarına ve anlamlarına göre karşılaştırmanızı sağlayan eklemeler için de gereklidir. Ancak, sözcüklerin büyük/küçük harf duyarlılığından bir zorluk oluşur. Bağlam önemlidir ve "civic" sıfatı ile "(Honda) Civic" sıfatı arasındaki anlamsal farklar gibi nüanslar olabilir.
Veri ekleme. Bağlamı artırmak genellikle kaynak verilerde bulunmayan meta verilere dayanır. Örneğin, metin parçacığını göz önünde bulundurun. Döngüdeki veya yapay zekadaki bir insan, kod parçacığı bağlamı kullanılarak yanıtlanabilecek ilgili sorular oluşturur. Bu soruları temel alma verilerinin yanı sıra depoladığınızda, kullanıcı sorguları belgenin ilgililiğini değerlendirmek için oluşturulan sorgularla karşılaştırılabilir. Bu yeni verilerin topraklama verileriyle birlikte yerleştirilmesi, öbeklenmiş verileri zenginleştirmenin güçlü bir yoludur.
Bir diğer kullanım örneği de yapılandırılmamış verileri analiz ederken bulunan ekleme varlıklarıdır. Bu varlıklar dizine eklenebilir ve dış sistemleri aramak ve filtrelemek için veya karmaşık hesaplamalar yapmak için kullanılabilir. Örneğin, bir şirket adı tanımlarsak, bir dış veritabanından sektör veya diğer ilgili bilgileri arayabilir ve bunu dizinimize ekleyebiliriz.
Veri kökenini korumayı göz önünde bulundurun. Bir sistem çeşitli bileşenleri tek bir dizinde topladığında bu bilgiler kaybolabileceğinden, yapay zeka iş yüklerinin veri kaynağını izlemesi önemlidir. Bu bilgiler kullanıcılara hiç sunulmayabilir, ancak veri kaynakları hakkındaki bilgiler iç veri idare ekipleri için çok önemlidir. Bu meta veriler model için gerekli değildir. Şeffaflığı ve sorumluluğu korumaya yardımcı olur.
Tradeoff. Bir yandan yeni veri eklemek, veri kümesi içinde ilgililiği bulma olasılığını artırır. Ancak bu avantajın bir bedeli vardır. Özellikle, bu alanı işlemek ve yönetmek için gereken hesaplama kaynakları. Verileri toplamak ve depolamak için harcanan süre önemli olabilir. Gereksiz alanlarla aşırı yüklemenin kaynakları zorlayabileceğinizi unutmayın.
Metin verileri işleniyor. İlgiyi artırmak için eş anlamlılar, kök oluşturma ve anlamsal yakınlık gibi teknikleri göz önünde bulundurun. Mümkünse bu teknikleri araçlara devredin. Elasticsearch veya AI araması gibi bazı teknolojiler, dizin oluşturma sırasında verileri ön işlemeye yönelik bu tür özellikler sunar.
Veri türü dönüşüm
Veri deposundaki dizin alanları, belirli bir amaca hizmet etmek için veri türündedir. Sayısal alanlar verimli sorgulamayı kolaylaştırır, metin alanları metin tabanlı aramalara olanak sağlar ve Boole alanları ikili bilgileri işler.
Kaynak veriler genellikle metin, görüntü ve tablo gibi çeşitli veri türlerinde bulunur ve bu verilerin işlenmesi karmaşık olabilir. Anahtar-değer çiftlerini ayıklamanız, anlamsal öbekleme için bölüm başlıklarını tanımlamanız, belirli tanımlayıcıları tanımanız vb. gerekebilir.
Örneğin, kaynak verileriniz görüntüler içeriyorsa, bunlar doğal olarak aranabilir değildir. Verimli anlamsal aramalar ve karşılaştırmalar sağlamak için bunların vektör gösterimlerine dönüştürülmesi gerekir. İlgi, bu biçimlerin arkasındaki verilere bağlıysa, verilerin çıkarılmasına yatırım yapın. Kaynak veri türlerini sorgulamaya ve çözümlemeye yardımcı olan işlevsel veri türlerine dönüştürün.
Öbekleme ve ekleme
Topraklama verileri genellikle büyük miktarda bilgi içerir, ancak model yalnızca belirli bir miktarı belirteci oluşturabilir. Öbekleme , bir belgeyi ayrı ayrı işlenip dizine alınabilecek daha küçük parçalara bölmeyi içerdiğinden önemli bir veri tasarımı stratejisidir. Bu strateji, belirteç sınırlamalarına rağmen verimli arama ve alma olanağı sağlar. Büyük dil modeli tercihinizin işleyebileceği en fazla belirteç sayısını denetleyin. Öbekleriniz bu sınırı aşmamalıdır.
Öbekleme uygulamak için birçok teknik vardır. Daha fazla bilgi için bkz . Öbekleme yaklaşımları.
Eklemeler , vektör arama özelliklerini etkinleştiren başka bir tasarım stratejisidir. Eklemeler, topraklama verilerine dayalı olarak yapay zeka modelleri tarafından oluşturulan bir nesnenin matematiksel bir gösterimidir. Bunlar dizinde depolanır ve karmaşık sorguların daha iyi bir İlgi ile sonuç vermesine yardımcı olan daha fazla bağlam ekler. Daha fazla bilgi için bkz . Ekleme oluşturma.
Dizinin bakımını yapma
Zaman içinde bakım, dizin tasarımının önemli bir yönüdür. Belgelerin değişmediği statik veriler için dizin bakımı basittir. Ancak çoğu dizin dinamiktir. Zaman içinde yeni veriler eklenebilir ve dizin şemasının yeni alanlara ihtiyacı olabilir. Buna karşılık, bazı verilerin ve alanların artık ilgili olmaması durumunda silinmesi gerekebilir. Dizin oluşturucular için yaygın olarak kullanılan teknoloji seçenekleri, güncelleştirmeleri otomatik olarak işleyecek özelliklere sahiptir. Önerilen dizin özellikleri hakkında bilgi için bkz . Arama dizini için dikkat edilmesi gerekenler.
Bakım ölçütleri
İşlevsellik güncelleştirmeleri. Uygulama işlevselliğinde bir değişiklik varsa dizinin güncelleştirilmiş olması gerekebilir. Bu durum, yeni sorular sorulduğunda ortaya çıkar. Bu değişikliklere uyum sağlamak için dizine yeni alanlar eklemeniz veya var olan alanlarda filtreleme, arama veya metin işleme seçeneklerini değiştirmeniz gerekebilir.
Veri silme. Neyin ilgisiz olduğunu belirlemek için kullanılabilir ve eksik verileri analiz etmeniz gerektiğinden, veri silme işlemi zordur. Eski içeriği bir dizinden dışlamak için, arama altyapılarının belirli sayfaları veya içeriği dizine eklemesini engelleyen meta veriler kullanmayı göz önünde bulundurun. Ayrıca, depolama seçeneklerini belirlediğinizde, silmeleri verimli bir şekilde destekleyen bir teknoloji seçin. Örneğin, blob depolama geçici silmeleri destekler. Yapay zeka arama ve depolamadan belge yükleme özelliğini kullanıyorsanız blob depolama, kaldırılan belgeleri algılayabilir ve ilgili girişleri silebilir. Bu yaklaşım ideal değildir, ancak dizin boyutunun büyük olması nedeniyle yeniden dizinlemenin maliyeti yüksek olduğunda gereklidir.
Unutulma hakkı kavramı, bir kişinin kişisel verilerini çevrimiçi platformlardan veya veritabanlarından kaldırma hakkını ifade eder. Eğitim için kullanılıyorsa kişisel verileri kaldırmak için ilkeleriniz olduğundan emin olun. Veri kümenizi yeniden dizine alarak bu gereksinimi karşılayabilirsiniz. veriler işlem veritabanından silinirse, sonraki dizin güncelleştirmeleri bu değişiklikleri yansıtır.
Uyumluluğu koruma. Uygulamalar genellikle belirli veri yapıları gerektirir ve herhangi bir sapma işlevlerini kesintiye uğratabilir. Örneğin, bir alan kaldırılırsa ve uygulama bu alanı isterse, bir hata koşulu oluşabilir. Geleneksel bir veritabanı için yaptığınız gibi, dizinler için ileriye dönük uyumluluk zihniyetini benimseyin ve katılık düzeyini koruyun. Dizinde alan ekleme veya kaldırma gibi değişiklikler yaptığınızda, şema değişikliklerini kod güncelleştirmeleriyle koordine edin.
Tradeoff. Dizine karşı eylem ekleme, güncelleştirme ve silme işlemleri pahalıdır. Veri deposu boyutuna ve verimliliğine göre güncelleştirmelerin sıklığını ve performans maliyetini göz önünde bulundurun. Eski belgelerin dizinde tutulması depolama, bakım ve sorgulama maliyetlerine neden olur.
Dağıtım stratejisi
Dağıtım stratejisi. Dizini güncelleştirmek için iki ana strateji vardır.
Yan yana dağıtımlar. Bu yaklaşımda, güncelleştirmeleri olan yeni bir dizin mevcut dizinle birlikte bulunur. Yeni dizin test edildikten ve tamamen çalışır durumda olduktan sonra sorgular güncelleştirilmiş dizini kullanacak şekilde değiştirilir. Uygulama, yalnızca yeni dizinle etkileşime geçtiğinden bu anahtarın farkında değil. Yeni dizin üretim kullanımına dağıtıldıktan sonra başka sorunlar bulursanız, eski dizine geri dönebilirsiniz. Bu yaklaşım kapalı kalma süresini en aza indirir ve sürekli kullanılabilirlik sağlar.
Dizini yeniden oluşturma maliyeti makul olduğunda ve makul bir zaman çerçevesinde tamamlanabilirse yan yana güncelleştirmeler iyi çalışır. Genel olarak, büyük dizinler daha fazla kaynak tükettiği için dizinleri mümkün olduğunca verimli tutmaya çalışın. Gereksiz büyümeyi önlemek için dizinleri düzenli olarak izleyin ve koruyun.
İpucu
Varlık tanıma, aramalar ve hesaplamalar gibi yoğun kaynak kullanımlı veri ön işleme görevleri gerçekleştirdiğinizde sonuçların bir kopyasını kaydetmeyi göz önünde bulundurun. Bu yaklaşım, dizini yeniden oluşturmanız gerektiğinde tüm hesaplamaları yinelemekten kaçınmanızı sağlar. Bazı hesaplamalar artık silmeler veya güncelleştirmeler nedeniyle geçerli olmayabilir, ancak çoğu ilgili olmaya devam edecektir.
Yerinde güncelleştirme dağıtımları. Bu yaklaşım, mevcut dizini doğrudan değiştirir. Yineleme maliyetinden tasarruf edilmesi yararlı olabilir, ancak olası kapalı kalma süresi ve yoğun kaynak kullanımlı işlemler nedeniyle riskler de getirir. Dizininiz büyükse ve sıfırdan yeniden derlemek istediğiniz güncelleştirme sıklığını aşıyorsa yerinde güncelleştirmeleri kullanmayı düşünebilirsiniz. Ancak bu yaklaşım zordur ve hizmet düzeyi hedefinizi (SLO) ihlal etme riskini taşır.
Tradeoff. Eklemeleri, güncelleştirmeleri ve silmeleri dağıtan yerinde güncelleştirmelere karşı dizinlerin yan yana dağıtımlarının maliyetini değerlendirin. Çoğu durumda yerinde güncelleştirmeler yerine yan yana güncelleştirmeler kullanmanız gerekir. Dizin yeniden oluşturulduğunda, tamamen yeni bir veri kümesi oluşturduğundan işlem silmeleri ve güncelleştirmeleri etkili bir şekilde işler. Bu strateji, verileri test etme fırsatı sunar. Yan yana dağıtımlar verileri geçici olarak çoğaltsa ve ek maliyetler doğursa da, test ve performans değerlendirmesinin avantajları genellikle bu depolama gereksinimini haklı çıkartır. Dizini canlı hale getirmeden önce, beklentilerinize uygun olduğundan emin olmak için verileri inceleyin.
Zamanlanmış güncelleştirmeler. Veri kaynaklarıyla sürekli gerçek zamanlı iletişimi sürdürmek yerine, topraklama verilerini düzenli aralıklarla yenileyebilirsiniz. Bu yaklaşım, verilerin zamanlanmış güncelleştirmelerle ilgili kalmasını sağlar ve bu da sürekli etkileşim gereksinimini ortadan kaldırır.
Acil durum güncelleştirmeleri. İstenmeyen verilerin yanlışlıkla arama dizinine sızması gibi beklenmeyen durumlar oluşabilir. Bu sorun oluşursa, belirli belgeleri kaldırma veya dizindeki verileri ayarlama gibi hemen işlem yapmanız gerekebilir. Yan yana güncelleştirmeler veya yerinde güncelleştirmeler gibi seçtiğiniz dağıtım stratejisinden bağımsız olarak her zaman acil durum operasyonları olasılığını planlayın.
Kendi kendine güncelleştirilen dizin. Dizin oluşturma teknolojiniz, dizini dış veri kaynağıyla eşitlenmiş durumda tutmak için otomatik olarak güncelleştirmeyi destekliyorsa, verilerdeki değişiklikleri otomatik olarak işleyebilecektir. Veri değişiklikleri, el ile müdahale edilmeden eklemeleri veya silmeleri içerir. Her değişikliğin dizinde kaynakları kullanan bir işlemi tetiklediğini unutmayın. Dizin sorgulara yanıt vermeye devam edebilir, ancak güncelleştirme işlemi sırasında bunları işleme kapasitesi azaltılabilir.
Yenilik işlemleri
Kaynak veri oluşturma veya değiştirme ile dizine gösterge olarak eklenmesi arasındaki zaman penceresini ölçün ve SLO'larda izleyin. Bu gösterge, ihtiyacınız olduğunda verilerin dizininizde kullanılabilir olduğundan emin olmak için veri işlem hattı tasarımınızı güncelleştirmeyle ilgili veri kararlarını yönlendirir. Dizin yalnızca gerektiği kadar yeni olmalıdır.
Güncelliği korumak için dizini tamamen yeniden oluşturabilir veya özgün veri kaynaklarıyla eşitlenmiş durumda kalmak için artımlı olarak güncelleştirebilirsiniz. Her iki yöntem de dizinin güncel ve doğru kalmasını sağlar.
Modelde ince ayarlamaya yönelik ön yatırım, RAG deseni, istem mühendisliği ve veri büyütme yöntemleri uygulamaktan daha düşük maliyetli olabilir.