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.
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:
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%';
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.
-
Paraméter megjegyzései: A
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)