Dokümanlar Aracısı ile AI içerik araması oluşturma

Bilgi arama, yapay zekanın kullanımı hakkında yapay zeka (AI) üretken modelleri. Konuşmaya dayalı arama arayüzü oluşturma kullanıcıların belirli sorular sormalarına ve belirli ilgi alanlarını doğrudan yanıtlar.

Bu eğitimde, yapay zeka destekli sohbet odaklı arama özelliğinin nasıl oluşturulacağı gösterilmektedir iyi bir kontrol noktası olur. Sizin için Dokümanlar Aracısı, sohbet oluşturmak için Google Gemini API'yi kullanan açık kaynak yeni bir yapay zeka modelini eğitmeden veya Gemini modelleri. Diğer bir deyişle, bu arama özelliğini hızlı bir şekilde geliştirebilir ve küçük ve büyük içerik kümelerinde kullanmanız gerekir.

Analizler de dahil olmak üzere projeye ve projenin nasıl genişletileceğine dair genel bir bakış videosu için geliştiricilerinden neler öğrendiğinizi öğrenmek için şunlara göz atın: Yapay Zeka İçerik Arama | Google Yapay Zeka ile geliştirin. Aksi takdirde talimatları uygulayarak projeyi genişletmeye başlayabilirsiniz. bölümüne göz atın.

Genel Bakış

Dokümanlar Aracısı projesi, belirli bir dosya için sohbet arayüzü sunar. içerik kümesi tarafından sağlanan tüm verileri ve verileri toplar. Kullanıcılar şunları yapabilir: sohbet tarzında ayrıntılı bir soru sorun ve ayrıntılı bir yanıt alın veya belirli içerik türlerini temel alabilir. Dokümanlar Aracısı perde arkasında içeriğin vektör veritabanında arama yapar ve alakalı metin snippet'leri de dahil olmak üzere üretken model için ayrıntılı istem. Üretken model, soruya ve Dokümanlar Aracısı'na yanıt oluşturur. yanıtı biçimlendirir ve kullanıcıya sunar.

Dokümanlar Aracısı'nın işlevsel şeması Şekil 1. Dokümanlar Aracısı proje uygulamasının işlevsel şeması.

Dokümanlar Aracısı'nın içeriğinizle ilgili soruları yanıtlayabilmesini sağlamanın anahtarı bir vektör veritabanının oluşturulması. İçeriğinizi farklı bölümlere mantıksal metin parçaları ile her biri için bir vektör oluşturur. Bu vektörler her parçadaki bilgilerin sayısal temsilleridir ve Google'ın üretken modellerinden yapay zekayla metin yerleştirme işlevi.

Kullanıcı bir soru sorduğunda Dokümanlar Aracısı aynı metin yerleştirme tekniğini kullanır işlevini kullanır ve o sorunun sayısal bir temsilini oluşturur değerini kullanın. Üstündeki bu bilgileri üretken model istemine ekler. Yapay zeka model, soruyu ve ek bağlam bilgilerini alır ve ver.

Proje ayarlama

Buradaki talimatlar Google Dokümanlar Aracısı projesini ürün geliştirme ve test süreci. Genel adımlar, yükleme başına bazı önkoşulları birkaç ortam değişkeni belirleyerek, projeyi koddan klonlayarak ve yapılandırma kurulumunu çalıştırmanız gerekir. Kod projesi, Python Poetry: Python çalışma zamanı ortamını kullanıyor.

Ön koşulları yükleme

Dokümanlar Aracısı projesi, paketleri yönetmek için Python 3 ve Python Poetry'yi kullanır çalıştırmasını isteyebilirsiniz. Aşağıdaki yükleme talimatları bir Linux içindir anlamına gelir.

Gerekli yazılımları yüklemek için:

  1. Python 3 ve Python için venv sanal ortam paketini yükleyin.
    sudo apt update
    sudo apt install git pip python3-venv
    
  2. Şu dil için bağımlılıkları ve paketlemeyi yönetmek üzere Python Poetry'yi projesi.
    curl -sSL https://install.python-poetry.org | python3 -
    

Python Poetry'yi kullanarak daha fazla Python kitaplığı ekleyebilirseniz belirler.

Ortam değişkenlerini ayarlama

Dokümanlar Aracısı koduna izin vermek için gereken birkaç ortam değişkenini ayarlayın Google Gemini API Anahtarı ve Python dahil olmak üzere, çalıştırılacak Şiir ayarı. Bu değişkenleri $HOME/.bashrc dosyanıza ekleyebilirsiniz Linux kullanıyorsanız terminalinizde varsayılan ayarları yapmak için anlamına gelir.

Ortam değişkenlerini ayarlamak için:

  1. Bir Google Gemini API Anahtarı alın ve anahtar dizesini kopyalayın.
  2. API Anahtarını ortam değişkeni olarak ayarlayın. Linux ana makinelerinde komutu gerekir.
    export API_KEY=<YOUR_API_KEY_HERE>
    
  3. Bilinen bir problemi sorun Python Şiir için PYTHON_KEYRING_BACKEND parametresini ayarlayarak Linux ana makinelerinde aşağıdaki komutu kullanın.
    export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
    

Projeyi klonlama ve yapılandırma

Proje kodunu indirin ve Şiir yükleme komutunu kullanarak bağımlılıkları tespit edip projeyi yapılandırmalısınız. İhtiyacınız olanlar değerini almak için git kaynak kontrolü yazılımı kaynak kodundan yararlanabilirsiniz. harici Proje kodunu indirmek ve yapılandırmak için:

  1. Aşağıdaki komutu kullanarak git deposunu klonlayın.
    git clone https://github.com/google/generative-ai-docs
    
  2. İsteğe bağlı olarak, yerel git deponuzu seyrek ödeme yöntemini kullanacak şekilde yapılandırın, böylece yalnızca Dokümanlar Aracısı projesine ait dosyalara sahip olursunuz.
    cd generative-ai-docs/
    git sparse-checkout init --cone
    git sparse-checkout set examples/gemini/python/docs-agent/
    
  3. docs-agent proje kök dizinine taşıyın.
    cd examples/gemini/python/docs-agent/
    
  4. Bağımlılıkları indirmek ve yapılandırmak için Poetry yükleme komutunu çalıştırma proje:
    poetry install
    

İçerik hazırlama

Dokümanlar Aracısı projesi, metin içeriğiyle çalışacak şekilde tasarlanmıştır ve özel olarak, kaynak biçim olarak Markdown'ı kullanan web siteleriyle çalışmak için geliştirilmiştir. Web sitesi içeriğiyle çalışıyorsanız içerik işleme görevini etkinleştirmek için, sunulan web sitesinin dizin yapısı bu içerikle eşleştirme ve bağlantı oluşturma.

İçeriğinizin biçimine ve ayrıntılarına bağlı olarak kamuya açık olmayan bilgileri, dahili notları veya diğer bilgileri kaldırmak için kullanılan içerik bunları aramanızı engeller. Örneğin, mantıksal metin bölmeleri veya parçaları oluşturmaya yardımcı olan başlık ve devam eder.

İçeriği işlenmek üzere hazırlamak için:

  1. AI aracısının aramasını istediğiniz içerik için bir dizin oluşturun.
    mkdir docs-agent/content/
    
  2. İçeriğinizi docs-agent/content/ dizinine kopyalayın. Öğe içeriği bir web sitesidir; dizinin yapısını korumak (veya çoğaltmak) web sitesi.
  3. Herkese açık olmayan bilgileri kaldırmak için içeriği gerektiği şekilde temizleyin veya düzenleyin ya da istemediğiniz diğer bilgileri içerebilir.

Test için Flutter belgelerini kullanma

Dokümanlar Aracısı'nı test etmek için bir içerik grubuna ihtiyacınız varsa Flutter geliştirici dokümanlarına göz atın.

Flutter geliştirici belgelerini edinmek için:

  1. AI aracısının yapmasını istediğiniz içeriğin içerik dizinine geçin arayın.
    cd docs-agent/content/
    
  2. Flutter dokümanlarını docs-agent/content/ dizinine klonlayın.
    git clone --recurse-submodules https://github.com/flutter/website.git
    

İçeriği işleyin

Arama aracısının alakalı içeriği etkili bir şekilde araması için, kullanıcıların temsil eden vektörlerin veritabanını oluşturmanız gerekir içerik. Vektörler, metin yerleştirme. Metin yerleştirilmiş öğeler, metnin sayısal temsilleridir içerik. Metnin anlamsal anlamını numaraları'na dokunun. Bilgilerin sayısal temsillerine sahip olmak, sistemin veya aynı metin yerleştirme biçimi kullanarak sorunun anlamını yaklaşık olarak tahmin etme fonksiyonunu kullanıp ilgili bilgileri matematiksel bir hesaplama olarak bulmak için, en yakın komşular (k-NN) algoritmasıyla uyumlu olmalıdır.

Metin içeriğini bölme

Metin yerleştirme vektörünün etkili bir şekilde temsil edebileceği metin miktarı sınırlı. Bu proje, bir vektörde temsil edilen metni 3000 karakterle sınırlandırmaktadır Bu da içeriğinizi bunun altında parçalara ayırmanız gerektiği anlamına gelir. kullanılabilir. Bu bölümde, Markdown dosyalarını daha küçük metin parçalarına bölen Dokümanlar Aracısı projesi. Şu konularda ipuçları için: daha fazla bilgi edinmek için Diğer biçimleri işleyin.

Markdown biçimindeki içeriği bölmek için:

  1. İşleme komut dosyası için giriş parametrelerini, docs-agent/config.yaml dosyası yükleyin. Bu örnekte bir alt küme hedefleniyor bakın:
    input:
    - path: "content/website/src/ui"
      url_prefix: "https://docs.flutter.dev/ui"
    
  2. Bu yapılandırma dosyasında yaptığınız değişiklikleri kaydedin.
  3. docs-agent proje dizinine gidin:
    cd docs-agent/
    
  4. agent chunk komutunu çalıştırarak Markdown kaynak içeriğini bölün:
    agent chunk
    

Komut dosyası giriş içeriğini işler ve docs-agent/data dizini, metni başlıklara ve başlıklara göre böler. paragrafları dahil edin. İşlem, telefonunuzun boyutuna bağlı olarak biraz zaman alabilir içerik.

Metin yerleştiren vektörler oluşturma

İçeriğinizi uygun boyutta anlamlı parçalara böldükten sonra, bir metin yerleştirme tekniğini kullanarak vektör veritabanını içeriğinizle doldurabilirsiniz işlevini kullanın. Dokümanlar Aracısı projesi, Chroma'yı kullanır. vektör veritabanını kullanır. Bu talimatlar, bir vektör veritabanını bölümlerinizle doldurmak için Dokümanlar Aracıları içerik.

Metin yerleştirilmiş öğeler oluşturmak ve vektör veritabanını doldurmak için:

  1. docs-agent proje dizinine gidin:
    cd docs-agent/
    
  2. Vektör veritabanını, agent populate kullanarak içeriğinizle doldurun. komut:
    agent populate
    

Bu komut dosyası, aşağıdakileri oluşturmak için Google Gemini API'yi kullanır: metin yerleştirme ve ardından çıktıyı vektör veritabanına kaydeder. İşlemin tamamlanması sürebilir biraz zaman alabilir.

Diğer biçimleri işleme

Dokümanlar Aracısı projesi, Markdown'da web sitesi içeriğiyle çalışacak şekilde tasarlanmıştır. biçimindedir. Projenin yazarları, yeni komut dosyası oluşturmak için Google Dokümanlar, Taşınabilir Sürüm de dahil olmak üzere diğer içerik türlerini Markdown biçimine Doküman Biçimi (PDF) ve Gmail. Bu dönüşüm gerçekleştirenler için docs-agent/apps_script dizinini oluşturur.

Diğer içerik biçimlerini dönüştürün

Projede başka içerik formatları da kullanabilirsiniz. Ancak bu formatlar, sizin tarafınızdan veya topluluğun diğer üyeleri tarafından ek yöntemlerin geliştirilmesi gerekir. Kod deposunu kontrol etme Sorunlar ve Çekme İstekleri herkes için daha iyi bir fırsattır.

Diğer içerik biçimlerini desteklemek için oluşturmanız gereken anahtar kod, aşağıdaki gibi bir komut dosyası oluştur: files_to_plain_text.py komut dosyası. Buna benzer çıktılar üretecek bir komut dosyası veya program geliştirmeyi hedefleyin komut dosyası. Nihai metin çıktısının en az biçimlendirmeye sahip olması ve fazla bilgi verir. HTML veya JSON gibi içerik biçimleri kullanıyorsanız gereksiz biçimlendirmenin (etiketler, etiketler, metinler) komut dosyası, CSS) kullanarak metnin değerlerini çarpıtmaz videolar veya site bağlantıları oluşturmanız gerekir.

İçerik biçimi için bir ayırıcı komut dosyası oluşturduktan sonra, çalıştır populate_vector_database.py komut dosyasını çalıştırın. Veri işleme hakkında daha fazla bilgi için için Dokümanlar Aracısı ile kullanılacak dosyaları nasıl kullanacağınızı (Dokümanlar Aracısı) inceleyin. Ön İşlem Benioku.

Uygulamayı test etme

Vektör veritabanınızı doldurmayı tamamladığınızda proje hazır demektir. kullanmaya karar verebilir. Proje, projeyi yürütmenizi sağlayacak işleyeceğiz.

Proje web arayüzünü çalıştırmak ve test etmek için:

  1. docs-agent proje dizinine gidin:
    cd docs-agent/
    
  2. Web uygulaması başlatma komut dosyasını çalıştırın:
    agent chatbot
    
  3. Web tarayıcınızı kullanarak komut dosyasının çıktısını alıp uygulamayı test edin.
    * Running on http://your-hostname-here:5000
    

Uygulama seçenekleri

Gemini API, Gemini API'deki bileşenlerin yerine geçebilen, Dokümanlar Aracısı uygulaması, özellikle: Semantik Retrieval ve Attributed Soru Yanıtlama (AQA) Gemini model varyantı. Gemini API'nin Anlamsal Bilgi Alma özelliğini kullanmanızı öneririz. Anlamsal Bilgi Alma özelliği içeriğiniz için yerleştirmeler oluşturmanıza ve bu içeriği depolamanıza olanak tanır. İlgili içeriği oluşturmak için kullanılan AQA Gemini modeli şuna göre ayarlandı: istemdeki kaynak materyallerle soruları yanıtlamak. Semantik kullanıyorsunuz Veri almak için AQA modeliyle birlikte soruları yanıtlayın tüm bunları Gemini API'den takip edebilirsiniz.

Dokümanlar Aracısı, Semantik Retrieval API özelliği, ilgili AQA Gemini modeli veya her ikisi. Daha fazla bilgi için bkz. "the" Dokümanlar Aracısı Beni Okuma.

Ek kaynaklar

Dokümanlar Aracısı projesi hakkında daha fazla bilgi için kod deposu'na gidin. Uygulamayı geliştirme konusunda yardıma ihtiyacınız varsa veya geliştirici arıyorsanız hakkında daha fazla bilgi edinmek için Google Developers Topluluğu Discord sunucu.

Üretim uygulamaları

Dokümanlar Aracısı'nı geniş bir kitleye dağıtmayı planlıyorsanız Google Gemini API, hız sınırlamasına ve diğer kullanım kısıtlamaları hakkında daha fazla bilgi edinin. Gemini API ile bir üretim uygulaması oluşturmayı düşünüyorsanız Dokümanlar Aracısı, check-out Google Cloud Vertex AI hizmetleri sunmanızı sağlar.