Web Scrape QnA

Bir web sitesini nasıl scrape, upsert, ve query etmeyi öğrenin

Diyelim ki bir web siteniz var (bir mağaza, bir e-ticaret sitesi, bir blog olabilir) ve bu web sitesinin tüm ilgili bağlantılarını hurdaya çıkarmak ve LLM'nin web sitenizdeki herhangi bir soruyu yanıtlamasını istiyorsunuz. Bu eğitimde, bunu nasıl başaracağımızı anlatacağız.

Marketplace templates'den - WebPage QnA adlı örnek akışı bulabilirsiniz.

Kurulum

Belirli bir URL'den bağlantıları kazımak için Cheerio Web Scraper düğümünü ve kazınan içeriği daha küçük parçalara ayırmak için HtmlToMarkdown Text Splitter'ı kullanacağız.

Herhangi bir şey belirtmezseniz, varsayılan olarak yalnızca verilen URL sayfası kazınacaktır. İlgili bağlantıların geri kalanını taramak istiyorsanız, Cheerio Web Kazıyıcı'nın Additional Parameters (Ek Parametreler) seçeneğine tıklayın.

1. Birden Fazla Sayfayı Tarayın

  1. Göreceli Bağlantıları Alma Yöntemi'nde Web Crawl veya Scrape XML Sitemap'i seçin.

  2. Sağlanan URL'den mevcut tüm bağlantıları almak için Get Relative Links Limit (Göreceli Bağlantıları Alma Sınırı) alanına 0 girin.

  1. Taranması istenilen URL'yi girin.

  2. Additional Parameters (Ek Parametreler) bölümündeki Get Relative Links Method (Göreceli Bağlantıları Alma Yöntemi) ve Get Relative Links Limit (Göreceli Bağlantıları Alma Sınırı) girdilerine dayalı olarak bağlantıları almak için Fetch Links (Bağlantıları Al) öğesine tıklayın.

  3. Crawled Links (Taranan Bağlantılar) bölümünde, Kırmızı Çöp Kutusu Simgesine tıklayarak istenmeyen bağlantıları kaldırın.

  4. Son olarak, Save (Kaydet) düğmesine tıklayın.

2. Upsert

  1. Sağ üst köşede yeşil bir düğme göreceksiniz:

  1. Kullanıcıların Pinecone'a veri eklemelerine izin veren bir iletişim kutusu gösterilecektir:

Not: Başlığın altında aşağıdaki eylemler yürütülecektir:

  • Cheerio Web Kazıyıcı kullanılarak tüm HTML verileri kazındı

  • Kazınan tüm verileri HTML'den Markdown'a dönüştürün, ardından bölün

  • Bölünmüş veriler üzerinde döngü oluşturulacak ve OpenAI Embeddings kullanılarak vektör katıştırmalarına dönüştürülecektir

  • Vektör katıştırmaları Pinecone'a eklenecek

  1. Pinecone konsolunda eklenen yeni vektörleri görebileceksiniz.

3. Query

Sorgulama nispeten basittir. Verilerin vektör veritabanına eklendiğini doğruladıktan sonra, sohbette soru sormaya başlayabilirsiniz:

Conversational Retrieval QA Chain'in Additional Parameters (Ek Parametreler) bölümünde 2 prompt belirtebilirsiniz:

  • Rephrase Prompt (Yeniden İfade İstemi): Geçmiş konuşma geçmişi göz önüne alındığında soruyu yeniden ifade etmek için kullanılır

  • Response Prompt(Yanıt İstemi): Yeniden ifade edilen soruyu kullanarak, vektör veritabanından bağlamı alın ve nihai bir yanıt döndürün

Ayrıntılı bir yanıt istemi mesajı belirtmeniz önerilir. Örneğin, AI'nın adını, cevap verilecek dili, cevap bulunamadığında verilecek yanıtı (halüsinasyonu önlemek için) belirtebilirsiniz.

Yapay zekanın yanıtının geldiği belge parçalarının bir listesini döndürmek için Source Documents (Kaynak Belgeleri Döndür) seçeneğini de açabilirsiniz.

Additional Web Scraping

Cheerio Web Scraper dışında, web kazıma işlemi yapabilen başka düğümler de vardır:

  • Puppeteer: Puppeteer, başsız Chrome veya Chromium'u kontrol etmek için üst düzey bir API sağlayan bir Node.js kütüphanesidir. Oluşturmak için JavaScript gerektiren dinamik web sayfalarından veri ayıklamak da dahil olmak üzere web sayfası etkileşimlerini otomatikleştirmek için Puppeteer'ı kullanabilirsiniz.

  • Playwright: Playwright, Chromium, Firefox ve WebKit dahil olmak üzere birden fazla tarayıcı motorunu kontrol etmek için üst düzey bir API sağlayan bir Node.js kütüphanesidir. Playwright'ı, işlemek için JavaScript gerektiren dinamik web sayfalarından veri ayıklamak da dahil olmak üzere web sayfası etkileşimlerini otomatikleştirmek için kullanabilirsiniz.

  • Apify: Apify, çeşitli web kazıma, tarama ve veri çıkarma kullanım durumları için Actors adı verilen binden fazla hazır uygulamadan oluşan bir ekosistem sağlayan web kazıma ve veri çıkarma için bir bulut platformudur.

Aynı mantık sadece web kazıma ile sınırlı kalmayıp tüm belge kullanım durumlarına uygulanabilir!

Last updated