Hazırlık

Azure AI services
Azure AI Arama
Azure OpenAI Service
Azure Machine Learning

Alma-Artırılmış Nesil (RAG) geliştirme ve denemesinin ilk aşaması hazırlık aşamasıdır. Bu aşamada, önce çözümünüz için iş etki alanını tanımlarsınız. Etki alanı tanımlandıktan sonra, belge analizi gerçekleştirme, belge toplama ve etki alanıyla ilgili örnek soruları toplama paralel işlemine başlarsınız. Adımlar birbiriyle ilişkili olduğundan paralel olarak gerçekleştirilir. Belge analizi, hangi test belgelerini ve test sorgularını toplamanız gerektiğini belirlemenize yardımcı olur. Bu kişiler, soruların belgelerdeki içerik tarafından yanıtlanabilmesi ve belgelerin ilgili soruları yanıtlaması gerektiğiyle daha da ilişkilidir.

Bu makale, bir serinin bir parçasıdır. Tanıtımı okuyun.

Çözüm etki alanını belirleme

Bu sürecin ilk adımı, çözüm veya kullanım örneği için iş gereksinimlerini açıkça tanımlamaktır. Bu gereksinimler, çözümün ne tür soruları ele almak istediğini ve hangi kaynak veri veya belgelerin bu soruları gidermeye yardımcı olduğunu belirlemeye yardımcı olur. Sonraki aşamalarda, çözüm etki alanı ekleme modeli stratejinizi bilgilendirmeye yardımcı olur.

Belge analizi

Belge analizinin amacı, aşağıdakileri anlamanıza yardımcı olmak için belgeniz hakkında yeterli bilgi toplamaktır:

  • Belgelerin farklı sınıflandırmaları - Örneğin, ürün belirtimleriniz, üç aylık raporlarınız, araba sigortası sözleşmeleriniz, sağlık sigortası sözleşmeleriniz vb. var mı?
  • Farklı belge türleri - Örneğin, PDF'leriniz, Markdown dosyalarınız, HTML dosyalarınız, DOCX dosyalarınız vb. var mı?
  • Güvenlik kısıtlamaları - Örneğin, belgelerin genel olarak erişilebilir olup olmadığı veya bunlara erişmek için kimlik doğrulaması ve yetkilendirme gerekip gerekmediği
  • Belgelerin yapısı - Örneğin, belgelerin uzunluğu, konu sonları ve bağlamsal olarak ilgili resimlere veya tablosal verilere sahip olup olmadıkları

Aşağıdaki bölümlerde bu bilgilerin yükleme ve öbekleme stratejilerinizi bilgilendirmeye nasıl yardımcı olduğu açıklanmıştır.

Belgelerin sınıflandırması

İhtiyacınız olan test belgelerinin sayısını belirlemenize yardımcı olması için farklı belge sınıflandırmalarını anlamanız gerekir. Analizin bu bölümü size yalnızca sigorta veya finans gibi üst düzey sınıflandırmaları değil, sağlık sigortası ve araba sigortası belgeleri gibi alt sınıfları da anlatmalıdır. Ayrıca, alt sınıflandırmaların farklı yapılara veya içeriğe sahip olup olmadığını anlamak istiyorsunuz.

Amaç, sahip olduğunuz tüm farklı belge çeşitlerini anlamaktır. Bu anlayış, ihtiyacınız olan test belgelerinin sayısını ve dökümünü belirlemenize yardımcı olur. Denemelerinizde belirli bir belge sınıflandırmasını fazla kullanmak veya bu sınıflandırmanın altında yer almak istemezsiniz.

Belge türleri

Kuruluşunuzdaki farklı dosya biçimlerini anlamak, test belgelerinin sayısını ve dökümünü belirlemenize yardımcı olur. Örneğin, üç aylık raporlar için PDF ve Office Open XML belge türleriniz varsa, her belge türü için test belgelerine ihtiyacınız vardır. Belge türlerinizi anlamak, bu dosya biçimlerini işlemek için uygun olan belirli kitaplıklar gibi belgelerinizi yükleme ve öbeklemeyle ilgili teknik gereksinimlerinizi anlamanıza da yardımcı olur.

Güvenlik kısıtlamaları

Güvenlik kısıtlamalarını anlamak, yükleme ve öbekleme stratejilerinizi belirlemek için çok önemlidir. Örneğin, belgelerinizin bazılarının mı yoksa tümünün mi kimlik doğrulaması, yetkilendirme veya ağ görünürlüğü gerektirdiğini belirlemeniz gerekir. Belgeler güvenli bir çevre içindeyse, kodunuzun bunlara erişebildiğinden emin olun veya belgeleri işleme kodunuz için erişilebilir bir konuma güvenli bir şekilde çoğaltmak için bir işlem uygulayın.

Belgelerin bazen belge bağlamı için önemli olan görüntüler veya ses gibi multimedyaya başvurduğunu unutmayın. Bu medya, belgenin kendisiyle benzer erişim denetimlerine de tabi olabilir. Bu medya kimlik doğrulaması veya ağ görüş hattı gerektiriyorsa, kodunuzun medyaya erişebildiğinden emin olmanız veya bu içeriği çoğaltabilecek erişimi olan önceki bir işleme sahip olduğunuzdan emin olmanız gerekir.

İş yükünüz farklı kullanıcıların yalnızca farklı belgelere veya belge kesimlerine erişmesini gerektiriyorsa, öbekleme çözümünüzde bu erişim izinlerini nasıl tutabileceğinizi anladığınızdan emin olun.

Belge yapısı

Belgenin nasıl düzenlenip düzenlenip yerleştirndiği ve belgedeki içerik türleri de dahil olmak üzere belgenin yapısını anlamanız gerekir. Belgelerinizin yapısını ve içeriğini anlamak aşağıdaki belirlemeleri yapmanıza yardımcı olur:

  • Belgenin kirliliği temizlemek, medyayı ayıklamak, öğeleri yeniden biçimlendirmek veya yoksaymak için ek açıklama eklemek için ön işleme gerekip gerekmediği
  • Belgede yoksaymak veya dışlamak istediğiniz öğeler
  • Belgede yakalamak istediğiniz öğeler
  • Belgeyi nasıl öbeklemeyi istiyorsunuz?
  • Resimleri, tabloları, grafikleri ve diğer ekli medyayı nasıl işlemek istiyorsunuz?

Aşağıda, bu belirlemelerden bazılarını yapmanıza yardımcı olmak için kullanabileceğiniz bazı kategorilere ayrılmış sorular yer alır.

Yoksayabileceğiniz yaygın öğelerle ilgili sorular

Bazı yapısal öğeler belgeye anlam eklemeyebilir ve öbekleme sırasında güvenle yoksayılabilir. Bazı durumlarda, bu öğeler dizininize değerli bağlam ekleyebilir ve ilgili sorgulara yardımcı olabilir, ancak tümünü eklemez. Aşağıda, bunların ilgililik ekleyip eklemediğini veya yoksayılması gerekip gerekmediğini görmek için değerlendirmeniz gereken yaygın belge özellikleriyle ilgili bazı sorular yer alır.

  • Belgede içindekiler tablosu var mı?
  • Üst bilgiler ve alt bilgiler var mı?
  • Telif hakkı veya yasal uyarı var mı?
  • Dipnotlar veya son notlar var mı?
  • Filigranlar var mı?
  • Ek açıklamalar veya açıklamalar var mı?

Ön işleme ve öbekleme stratejisini bilgilendirmeye yardımcı olan sorular

Belgenin yapısıyla ilgili aşağıdaki sorular, işlemeyi kolaylaştırmak için belgeyi önceden işlemeniz gerekip gerekmediğini anlamanıza yardımcı olan ve öbekleme stratejinizi bilgilendirmenize yardımcı olan içgörüler sağlar.

  • Çok sütunlu veriler mi yoksa çok sütunlu paragraflar mı var? Çok sütunlu içeriği tek bir sütunmuş gibi ayrıştırmak istemezsiniz.
  • Belge nasıl yapılandırılmış? Örneğin, HTML dosyaları bazen düzenleri için ekli tablosal verilerden ayırt edilmesi gereken tablolar kullanır.
  • Kaç paragraf var? Paragraflar ne kadardır? Paragraflar kabaca eşit uzunlukta mı?
  • Belgelerde hangi diller, dil varyantı veya diyalektler var?
  • Belgede Unicode karakterleri var mı?
  • Sayılar nasıl biçimlendirilir? Virgül mü yoksa ondalık mı kullanıyorlar? Tutarlılar mı?
  • Belgedeki tekdüzen nedir ve tekdüzen olmayan nedir?
  • Anlamsal anlamın ayıklandığı bir üst bilgi yapısı var mı?
  • Madde işaretleri veya anlamlı girintiler var mı?

Resimlerle ilgili sorular

Belgenizdeki görüntüleri anlamak, görüntü işleme stratejinizi belirlemenize yardımcı olur. Ne tür görüntüleriniz olduğu, işlenmek için yeterli çözünürlüğe sahip olup olmadıkları ve görüntünün gerekli tüm bilgileri içerip içermediği gibi bilgileri anlamanız gerekir. Aşağıdaki sorular görüntü işleme gereksinimlerinizi anlamanıza yardımcı olur.

  • Belgede görüntüler var mı?
  • Görüntüler ne çözünürlükte?
  • Resimlere eklenmiş metin var mı?
  • Değer eklemeyen soyut resimler var mı? Örneğin, simgeler herhangi bir anlam değeri eklemeyebilir. Simge görselinin genellikle belge içeriğiyle çok az ilgisi olduğundan, resimler için açıklama eklemek aslında zarar verici olabilir.
  • Resimle çevresindeki metin arasındaki ilişki nedir? Görüntülerin tek başına içeriği olup olmadığını veya metin gösterimini almak için büyük bir dil modeline geçirirken kullanmanız gereken görüntünün çevresinde bağlam olup olmadığını belirleyin. Resim yazıları, resmin içinde yer almamış değerli bağlamlara sahip olabilecek, çevresindeki metnin bir örneğidir.
  • Görüntülerin erişilebilirlik açıklamaları gibi zengin metinsel gösterimi var mı?

Tablolar, grafikler ve diğer zengin içerik hakkındaki sorular

Tablolarda, grafiklerde ve diğer medyalarda hangi bilgilerin kapsüllenmiş olduğunu anlamak, bunları ne ve nasıl işlemek istediğinizi anlamanıza yardımcı olur. Aşağıdaki sorular tablolarınızı, grafiklerinizi ve diğer medya işleme gereksinimlerinizi anlamanıza yardımcı olur.

  • Belgede sayı içeren grafikler var mı?
  • Belgede tablolar var mı?
    • Tablolar karmaşık mı (iç içe tablolar) yoksa çift yönlü mü?
    • Tablolar için açıklamalı alt yazılar var mı?
    • Tabloların uzunlukları nelerdir? Uzun tablolar öbekler halinde yinelenen üst bilgiler gerektirebilir.
  • Video veya ses gibi başka ekli medya türleri var mı?
  • Belgede matematik denklemleri/bilimsel gösterimi var mı?

Temsili test belgelerini toplama

Bu adımda, üretim çözümünüzde kullandığınız belgelerin en iyi temsili olan belgeleri topluyorsunuz. Belgeler, tanımlanan kullanım örneğini ele almalıdır ve paralel aşamada toplanan soruları yanıtlayabilmelidir.

Dikkat edilmesi gereken noktalar

Olası temsili test belgelerini değerlendirirken şu alanları göz önünde bulundurun:

  • İlgililik - Belgelerin konuşma uygulamasının iş gereksinimlerini karşılaması gerekir. Örneğin, müşterilerin bankacılık işlemlerini gerçekleştirmesine yardımcı olmakla görevli bir sohbet botu oluşturuyorsanız, belgeler bu gereksinimle (örneğin, bir banka hesabının nasıl açıldığını veya kapatıldığını gösteren belgeler) eşleşmelidir. Belgelerin paralel adımda toplanan test sorularını ele alabilmesi gerekir. Belgelerde sorularla ilgili bilgiler yoksa geçerli bir yanıt oluşturamaz.
  • Temsilci - Belgeler, çözümünüzün kullandığı farklı belge türlerini temsil etmelidir. Örneğin, bir araba sigortası belgesi, sağlık sigortası veya hayat sigortası belgesiyle farklıdır. Kullanım örneğinin çözümün üç türü de desteklemesini gerektirdiğini ve yalnızca iki araba sigortası belgeniz olduğunu varsayalım. Çözümünüz hem sağlık hem de hayat sigortası için kötü bir performans sergiler. Her varyasyon için en az 2 tane olmalıdır.
  • Fiziksel belge kalitesi - Belgelerin kullanılabilir bir şekilde olması gerekir. Örneğin taranan görüntüler, kullanılabilir bilgileri ayıklamanıza izin vermeyebilir.
  • Belge içerik kalitesi - Belgeler yüksek içerik kalitesine sahip olmalıdır. Yazım hataları veya dil bilgisi hataları olmamalıdır. Düşük kaliteli içerik sağlarsanız büyük dil modelleri iyi performans göstermiyor.

Bu adımın başarı faktörü, belirli bir etki alanınız için test belgelerinin iyi bir gösterimine sahip olduğunuzdan nitel olarak emin olmaktır.

Test belgesi kılavuzu

  • Yapay yerine gerçek belgeleri tercih edin. Gerçek belgeler, kişisel bilgileri (PII) kaldırmak için bir temizleme işleminden geçmelidir.
  • Gelecekteki tahmin edilen senaryolar da dahil olmak üzere her türlü senaryonun ele alındığından emin olmak için belgelerinizi yapay verilerle seçmeli olarak artırmayı göz önünde bulundurun.
    • Yapay veri kullanmanız gerekiyorsa, gerçek verilere mümkün olduğunca yakın hale getirmek için en iyisini yapın.
  • Belgelerin toplanan soruları ele alaa olduğundan emin olun.
  • Her belge değişkeni için en az iki belgeniz olmalıdır.
  • Belge kalitesini değerlendirmeye yardımcı olması için büyük dil modellerini veya diğer araçları kullanabilirsiniz.

Test sorgularını toplama

Bu adımda öbeklerinizi, arama çözümünüzü ve istem mühendisliğinizi değerlendirmek için kullandığınız test sorgularını topluyorsunuz. Bunu, temsili belgeleri toplayarak kilitte yaparsınız, çünkü yalnızca sorguları toplamakla değil, temsili belgelerin sorguları ele alma şeklini de bir araya getirmiş olursunuz. Her iki örnek sorguya da sahip olmak, örnek belgelerin bu sorgulara yönelik bölümleriyle birlikte, farklı stratejiler ve yaklaşımlarla denemeler yaparken RAG çözümünün her aşamasını değerlendirmenize olanak tanır.

Test sorgusu çıktısı toplama

Bu aşamanın çıktısı hem Temsili test sorgularını topla adımının hem de Temsili test belgelerini topla adımının içeriğini içerir. Çıkış, aşağıdaki verileri içeren bir koleksiyondur:

  • Sorgu - Meşru bir kullanıcının olası istemini temsil eden soru.
  • Bağlam - Sorguyu ele alan belgelerdeki tüm gerçek metinlerden oluşan bir koleksiyon. Bağlamın her bir parçası için sayfayı ve gerçek metni eklemeniz gerekir.
  • Yanıt - Sorguya geçerli bir yanıt. Yanıt doğrudan belgelerden içerik olabilir veya bir veya daha fazla bağlam parçasından yeniden ifade edilebilir.

Yapay sorgular oluşturma

Belirli bir etki alanında konu uzmanlarının (KOBİ) kullanım örneğine yönelik kapsamlı bir soru listesi oluşturması genellikle zordur. Bu zorluğun bir çözümü, toplanan temsili test belgelerinden yapay sorular oluşturmaktır. Temsili belgelerden yapay sorular oluşturmaya yönelik gerçek bir yaklaşım aşağıdadır:

  1. Belgeleri öbekle - Belgeleri öbeklere ayırın. Bu öbekleme adımı, genel çözümünüz için öbekleme stratejisini kullanmıyor. Yapay sorgular oluşturmak için kullandığınız tek seferlik bir adımdır. Belge sayısı makulse öbekleme el ile yapılabilir.

  2. Öbek başına sorgu oluşturma - Her öbek için el ile veya büyük bir dil modeli kullanarak sorgular oluşturun. Büyük bir dil modeli kullanırken genellikle öbek başına iki sorgu oluşturarak başlarız. Büyük dil modeli, yanıtı oluşturmak için de kullanılabilir. Aşağıdaki örnekte, bir öbek için sorular ve yanıtlar oluşturan bir istem gösterilmektedir.

    Please read the following CONTEXT and generate two question and answer json objects in an array based on the CONTEXT provided. The questions should require deep reading comprehension, logical inference, deduction, and connecting ideas across the text. Avoid simplistic retrieval or pattern matching questions. Instead, focus on questions that test the ability to reason about the text in complex ways, draw subtle conclusions, and combine multiple pieces of information to arrive at an answer. Ensure that the questions are relevant, specific, and cover the key points of the CONTEXT.  Provide concise answers to each question, directly quoting the text from provided context. Provide the array output in strict JSON format as shown in output format. Ensure that the generated JSON is 100 percent structurally correct, with proper nesting, comma placement, and quotation marks. There should not be any comma after last element in the array.
    
    Output format:
    [
      {
        "question": "Question 1",
        "answer": "Answer 1"
      },
      {
        "question": "Question 2",
        "answer": "Answer 2"
      }
    ]
    
    CONTEXT:
    
  3. Çıktıyı doğrulama - Soruların kullanım örneğine bağlı olduğunu ve yanıtların soruyu ele alındığını doğrulayın. Bu doğrulama bir SME tarafından gerçekleştirilmelidir.

Girişsiz sorgular

Belgelerin ele almayabilecekleri sorguların yanı sıra ele alınan sorguların toplanması önemlidir. Çözümünüzü test ederken, özellikle büyük dil modelini test ederken, çözümün yanıtlamak için yeterli bağlama sahip olmadığı sorgulara nasıl yanıt vermesi gerektiğini belirlemeniz gerekir. Ele alamadığınız sorgulara yanıt verme yaklaşımları şunlardır:

  • Bilmediğiniz bir yanıt verme
  • Bilmediğiniz bir yanıt verme ve kullanıcının daha fazla bilgi bulabileceği bir bağlantı sağlama

Ekli medya için test sorguları toplama

Metinde olduğu gibi, yüksek oranda ilgili yanıtlar oluşturmak için eklenmiş medyayı kullanmayı içeren çeşitli sorular toplamanız gerekir. Grafik, tablo, ekran görüntüsü içeren görüntüleriniz varsa tüm kullanım örneklerini kapsayan sorularınız olduğundan emin olun. Belge analizi bölümünün görüntüler bölümünde, bazı soruları yanıtlamak için görüntüden önceki veya sonraki metnin gerekli olduğunu belirlediyseniz, test sorgularınızda bu soruların olduğundan emin olun.

Test sorguları toplama kılavuzu

  • Kullanabileceğiniz gerçek müşteri soruları içeren bir sistem olup olmadığını belirleyin. Örneğin, müşteri sorularını yanıtlamak için bir sohbet botu oluşturuyorsanız yardım masanızdan, SSS'lerden veya bilet sisteminizden müşteri sorularını kullanabilirsiniz.
  • Kullanım örneği için müşteri veya SME, toplanan belgelerin, ilişkili test sorgularının ve belgelerden gelen sorguların yanıtlarının kapsamlı, temsili ve doğru olup olmadığını belirlemek için bir kalite kapısı görevi görmesi gerekir.
  • Kaynak belgeleri doğru yansıtmaya devam etmelerini sağlamak için soruların ve yanıtların gövdesinin gözden geçirilmesi düzenli aralıklarla yapılmalıdır.

Sonraki adımlar