Zephyrnet Logosu

Amazon Bedrock için Bilgi Tabanları artık alma doğruluğunu artırmak için meta veri filtrelemeyi destekliyor | Amazon Web Hizmetleri

Tarih:

At AWS re: İcat 2023'te genel kullanıma sunulacağını duyurduk Amazon Bedrock için Bilgi Tabanları. Amazon Bedrock için Bilgi Tabanları ile temel modellerini (FM'ler) güvenli bir şekilde bağlayabilirsiniz. Amazon Ana Kayası Tam olarak yönetilen bir Alma Artırılmış Nesil (RAG) modeli kullanarak şirket verilerinize.

RAG tabanlı uygulamalar için FM'lerden oluşturulan yanıtların doğruluğu, modele sağlanan bağlama bağlıdır. Bağlamlar, kullanıcı sorgularına dayalı olarak vektör depolarından alınır. Amazon Bedrock için Bilgi Tabanları'nın yakın zamanda yayımlanan özelliğinde, hibrit aramaanlamsal aramayı anahtar kelime aramasıyla birleştirebilirsiniz. Ancak çoğu durumda belirli bir dönemde oluşturulan veya belirli kategorilerle etiketlenen belgeleri almanız gerekebilir. Arama sonuçlarını hassaslaştırmak için, alma doğruluğunu artırmak amacıyla belge meta verilerine göre filtreleyebilirsiniz; bu da ilgi alanlarınıza uygun daha alakalı FM nesillerine yol açar.

Bu yazıda, Amazon Bedrock için Bilgi Tabanlarındaki, vektör mağazalarından alımlarınızı önceden filtreleyerek arama sonuçlarını iyileştirmek için kullanabileceğiniz yeni özel meta veri filtreleme özelliğini tartışıyoruz.

Meta veri filtrelemeye genel bakış

Meta veri filtrelemenin yayınlanmasından önce, önceden belirlenmiş maksimum değere kadar anlamsal olarak ilgili tüm parçalar, FM'nin bir yanıt oluşturmak için kullanması için bağlam olarak döndürülecektir. Artık meta veri filtreleriyle, yalnızca anlamsal olarak ilgili parçaları değil, aynı zamanda uygulanan meta veri filtreleri ve ilişkili değerlere dayalı olarak bu ilgili aynaların iyi tanımlanmış bir alt kümesini de alabilirsiniz.

Bu özellik sayesinde artık bilgi tabanındaki her belge için özel bir meta veri dosyası (her biri en fazla 10 KB) sağlayabilirsiniz. Vektör deposuna belge meta verilerine göre ön filtreleme yapması ve ardından ilgili belgeleri araması talimatını vererek, alımlarınıza filtreler uygulayabilirsiniz. Bu şekilde, özellikle sorgularınız belirsizse, alınan belgeler üzerinde kontrol sahibi olursunuz. Örneğin, farklı bağlamlar için benzer terimlere sahip yasal belgeleri veya farklı yıllarda vizyona giren benzer konuya sahip filmleri kullanabilirsiniz. Ayrıca, üzerinde arama yapılan parça sayısını azaltarak, doğruluktaki iyileşmenin yanı sıra CPU döngülerinde azalma ve vektör deposunu sorgulama maliyeti gibi performans avantajları elde edersiniz.

Meta veri filtreleme özelliğini kullanmak için, kaynak veri dosyalarının yanında, kaynak veri dosyasıyla aynı adı taşıyan meta veri dosyaları da sağlamanız gerekir. .metadata.json sonek. Meta veriler dize, sayı veya Boolean olabilir. Aşağıda meta veri dosyası içeriğinin bir örneği verilmiştir:

{
    "metadataAttributes" : { 
        "tag" : "project EVE",
        "year" :  2016,
        "team": "ninjas"
    }
}

Amazon Bedrock için Bilgi Tabanlarının meta veri filtreleme özelliği, ABD Doğu (K. Virginia) ve ABD Batı (Oregon) AWS Bölgelerinde mevcuttur.

Meta veri filtrelemeye yönelik yaygın kullanım durumları şunlardır:

  • Bir yazılım şirketi için belge sohbet robotu – Bu, kullanıcıların ürün bilgilerini ve sorun giderme kılavuzlarını bulmasına olanak tanır. Örneğin işletim sistemindeki veya uygulama sürümündeki filtreler, eski veya alakasız belgelerin alınmasının engellenmesine yardımcı olabilir.
  • Bir kuruluşun uygulamasının konuşma yoluyla aranması – Bu, kullanıcıların belgeler, kanbanlar, toplantı kaydı transkriptleri ve diğer varlıklar arasında arama yapmasına olanak tanır. Çalışma grupları, iş birimleri veya proje kimlikleri üzerindeki meta veri filtrelerini kullanarak sohbet deneyimini kişiselleştirebilir ve işbirliğini geliştirebilirsiniz. Kullanıcıların belgeleri belirli bir proje veya kaynak türüne (e-posta veya toplantı belgeleri gibi) göre filtreleyebildiği "Sfenks projesinin durumu nedir ve ortaya çıkan riskler" buna bir örnek olabilir.
  • Yazılım geliştiricileri için akıllı arama – Bu, geliştiricilerin belirli bir sürüme ilişkin bilgileri aramasına olanak tanır. Yayın sürümüne ve belge türüne (kod, API referansı veya sorun gibi) ilişkin filtreler, ilgili belgelerin belirlenmesine yardımcı olabilir.

Çözüme genel bakış

Aşağıdaki bölümlerde, bilgi tabanı olarak kullanılacak bir veri kümesinin nasıl hazırlanacağını ve ardından meta veri filtrelemeyle sorgulamanın nasıl yapılacağını göstereceğiz. Şunlardan birini kullanarak sorgulayabilirsiniz: AWS Yönetim Konsolu veya SDK'dır.

Amazon Bedrock için Bilgi Tabanlarına yönelik bir veri kümesi hazırlayın

Bu gönderi için bir kullanıyoruz örnek veri kümesi Amazon Bedrock için Bilgi Tabanlarını kullanarak meta verilerin nasıl alınacağını ve alınacağını göstermek için kurgusal video oyunları hakkında. Kendi AWS hesabınızdan takip etmek istiyorsanız dosyayı indirin.

Mevcut bir bilgi tabanındaki belgelerinize meta veri eklemek istiyorsanız, meta veri dosyalarını beklenen dosya adı ve şemayla oluşturun, ardından artımlı alımı başlatmak için verilerinizi bilgi tabanıyla senkronize etme adımına geçin.

Örnek veri kümemizde her oyunun belgesi ayrı bir CSV dosyasıdır (örneğin, s3://$bucket_name/video_game/$game_id.csv) aşağıdaki sütunlarla:

title, description, genres, year, publisher, score

Her oyunun meta verilerinin son eki vardır .metadata.json (Örneğin, s3://$bucket_name/video_game/$game_id.csv.metadata.json) aşağıdaki şemayla:

{
  "metadataAttributes": {
    "id": number, 
    "genres": string,
    "year": number,
    "publisher": string,
    "score": number
  }
}

Amazon Bedrock için bir bilgi tabanı oluşturun

Yeni bir bilgi tabanı oluşturmaya yönelik talimatlar için bkz. Bir bilgi tabanı oluşturun. Bu örnek için aşağıdaki ayarları kullanıyoruz:

  • Üzerinde Veri kaynağını ayarla sayfanın altında Parçalama stratejisiseçin Parçalama yok, çünkü önceki adımda belgeleri zaten önceden işlediniz.
  • içinde Gömme modeli bölümü, seçim Titan G1 Gömmeleri – Metin.
  • içinde Vektör veritabanı bölümü, seçim Hızlı bir şekilde yeni bir vektör mağazası oluşturun. Meta veri filtreleme özelliği, desteklenen tüm vektör depolarında mevcuttur.

Veri kümesini bilgi tabanıyla senkronize edin

Bilgi tabanını oluşturduktan sonra veri dosyalarınız ve meta veri dosyalarınız bir Amazon Basit Depolama Hizmeti (Amazon S3) kovasını kullanarak artımlı alımı başlatabilirsiniz. Talimatlar için bkz. Veri kaynaklarınızı bilgi tabanına almak için senkronize edin.

Amazon Bedrock konsolunda meta veri filtrelemeyle sorgulama

Amazon Bedrock konsolundaki meta veri filtreleme seçeneklerini kullanmak için aşağıdaki adımları tamamlayın:

  1. Amazon Bedrock konsolunda şunu seçin: Bilgi tabanları Gezinti bölmesinde.
  2. Oluşturduğunuz bilgi tabanını seçin.
  3. Klinik Bilgi tabanını test edin.
  4. Seçin yapılandırmaları simgesine dokunun, ardından genişletin Filtre.
  5. Şu biçimi kullanarak bir koşul girin: anahtar = değer (örneğin, türler = Strateji) ve tuşuna basın Keşfet.
  6. Anahtarı, değeri veya operatörü değiştirmek için koşulu seçin.
  7. Kalan koşullarla devam edin (örneğin, (türler = Strateji VE yıl >= 2023) VEYA (derecelendirme >= 9))
  8. Bitirdiğinizde sorgunuzu mesaj kutusuna girin ve ardından koşmak.

Bu yazı için "2023'ten sonra piyasaya sürülen harika grafiklere sahip bir strateji oyunu" sorgusunu giriyoruz.

SDK'yı kullanarak meta veri filtrelemeyle sorgulama

SDK'yı kullanmak için öncelikle istemciyi oluşturun. Amazon Bedrock Temsilcileri Çalışma süresi:

import boto3

bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)

Daha sonra filtreyi oluşturun (aşağıda bazı örnekler verilmiştir):

# genres = Strategy
single_filter= {
    "equals": {
        "key": "genres",
        "value": "Strategy"
    }
}

# genres = Strategy AND year >= 2023
one_group_filter= {
    "andAll": [
        {
            "equals": {
                "key": "genres",
                "value": "Strategy"
            }
        },
        {
            "GreaterThanOrEquals": {
                "key": "year",
                "value": 2023
            }
        }
    ]
}

# (genres = Strategy AND year >=2023) OR score >= 9
two_group_filter = {
    "orAll": [
        {
            "andAll": [
                {
                    "equals": {
                        "key": "genres",
                        "value": "Strategy"
                    }
                },
                {
                    "GreaterThanOrEquals": {
                        "key": "year",
                        "value": 2023
                    }
                }
            ]
        },
        {
            "GreaterThanOrEquals": {
                "key": "score",
                "value": "9"
            }
        }
    ]
}

Filtreyi şuraya aktar: retrievalConfiguration arasında Alma API'si or Al ve Oluştur API:

retrievalConfiguration={
        "vectorSearchConfiguration": {
            "filter": metadata_filter
        }
    }

Aşağıdaki tabloda farklı meta veri filtreleme koşullarına sahip birkaç yanıt listelenmektedir.

Sorgu Meta Veri Filtreleme Alınan Belgeler Gözlemler
“2023'ten sonra çıkan harika grafiklere sahip bir strateji oyunu” kapalı

* Viking Saga: The Sea Raider, yıl:2023, türler: Strateji

* Ortaçağ Kalesi: Kuşatma ve Fetih, yıl:2022, türler: Strateji
* Fantasy Kingdoms: Chronicles of Eldoria, yıl:2023, türler: Strateji

* Sibernetik Devrim: Makinelerin Yükselişi, yıl:2022, türler: Strateji
* Steampunk Chronicles: Clockwork Empires, yıl:2021, türler: Şehir İnşası

2/5 oyun koşulu karşılıyor (türler = Strateji ve yıl >= 2023)
On * Viking Saga: The Sea Raider, yıl:2023, türler: Strateji
* Fantasy Kingdoms: Chronicles of Eldoria, yıl:2023, türler: Strateji
2/2 oyun koşulu karşılıyor (türler = Strateji ve yıl >= 2023)

Özel meta verilere ek olarak, S3 öneklerini (yerleşik bir meta veridir, dolayısıyla herhangi bir meta veri dosyası sağlamanıza gerek yoktur) kullanarak da filtreleyebilirsiniz. Örneğin, oyun belgelerini yayıncıya göre önekler halinde düzenlerseniz (örneğin, s3://$bucket_name/video_game/$publisher/$game_id.csv), belirli yayıncıya göre filtreleyebilirsiniz (örneğin, neo_tokyo_games) aşağıdaki sözdizimini kullanarak:

publisher_filter = {
    "startsWith": {
                    "key": "x-amz-bedrock-kb-source-uri",
                    "value": "s3://$bucket_name/video_game/neo_tokyo_games/"
                }
}

Temizlemek

Kaynaklarınızı temizlemek için aşağıdaki adımları tamamlayın:

  1. Bilgi tabanını silin:
    1. Amazon Bedrock konsolunda şunu seçin: Bilgi tabanları altında orkestrasyon Gezinti bölmesinde.
    2. Oluşturduğunuz bilgi tabanını seçin.
    3. Not edin AWS Kimlik ve Erişim Yönetimi (IAM) hizmet rolü adı Bilgi tabanına genel bakış Bölüm.
    4. içinde Vektör veritabanı bölümünde ARN koleksiyonunu not edin.
    5. Klinik Sil, ardından onaylamak için sil komutunu girin.
  2. Vektör veritabanını silin:
    1. Üzerinde Amazon Açık Arama Hizmeti konsol, seç Koleksiyonlar altında Serverless Gezinti bölmesinde.
    2. Arama çubuğuna kaydettiğiniz ARN koleksiyonunu girin.
    3. Koleksiyonu seçin ve seçin Sil.
    4. Onay istemine onayla yazın ve ardından Sil.
  3. IAM hizmeti rolünü silin:
    1. IAM konsolunda, Roller Gezinti bölmesinde.
    2. Daha önce not ettiğiniz rol adını arayın.
    3. Rolü seçin ve seçin Sil.
    4. Onay istemine rol adını girin ve rolü silin.
  4. Örnek veri kümesini silin:
    1. Amazon S3 konsolunda kullandığınız S3 klasörüne gidin.
    2. Ön eki ve dosyaları seçin, ardından Sil.
    3. Silmek için onay istemine kalıcı olarak sil yazın.

Sonuç

Bu yazıda Amazon Bedrock için Bilgi Tabanlarındaki meta veri filtreleme özelliğini ele aldık. Amazon Bedrock konsolunu ve SDK'yı kullanarak belgeleri alırken ve sorgularken belgelere özel meta verileri nasıl ekleyeceğinizi ve bunları filtre olarak nasıl kullanacağınızı öğrendiniz. Bu, bağlam doğruluğunun iyileştirilmesine yardımcı olur ve vektör veritabanını sorgulama maliyetinde azalma sağlarken sorgu yanıtlarını daha da alakalı hale getirir.

Ek kaynaklar için aşağıdakilere bakın:


Yazarlar Hakkında

Corvus Lee Londra merkezli Kıdemli GenAI Laboratuvar Çözümleri Mimarıdır. Müşteri sorunlarını çözmek için üretken yapay zekayı kullanan prototipler tasarlama ve geliştirme konusunda tutkulu. Ayrıca üretken yapay zeka ve erişim tekniklerindeki en son gelişmeleri gerçek dünya senaryolarına uygulayarak takip ediyor.

Ahmed Evis AWS GenAI Laboratuvarlarında Kıdemli Çözüm Mimarıdır ve müşterilerin iş sorunlarını çözmek için üretken yapay zeka prototipleri oluşturmasına yardımcı olur. Müşterilerle işbirliği yapmadığı zamanlarda çocuklarıyla oynamaktan ve yemek yapmaktan hoşlanıyor.

Chris Pecora Amazon Web Services'te Üretken Yapay Zeka Veri Bilimcisidir. Müşteri odaklı bilime odaklanırken aynı zamanda yenilikçi ürünler ve çözümler geliştirme konusunda tutkuludur. Deneyler yürütmediği ve GenAI'daki en son gelişmeleri takip etmediği zamanlarda çocuklarıyla vakit geçirmeyi seviyor.

spot_img

En Son İstihbarat

spot_img