Generatív adatintelligencia

Az Amazon Bedrock tudásbázisa mostantól támogatja a metaadat-szűrést a visszakeresési pontosság javítása érdekében | Amazon webszolgáltatások

Találka:

At AWS re:Invent 2023-ban bejelentettük az általános elérhetőségét Tudásbázisok az Amazon Bedrock számára. Az Amazon Bedrock tudásbázisaival biztonságosan csatlakoztathatja az alapmodelleket (FM-eket). Amazon alapkőzet vállalati adataihoz egy teljesen felügyelt Retrieval Augmented Generation (RAG) modell segítségével.

RAG-alapú alkalmazások esetén az FM-ekből generált válaszok pontossága a modellhez biztosított kontextustól függ. A kontextusokat a felhasználói lekérdezések alapján vektortárakból kérik le. Az Amazon Bedrock Knowledge Bases nemrégiben kiadott funkciójában hibrid keresés, kombinálhatja a szemantikus keresést a kulcsszavas kereséssel. Azonban sok esetben előfordulhat, hogy egy meghatározott időszakban létrehozott vagy bizonyos kategóriákkal megcímkézett dokumentumokat kell lekérnie. A keresési eredmények finomításához szűrhet a dokumentumok metaadatai alapján, hogy javítsa a visszakeresési pontosságot, ami viszont relevánsabb FM-generációkhoz vezet, amelyek az Ön érdeklődési köréhez igazodnak.

Ebben a bejegyzésben a Knowledge Bases for Amazon Bedrock új egyéni metaadat-szűrési funkcióját tárgyaljuk, amellyel javíthatja a keresési eredményeket a vektortárakból származó lekérdezések előszűrésével.

A metaadat-szűrés áttekintése

A metaadat-szűrés felszabadítása előtt az előre beállított maximumig minden szemantikailag releváns darab visszakerül kontextusként, amelyet az FM használ a válasz generálásához. Mostantól a metaadatszűrőkkel nemcsak szemantikailag releváns darabokat kérhet le, hanem ezeknek a releváns tokmányoknak egy jól meghatározott részhalmazát az alkalmazott metaadatszűrők és a kapcsolódó értékek alapján.

Ezzel a funkcióval mostantól egyéni metaadatfájlt (egyenként legfeljebb 10 KB-ot) biztosíthat a tudásbázis minden egyes dokumentumához. Szűrőket alkalmazhat a lekérdezésekre, és utasítja a vektortárat, hogy szűrjön előre a dokumentumok metaadatai alapján, majd keresse meg a releváns dokumentumokat. Így Ön irányíthatja a letöltött dokumentumokat, különösen akkor, ha a lekérdezések nem egyértelműek. Használhat például jogi dokumentumokat hasonló kifejezésekkel a különböző kontextusokhoz, vagy olyan filmeket, amelyeknek hasonló cselekménye van, különböző években. Ezenkívül a keresett darabok számának csökkentésével a pontosság javulása mellett olyan teljesítménybeli előnyöket érhet el, mint például a CPU-ciklusok csökkentése és a vektortár lekérdezésének költsége.

A metaadat-szűrési funkció használatához metaadatfájlokat kell megadnia a forrásadatfájlok mellett a forrásadatfájllal azonos néven, és .metadata.json utótag. A metaadatok lehetnek karakterláncok, számok vagy logikai értékek. A következő példa a metaadatfájl tartalmára:

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

A Knowledge Bases for Amazon Bedrock metaadat-szűrési funkciója az AWS US East (N. Virginia) és US West (Oregon) régiókban érhető el.

A metaadat-szűrés gyakori felhasználási esetei a következők:

  • Dokumentáljon chatbotot egy szoftvercég számára – Ez lehetővé teszi a felhasználók számára, hogy termékinformációkat és hibaelhárítási útmutatókat találjanak. Az operációs rendszeren vagy az alkalmazásverzión található szűrők például segíthetnek elkerülni az elavult vagy irreleváns dokumentumok visszakeresését.
  • Társalgásos keresés egy szervezet alkalmazásában – Ez lehetővé teszi a felhasználók számára, hogy kereshessenek dokumentumok, kanbanok, értekezlet-felvételi átiratok és egyéb eszközök között. A munkacsoportokon, üzleti egységeken vagy projektazonosítókon lévő metaadatszűrők használatával személyre szabhatja a csevegési élményt és javíthatja az együttműködést. Példa erre: „Mi a Sphinx projekt állapota és a felmerült kockázatok”, ahol a felhasználók szűrhetik a dokumentumokat egy adott projekt vagy forrástípus (például e-mail vagy találkozó dokumentumai) szerint.
  • Intelligens keresés szoftverfejlesztők számára – Ez lehetővé teszi a fejlesztők számára, hogy egy adott kiadással kapcsolatos információkat keressenek. A kiadás verziójára, a dokumentumtípusra (például kódra, API-referenciára vagy problémára) vonatkozó szűrők segíthetnek a releváns dokumentumok pontos meghatározásában.

Megoldás áttekintése

A következő szakaszokban bemutatjuk, hogyan készítsünk elő egy adatkészletet tudásbázisként való használatra, majd lekérdezzünk metaadat-szűréssel. Bármelyik használatával lekérdezhet AWS felügyeleti konzol vagy SDK.

Készítsen adatkészletet az Amazon Bedrock tudásbázisaihoz

Ehhez a bejegyzéshez a minta adatkészlet a kitalált videojátékokról, amelyek bemutatják, hogyan lehet beemelni és lekérni a metaadatokat az Amazon Bedrock tudásbázisaival. Ha saját AWS-fiókjában szeretné követni a lépést, töltse le a fájlt.

Ha metaadatokat szeretne hozzáadni a dokumentumaihoz egy meglévő tudásbázisban, hozza létre a metaadatfájlokat a várt fájlnévvel és sémával, majd ugorjon az adatok szinkronizálásához a tudásbázissal a növekményes feldolgozás megkezdéséhez.

Mintaadatkészletünkben minden játék dokumentuma külön CSV-fájl (például s3://$bucket_name/video_game/$game_id.csv) a következő oszlopokkal:

title, description, genres, year, publisher, score

Minden játék metaadata utótaggal rendelkezik .metadata.json (például, s3://$bucket_name/video_game/$game_id.csv.metadata.json) a következő sémával:

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

Hozzon létre tudásbázist az Amazon Bedrock számára

Az új tudásbázis létrehozására vonatkozó utasításokért lásd: Hozzon létre egy tudásbázist. Ebben a példában a következő beállításokat használjuk:

  • A Állítsa be az adatforrást oldal, alatt Darabolási stratégiaválassza Nincs darabolás, mert az előző lépésben már előre feldolgozta a dokumentumokat.
  • A Beágyazási modell szakaszban válassza Titan G1 beágyazások – szöveg.
  • A Vektoros adatbázis szakaszban válassza Hozzon létre gyorsan egy új vektortárat. A metaadat-szűrési funkció az összes támogatott vektortárhoz elérhető.

Szinkronizálja az adatkészletet a tudásbázissal

Miután létrehozta a tudásbázist, és az adatfájlok és a metaadatfájlok egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödröt, elindíthatja a fokozatos bevitelt. Az utasításokat lásd Szinkronizálja az adatforrásokat a tudásbázisba.

Lekérdezés metaadat-szűréssel az Amazon Bedrock konzolon

Az Amazon Bedrock konzol metaadat-szűrési beállításainak használatához hajtsa végre a következő lépéseket:

  1. Az Amazon Bedrock konzolon válassza a lehetőséget Tudásbázisok a navigációs ablaktáblában.
  2. Válassza ki a létrehozott tudásbázist.
  3. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Teszt tudásbázis.
  4. Válassza a Konfigurációk ikonra, majd bontsa ki Szűrők.
  5. Adjon meg egy feltételt a következő formátumban: kulcs = érték (például műfajok = Stratégia), majd nyomja meg a gombot belép.
  6. A kulcs, érték vagy operátor módosításához válassza ki a feltételt.
  7. Folytassa a fennmaradó feltételekkel (például (műfajok = Stratégia ÉS év >= 2023) VAGY (értékelés >= 9))
  8. Ha végzett, írja be a lekérdezést az üzenetmezőbe, majd válassza a lehetőséget futás.

Ennél a bejegyzésnél a „Stratégiai játék hűvös grafikával, 2023 után megjelent” lekérdezést adjuk meg.

Lekérdezés metaadat-szűréssel az SDK használatával

Az SDK használatához először hozza létre az ügyfelet a Az Amazon Bedrock ügynökei futásidő:

import boto3

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

Ezután készítse el a szűrőt (a következőkben néhány példa):

# 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"
            }
        }
    ]
}

Adja át a szűrőt retrievalConfiguration az Retrieval API or RetrieveAndGenerate API-k:

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

Az alábbi táblázat néhány választ sorol fel különböző metaadat-szűrési feltételekkel.

Kérdés Metaadat szűrés Visszakeresett dokumentumok Észrevételek
„2023 után megjelent stratégiai játék klassz grafikával” le

* Viking Saga: The Sea Raider, év:2023, műfajok: Stratégia

* Középkori vár: Ostrom és hódítás, év:2022, műfajok: Stratégia
* Fantasy Kingdoms: Chronicles of Eldoria, év:2023, műfajok: Stratégia

* Cybernetic Revolution: Rise of the Machines, év:2022, műfajok: Stratégia
* Steampunk Chronicles: Clockwork Empires, év:2021, műfajok: Városépítés

2/5 játék megfelel a feltételnek (műfajok = Stratégia és év >= 2023)
On * Viking Saga: The Sea Raider, év:2023, műfajok: Stratégia
* Fantasy Kingdoms: Chronicles of Eldoria, év:2023, műfajok: Stratégia
2/2 játék megfelel a feltételnek (műfajok = Stratégia és év >= 2023)

Az egyéni metaadatokon kívül S3 előtagokkal is szűrhet (ez egy beépített metaadat, így nincs szükség metaadatfájlok megadására). Például, ha a játék dokumentumait kiadók szerinti előtagokba rendezi (például s3://$bucket_name/video_game/$publisher/$game_id.csv), szűrhet az adott kiadó alapján (például neo_tokyo_games) a következő szintaxis használatával:

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

Tisztítsuk meg

Az erőforrások megtisztításához hajtsa végre a következő lépéseket:

  1. A tudásbázis törlése:
    1. Az Amazon Bedrock konzolon válassza a lehetőséget Tudásbázisok alatt hangszerelés a navigációs ablaktáblában.
    2. Válassza ki a létrehozott tudásbázist.
    3. Vegye figyelembe a AWS Identity and Access Management (IAM) szolgáltatási szerepkör neve a Tudásbázis áttekintése szakasz.
    4. A Vektoros adatbázis szakaszban vegye figyelembe az ARN gyűjteményt.
    5. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a töröl, majd a megerősítéshez írja be a delete parancsot.
  2. Törölje a vektoradatbázist:
    1. A Amazon OpenSearch szolgáltatás konzol, válassz Gyűjtemények alatt vagy szerver a navigációs ablaktáblában.
    2. Írja be a mentett ARN gyűjteményt a keresősávba.
    3. Válassza ki a kollekciót és válasszon töröl.
    4. Írja be a megerősítést a megerősítést kérő mezőbe, majd válassza a lehetőséget töröl.
  3. Az IAM szolgáltatási szerepkör törlése:
    1. Az IAM konzolon válassza a lehetőséget szerepek a navigációs ablaktáblában.
    2. Keresse meg a korábban feljegyzett szerep nevét.
    3. Válassza ki a szerepet, és válassza ki töröl.
    4. Írja be a szerep nevét a megerősítő promptba, és törölje a szerepet.
  4. Törölje a mintaadatkészletet:
    1. Az Amazon S3 konzolon navigáljon a használt S3 tárolóhoz.
    2. Válassza ki az előtagot és a fájlokat, majd válassza ki töröl.
    3. A törlés megerősítéséhez írja be a végleges törlést.

Következtetés

Ebben a bejegyzésben az Amazon Bedrock tudásbázisában található metaadat-szűrési funkcióval foglalkoztunk. Megtanulta, hogyan adhat egyéni metaadatokat a dokumentumokhoz, és hogyan használhatja azokat szűrőként, miközben lekéri és lekérdezi a dokumentumokat az Amazon Bedrock konzol és az SDK használatával. Ez segít javítani a kontextus pontosságát, még relevánsabbá téve a lekérdezési válaszokat, miközben csökkenti a vektoradatbázis lekérdezésének költségeit.

További forrásokért tekintse meg a következőket:


A szerzőkről

Corvus Lee londoni székhelyű GenAI Labs Solutions Senior Architect. Szenvedélyesen foglalkozik olyan prototípusok tervezésével és fejlesztésével, amelyek generatív AI-t használnak az ügyfelek problémáinak megoldására. Emellett lépést tart a generatív mesterséges intelligencia és a visszakeresési technikák legújabb fejleményeivel azáltal, hogy valós forgatókönyvekre alkalmazza őket.

Ahmed Ewis az AWS GenAI Labs vezető megoldástervezője, aki segít az ügyfeleknek generatív mesterséges intelligencia prototípusok létrehozásában az üzleti problémák megoldásához. Amikor nem működik együtt az ügyfelekkel, szívesen játszik a gyerekeivel és főz.

Chris Pecora az Amazon Web Services generatív AI adatkutatója. Szenvedélye az innovatív termékek és megoldások építése, miközben az ügyfelek megszállottja tudományára is összpontosít. Amikor nem végez kísérleteket, és nem tart lépést a GenAI legújabb fejlesztéseivel, szereti a gyerekeivel tölteni az időt.

spot_img

Legújabb intelligencia

spot_img