Megosztás a következőn keresztül:


Megbízható objektumok használata AI-/BI Genie-szóközökben

Ez a cikk a megbízható objektumokat határozza meg, és ismerteti, hogyan használhatja őket ellenőrzött válaszok megadására egy Dzsinn-térben.

Mik azok a megbízható objektumok?

A megbízható objektumok előre definiált függvények és példa-lekérdezések, amelyek ellenőrzött válaszokat nyújtanak a felhasználóktól elvárt kérdésekre. Amikor egy felhasználó olyan kérdést küld, amely egy megbízható objektumot hív meg, az megjelenik a válaszban, és további megbízhatósági réteget ad hozzá az eredmények pontosságához.

A megbízható eszközök közé tartozhatnak a következők:

  • Paraméteres példa SQL-lekérdezések: Ha egy paraméteres példán alapuló SQL-lekérdezést használ a válasz létrehozásához, a rendszer megbízható objektumként címkézi a reponse-t. A válasz tartalmazza a lekérdezés argumentumaként használt értékeket.
  • Felhasználó által definiált táblafüggvények (UDF-ek): Egyéni függvényeket definiálhat, és regisztrálhatja őket a Unity Catalogban. Ezután ezeket a függvényeket megbízható objektumokként is hozzáadhatja, amikor utasításokat állít be a Genie-térben. Lásd: SQL-táblafüggvény és felhasználó által definiált függvények (UDF-ek) létrehozása a Unity Catalogban.

Egy megbízható objektummal megválaszolt mintakérdés.

Feljegyzés

A megbízható eszközök nem helyettesítik az összes többi utasítást. A Databricks megbízható eszközök használatát javasolja a jól bevált ismétlődő kérdésekhez. Pontos választ adnak konkrét kérdésekre.

Miért érdemes megbízható eszközöket létrehozni?

Bármely AI-eszköz használatakor a felhasználóknak értékelnie kell a létrehozott válaszok pontosságát. Általában úgy teszik ezt, hogy mérlegelik, hogy a válasz értelmes-e, és hatékonyan foglalkozik-e a kérdésükkel. A Dzsinnnel egy válasz érkezik eredménytáblázatként. A felhasználók áttekinthetik az eredményhalmazt létrehozó generált SQL-t, de előfordulhat, hogy a nem technikai felhasználók nem rendelkeznek háttérrel az SQL-utasítás értelmezéséhez vagy a válasz helyességének értékeléséhez. A megbízható eszközök segítenek csökkenteni annak valószínűségét, hogy ezek a felhasználók félrevezető, helytelen vagy nehezen értelmezhető válaszokat találnak.

Amikor egy felhasználó megbízható objektumként címkézett választ kap, biztos lehet abban, hogy egy tartományi szakértő áttekintette az eredményeket feltöltő SQL-utasítást.

Mi a különbség a megbízható objektumok és a példa SQL-lekérdezések között?

A megbízható eszközök ellenőrzött választ adnak a genie-tér felhasználóitól elvárt kérdésekre. Ha egy megbízható objektum válaszolni tud egy felhasználó kérdésére, a megbízható eszközként tárolt utasítás lefut, és visszaadja a megadott eredményhalmazt. Az utasításokban szereplő összes SQL Functions megbízható objektumként lesz kezelve. A paramétereket tartalmazó SQL-lekérdezések például megbízható objektumokként is kezelhetők.

  • SQL Functions: Egyéni SQL-függvényeket írhat az adatok kezelésére és a vállalatspecifikus kérdések megválaszolására. A Genie nem veszi figyelembe a megbízható objektumok SQL-tartalmát a kérdések megválaszolásakor.
  • Példa SQL-lekérdezések (paraméterekkel):Ha egy paraméteres példa lekérdezés pontos szövegét használja a válasz létrehozásához, a válasz automatikusan megbízható objektumként lesz megjelölve. Ha nem használja a lekérdezés pontos szövegét, vagy a példa lekérdezés nem használ paramétereket, a lekérdezés kontextust biztosít, és útmutatást nyújt a Genie számára az SQL-utasítások létrehozásához más kérdések feldolgozásához.

Megbízható eszköz definiálása

A megbízható objektumok meghatározása egy valószínű kérdés azonosításával kezdődik. Tegyük fel például, hogy egy értékesítési folyamat adatkészletével dolgozik, és egy gyakori kérdés, amelyet egy értékesítési vezető feltehet: "Mik a nyitott értékesítési lehetőségek a folyamatban?"

Példa: UDF használata

Az alábbi lépések ismertetik a megbízható objektum UDF-ként való létrehozásának lépéseit, amelyek megválaszolják ezt a kérdést:

  1. Definiáljon és tesztelje a kérdést megválaszoló SQL-lekérdezést.

    Ez a lekérdezés két táblát illeszt össze, és a "Folyamat" előrejelzési kategóriában felsorolt nyitott lehetőségek adathalmazát adja vissza. Ebben a lépésben a cél egy alapszintű lekérdezés írása, amely a várt eredményeket adja vissza.

    SELECT
      o.id AS `OppId`,
      a.region__c AS `Region`,
      o.name AS `Opportunity Name`,
      o.forecastcategory AS `Forecast Category`,
      o.stagename,
      o.closedate AS `Close Date`,
      o.amount AS `Opp Amount`
    FROM
    users.user_name.opportunity o
    JOIN catalog.schema.accounts a ON o.accountid = a.id
    WHERE
    o.forecastcategory = 'Pipeline'
    AND o.stagename NOT LIKE '%closed%';
    
  2. Unity Catalog-függvény definiálása.

    A Unity Catalog függvénynek paramétereznie kell a lekérdezést, és olyan eredményeket kell létrehoznia, amelyek megfelelnek a felhasználó által elvárt feltételeknek. Tegyük fel, hogy az értékesítési vezető egy adott régióra vagy régiócsoportra összpontosítva szeretné szűkíteni az eredményhalmazt.

    Az alábbi példa egy Unity Catalog-függvényt határoz meg, amely paraméterként veszi fel a régiók listáját, és egy táblát ad vissza. A függvény visszatérése majdnem megegyezik az előző lépésben szereplő SQL-utasítással, de a WHERE záradékot úgy módosították, hogy régiónként szűrje az eredményeket, ha egy régiót adott meg. A függvénydefiníciókban megadott megjegyzések kritikus fontosságúak ahhoz, hogy a Genie-tér a függvény meghívásának mikor és hogyan legyen meghívva.

    • Paraméter megjegyzései: A open_opps_in_region függvény paraméterként sztringek tömbjére számít. A megjegyzés egy példát tartalmaz a várt bemenetre. Ha nem ad meg paramétert, az alapértelmezett érték a következő NULL. További információt a függvények írására vonatkozó tippekben talál az opcionális paraméterekkel és megjegyzésekkel kapcsolatban.
    • Függvény megjegyzései: Az SQL table függvény megjegyzése részletes magyarázatot ad a függvény működéséről. Ez kritikus fontosságú, mert tájékoztatja a Genie-t, hogy mikor használja a függvényt válaszként a felhasználói kérdésekre. A megjegyzésnek a függvény célját a lehető legpontosabb módon kell leírnia. Ez az információ végigvezeti Genie-t a függvény adott kérdésekre való relevanciájának felismerésében.
    
    CREATE
    OR REPLACE FUNCTION users.user_name.open_opps_in_region (
      regions ARRAY < STRING >
      COMMENT 'List of regions.  Example: ["APAC", "EMEA"]' DEFAULT NULL
    ) RETURNS TABLE
    COMMENT 'Addresses questions about the pipeline in the specified regions by returning
     a list of all the open opportunities. If no region is specified, returns all open opportunities.
     Example questions: "What is the pipeline for APAC and EMEA?", "Open opportunities in
     APAC"'
    RETURN
      SELECT
      o.id AS `OppId`,
      a.region__c AS `Region`,
      o.name AS `Opportunity Name`,
      o.forecastcategory AS `Forecast Category`,
      o.stagename,
      o.closedate AS `Close Date`,
      o.amount AS `Opp Amount`
      FROM
      catalog.schema.opportunity o
      JOIN catalog.schema.accounts a ON o.accountid = a.id
      WHERE
      o.forecastcategory = 'Pipeline'
      AND o.stagename NOT LIKE '%closed%'
      AND (
        isnull(open_opps_in_region.regions)
        OR array_contains(open_opps_in_region.regions, region__c)
      );
    

    Amikor egy függvény létrehozásához futtatja a kódot, az alapértelmezés szerint regisztrálva lesz az aktuálisan aktív sémában. Lásd a felhasználó által definiált függvényeket (UDF-eket) a Unity Catalogban. Szintaxist és példákat az SQL-táblafüggvény létrehozása című témakörben talál.

  3. Adjon hozzá egy megbízható objektumot.

    Miután a függvény létrejött a Unity Catalogban, a Genie-területen legalább SZERKESZTÉSi engedéllyel rendelkező felhasználó hozzáadhatja a Dzsinn terület Utasítások lapján.

Szükséges engedélyek

A Dzsinn-tárterületen legalább SZERKESZTÉSi engedéllyel rendelkező felhasználók megbízható objektumokat adhatnak hozzá vagy távolíthatnak el.

A genie szóköz felhasználóinak engedéllyel kell rendelkezniük CAN USE a függvényt tartalmazó katalógusban és sémában. Egy megbízható objektum meghívásához engedéllyel kell rendelkezniük EXECUTE a Unity Katalógusban található függvényhez. A Unity Catalog biztonságos objektumai a szülőtárolóktól öröklik az engedélyeket. Lásd: Biztonságos objektumok a Unity Katalógusban.

A Genie-térbeli megosztás egyszerűsítése érdekében a Databricks egy dedikált sémát javasol, amely tartalmazza a Genie-térben használni kívánt összes függvényt.

Tippek függvények írásához

Tekintse át az alábbi példákat, amelyekből megtudhatja, hogyan hozhat létre dinamikus függvényeket a megbízható objektumokhoz.

Alapértelmezett paraméterérték belefoglalása

Megadhatja egy paraméter alapértelmezett értékét. Használja a DEFAULT záradékot a függvény-aláírásban az alábbi példában látható módon:

countries ARRAY<STRING> COMMENT 'List of countries' DEFAULT ARRAY()

Példaparaméter-értékek belefoglalása

Az értékek megadott számbavételével rendelkező oszlopok esetében növelje a pontosságot a megjegyzésben egyértelműen megadott értékekkel. Az alábbi példa az értékek mintalistáját tartalmazza:

regions ARRAY < STRING > COMMENT 'List of regions. Values: ["AF","AN","AS", "EU", "NA", "OC", "SA", NULL]'

Választható paraméter létrehozása

Választható paraméter létrehozásához állítsa be az alapértelmezett paramétert NULL az alábbi példában látható módon:

min_date STRING DEFAULT NULL

Formázás megadása megjegyzésekkel

Egy paraméter pontos formátumát úgy adhatja meg, hogy megjegyzésbe foglalja, ahogyan az a következő példában látható:

min_date STRING COMMENT 'minimum date (included) for a transaction, in `yyyy-mm-dd` format'

Értékek explictly ellenőrzése NULL

Ha nem kötelező paramétert ad meg, az egyik lehetséges érték a következő NULL: . Mivel az NULL összehasonlítás kiszámíthatatlan eredményeket eredményezhet, kifejezetten érdemes ellenőrizni az NULL értékeket a függvényben. Az alábbi példa példaszintaxisokat tartalmaz:

WHERE (isnull(min_date) OR created_date >= min_date)