Noțiuni de bază despre conectorul OpenAI în Qlik™ Application Automation

Conectorul OpenAI în Qlik™ Application Automation

Acest articol oferă o prezentare generală despre cum să utilizați conectorul OpenAI în Qlik™ Application Automation.

Conectorul OpenAI oferă dezvoltatorilor o gamă de capacități puternice de procesare a limbajului natural. Acesta permite sarcini precum generarea de text, traducerea între limbi, analiza sentimentelor, rezumarea conținutului și crearea de sisteme de răspuns la întrebări. Aceste caracteristici vă permit să aduceți o valoare suplimentară automatizărilor dvs. existente.

Conținut:

  • Autentificare
  • Lucrul cu blocurile OpenAI
  • Cazuri de utilizare
  • Sfaturi și limitări
  • O analiză mai în detaliu în crearea blocului de finalizare

Autentificare

Creați o nouă automatizare și căutați conectorul OpenAI în biblioteca de blocuri din partea stângă. Trageți un bloc în interiorul canvas-ului editorului de automatizări și asigurați-vă că selectați blocul pentru a afișa meniul de configurare a blocului din partea dreaptă a editorului. Deschideți fila Connect (Conectare) din meniul de configurare și furnizați cheia API OpenAI. Vizitați pagina API Keys pentru a prelua cheia API pe care o veți utiliza în cererile dvs.

Lucrul cu blocurile OpenAI

După ce a fost creată conexiunea cu contul OpenAI, puteți începe să construiți o automatizare care utilizează conectorul.

Blocurile disponibile sunt:

  • List Models (Lista modelelor): Acest bloc returnează o listă a modelelor disponibile, inclusiv denumirile, descrierile și capacitățile acestora.
  • Retrieve Model (Recuperare model): Acest bloc returnează informații detaliate despre un anumit model, inclusiv parametrii săi, datele de instruire și indicatorii de performanță.
  • Create Completion (Creare finalizare): Acest bloc generează text folosind un model. Corpul cererii include promptul, parametrii. Corpul răspunsului include textul generat. Mai multe informații despre fiecare parametru din acest bloc pot fi găsite la sfârșitul acestui articol.
  • Raw API Request (Cerere API brută): Acest bloc vă permite să efectuați o cerere generică către API OpenAI și vă permite să configurați metoda HTTP și parametrii de interogare sau de corp.
  • Raw API List Request (Cerere de listă API brută): Acest bloc vă permite să efectuați o cerere GET generică către OpenAI API și returnează rezultatele sub forma unei liste peste care puteți face o buclă.

Pentru mai multe detalii despre API, vă rugăm să consultați următorul link.

Cazuri de utilizare

Analiza sentimentelor și sugestii de răspuns pentru incidentele din ServiceNow.

Acest caz de utilizare se bazează pe șablonul existent „Analiza sentimentelor a biletelor de asistență cu Expert.ai„. În acest model, Expert.ai este utilizat pentru a prezice sentimentul noilor bilete de asistență din ServiceNow. În cazul în care sentimentul este considerat prea negativ, automatizarea va trimite o alertă către un canal Microsoft Teams pentru a informa echipa de asistență cu privire la incident. Pentru comoditate, vom omite partea de scriere în MySQL și reîncărcare a aplicației din șablonul original.

Dacă doriți, puteți utiliza OpenAI pentru a prezice sentimentul în loc de Expert.ai. Dar nu uitați că acest lucru ar putea oferi un rezultat mai puțin precis, din cauza Expert.ai.

     1. Mergeți la utilizatorul dvs. Qlik Sense™ și creați o nouă automatizare.

     2. Căutați conectorul ServiceNow și glisați blocul List New and Updated Incrementally (Lista de incidente noi și actualizate) în automatizare. Când acest bloc este executat pentru prima dată, va prelua toate înregistrările de incidente din ServiceNow. De asemenea, va seta un pointer cu DataTimp a ultimei sale execuții. La următoarele execuții, blocul va prelua numai incidentele care au fost create sau actualizate după data pointerului și va actualiza pointerul. Accesați fila Connection (Conexiune) a blocului și conectați-vă contul ServiceNow.

     3. Căutați conectorul Expert.ai și trageți blocul Run Analysis Task în interiorul buclei. Mergeți la fila Connection (Conexiune) a blocului și conectați-vă contul Expert.ai. Apoi mergeți la fila Inputs (Intrări) pentru a configura în continuare blocul. Setați Analyze Type (Tip de analiză) la „Sentiment analysis” (Analiză a sentimentelor) și setați limba la „en” pentru limba engleză. Nu ezitați să configurați acest lucru în altă limbă în funcție de portalul dvs. de asistență. În cele din urmă, configurați parametrul Document Text (Text document) la tasta Description (Descriere) a elementului curent din bucla din blocul List New and Updated Incidents Incrementally (Lista de incidente noi și actualizate în mod incremental).

     4. Dorim să facem o distincție între sentimentul pozitiv și cel negativ. Adăugați un bloc Condition (Condiție) la automatizare și configurați sentimentul general (returnat de Expert.ai) ca prim argument și comparați-l cu un prag ales de dvs.; în acest exemplu, folosim -10 ca prag inferior pentru sentimentul „foarte” negativ. Notă: pragul trebuie să fie un număr între -100 (negativ) și 100 (pozitiv).

     5. Adăugați blocul Create Completion (Creare finalizare) din conectorul OpenAI ca prim bloc în partea Yes (Da) a blocului Condition (Condiție). Configurați intrările după cum urmează:

    1. Model: text-davinci-003
    2. Prompt: Scrieți un posibil răspuns pe care l-ar putea scrie un inginer de asistență pentru cazul de asistență de mai jos.

Adăugați apoi o pauză de linie și corelați descrierea din incidentul ServiceNow.

     6. Căutați blocul Update Incident (Actualizare incident) în conectorul ServiceNow, care va scrie înapoi sentimentul incidentului în ServiceNow. 7. Adăugați-l la automatizare de două ori (un bloc pentru fiecare rezultat al blocului Condition). În loc să scrieți imediat răspunsul sugerat ca răspuns către clientul care a înregistrat incidentul, adăugați-l ca „notă de lucru” internă la incident. Pentru acest exemplu, am adăugat 2 câmpuri personalizate la obiectul Incident în ServiceNow, unul pentru a stoca sentimentul general și unul boolean (Da/Nu) care indică dacă incidentul are un sentiment mai mic decât pragul nostru

Mai multe informații despre câmpurile personalizate în ServiceNow pot fi găsite aici.

     7. În etapa următoare, ați putea include o funcționalitate de alertă pentru a informa echipa de asistență cu privire la biletul cu un sentiment negativ sub un anumit prag. În acest exemplu, vom trimite o alertă către un canal din Microsoft Teams. Căutați conectorul Microsoft Teams și adăugați blocul Send Message (Trimitere mesaj) în partea „Da” a blocului de condiții. Sfat, utilizați formula de tăiere la stânga pe ieșirea din blocul Creare finalizare pentru a elimina orice întrerupere de linie de început „\n”.

     8. Rezultat in Microsoft Teams:

Sfaturi și limitări

Mai jos sunt câteva sfaturi și limitări de care trebuie să țineți cont atunci când lucrați cu conectorul OpenAI în automatizări.

     1. În cazul în care cota de utilizare este depășită cu contul gratis OpenAI, se va afișa următorul mesaj de eroare. Actualizarea la un cont OpenAI plătit va rezolva problema.

     2. Pentru o prezentare generală a limitărilor de viteză din API OpenAI, vă rugăm să consultați această documentație.

     3. Blocul Raw API Request: Acest conector nu acceptă API OpenAI cu tipul de conținut Multipart/ form-data. Următoarele API nu sunt acceptate în blocul Raw API Request:

    1. Încărcare fișier.
    2. Creare editare imagine.
    3. Creare variație imagine.
    4. Creare transcriere.
    5. Creare traducere.

     4. No paging for list blocks (Nu există paginare pentru blocurile de liste): Deoarece API OpenAI nu are suport pentru paginare, toate înregistrările pe care le recuperează un bloc de listă în automatizare sunt returnate de OpenAI. Blocurile List Models (Modele de liste) și Raw API List Request (Solicitare listă API brută) sunt exemple de blocuri de liste.

O analiză mai în detaliu în crearea blocului de finalizare

Crearea blocului de finalizare: Parametrul model, singurul parametru necesar în acest bloc, ne permite să producem un răspuns aleatoriu. O condiție prealabilă minimă pentru un răspuns mai perspicace este un parametru de intrare model, prompter și nr. maxim de jetoane. Alte variabile de intrare pot fi utilizate pentru a restrânge răspunsul.

     1. Model: Acesta este singurul parametru obligatoriu din acest bloc care specifică ce model trebuie utilizat pentru generarea completărilor. Puteți utiliza lista modelelor API pentru a vedea toate modelele disponibile sau puteți consulta prezentarea generală a modelelor a modelelor OpenAI pentru descrierea acestora.

Exemplu de valoare:

text-davinci-003

     2. Prompter: Solicitările pentru care se generează completări, codificate ca șir de caractere, matrice de șiruri de caractere, matrice de simboluri sau matrice de matrice de simboluri. Simbolul <|endoftext|> poate fi utilizat într-un prompt pentru a indica sfârșitul primei secțiuni a promptului, care este introducerea. A doua secțiune a îndemnului ar fi apoi corpul poemului.

Prompter

Finalizare

     3. Nr. maxim de jetoane: Precizează numărul maxim de jetoane din răspunsul de completare generat. Mai multe informații despre modul în care OpenAI calculează numărul de jetoane pot fi găsite aici: Tokenizer.

Exemplu:

50

Următorii parametri sunt opționali în cele mai multe cazuri de utilizare, dar pot fi utilizați pentru a regla cu precizie răspunsul:

     1. Temperatură: Controlează caracterul aleatoriu al ieșirii. Valorile mai mari (de exemplu, 0,8) fac ca ieșirea să fie mai aleatorie, în timp ce valorile mai mici (de exemplu, 0,2) o fac mai concentrată și mai deterministă.

Exemplu:

0.6

     2. Top p: Controlează diversitatea rezultatului generat prin stabilirea unui prag de probabilitate. top_p (sau nucleus) selectează cele mai probabile simboluri până când probabilitatea cumulată depășește pragul.

Exemplu:

0.8

     3. Numărul de finalizări: Specifică numărul de completări care trebuie generate.

Exemplu:

3

     4. Probabilități jurnal: Specifică dacă se includ sau nu probabilitățile de jurnal pentru fiecare simbol în răspuns.

Exemplu:

2

     5. Sancțiunea de prezență: Reglează probabilitatea modelului de a genera fraze repetitive. Valorile mai mari (de exemplu, 0,8) fac ca rezultatul să fie mai concentrat și mai determinist, în timp ce valorile mai mici (de exemplu, 0,2) îl fac mai creativ.

Exemplu:

0.6

     6. Sancțiunea de prezență: Reglează probabilitatea modelului de a genera fraze repetitive. Valorile mai mari (de exemplu, 0,8) fac ca rezultatul să fie mai concentrat și mai determinist, în timp ce valorile mai mici (de exemplu, 0,2) îl fac mai creativ.

Exemplu:

0.4

     7. Cea mai bună: Specifică numărul de completări care trebuie generate și returnate. API o va selecta aleatoriu pe cea mai bună dintre ele.

Exemplu:

5

     8. Logit Bias: Parametrul `logit bias` din API OpenAI vă permite să acordați prioritate anumitor token-uri în detrimentul altora atunci când generați text. De exemplu, prin atribuirea unei prejudecăți mai mari pentru „pisică” (de exemplu, 3.0) și a unor prejudecăți mai mici pentru alte simboluri precum „câine” (de exemplu, 1.5) și „pasăre” (de exemplu, -2.0), puteți influența modelul să genereze mai mult conținut legat de pisici.

Exemplu:

{
„cat”: 3.0,
„dog”: 1.5,
„bird”: -2.0
}
 

     9. Utilizator: Specifică un ID de utilizator opțional sau un șir de caractere care poate fi utilizat pentru a personaliza comportamentul modelului pe baza utilizatorului.

Exemplu:

12345

Pentru informații despre Qlik™, vă rugăm să vizitați pagina: qlik.com.

Pentru soluții specifice și specializate de la QQinfo, vă rugăm accesați pagina: QQsolutions.

Pentru a fi în contact cu ultimele noutăți în domeniu, soluții inedite explicate, dar și cu perspectivele noastre personale în ceea ce privește lumea managementului, a datelor și a analiticelor, vă recomandăm QQblog-ul !