Prompt engineering: tecniche di prompting [parte 2]

Le tecniche proposte dall’ingegneria dei prompt permettono di svolgere compiti anche molto complessi. Alcune di esse, come zero-shoot, few shoot e Chain-of-Thought (CoT), riescono a fornire risultati ottimi in alcuni contesti. Laddove però i modelli hanno delle limitazioni si può ovviare con tecniche ancora più avanzate come Self-Consistency, Generated Knowledge e Tree of Thoughts.

Prompt engineering: tecniche di prompting [parte 1]

L’ingegneria dei prompt permette di ottimizzare i risultati ottenuti agendo solamente su ciò che viene fornito ai LLM. Negli ultimi anni si sono proposte diverse tecniche per strutturare in modo opportuno i prompt per risolvere task anche complessi senza dover riaddestrare il modello iniziale. Vedremo alcune tecniche semplici come zero-shoot, few shoot e Chain-of-Thought (CoT).

LLM: Esempi di Prompt

La creazione dei prompt per i modelli LLM, come ChatGPT, può considerasi una nuova arte. Dalla strutturazione delle domande all’utilizzo del contesto, è possibile migliorare l’esperienza di conversazione ed estrarre il massimo valore dalle interazioni con gli LLM. Mediante esempi pratici vedremo come strutturare al meglio i prompt per generare conversazioni coinvolgenti e significative con l’AI in base al compito prefissato.

Ingegneria dei prompt

L’avvento di ChatGPT e dei modelli LLM (Large Language Models) ha rivoluzionato il mondo. Quasi tutti i settori hanno subito una rivoluzione e stanno adottando questi potenti mezzi dell’intelligenza artificiale per costruire nuovi strumenti e servizi. Ma come si costruiscono i prompt, ossia le istruzioni, per far generare a questi modelli ciò che ci interessa? L’ingegneria dei prompt è la disciplina che si occupa proprio di questo aspetto. Scopriamo alcuni suggerimenti per migliorare le nostre richieste ai tool di intelligenza artificiale.

SQL: trigger in Oracle

Le basi dati possono svolgere un ruolo attivo nella validazione e implementazione delle regole aziendali. Mediante i trigger è possibile, infatti. definire le regole per garantire l’integrità dei dati e l’automazione di operazioni critiche. Analizzeremo la loro definizione e i differenti tipi di attivazione, focalizzando la nostra attenazione su ciò che viene fornito in Oracle. Mediante alcuni esempi pratici, capiremo come validare i dati e implementare delle regole di business senza dover demandare questi aspetti alle applicazioni.

SQL: CTE ricorsive

In alcuni scenari si ha la necessità di salvare all’interno del database delle gerarchie come l’organigramma aziendale o le categorie dei prodotti di un e-commerce. Nonostante i database relazionali permettano di modellare opportunamente le gerarchie, la loro interrogazione può risultare difficile ed onerosa. Per rispondere a queste esigenze sono state introdotte le CTE ricorsive. Studieremo la loro sintassi e la loro applicazione mediante un esempio, non prima di aver valutato anche altre alternative tecnologiche come i database NoSQL.

SQL: correlazione

Nel linguaggio SQL è possibile condizionare l’esecuzione di una query in base ai valori delle tuple che si stanno analizzando. Questo comportamento si definisce mediante la correlazione, ossia condizioni nella clausola WHERE di una query nidificata che si riferiscono ad attributi delle tabelle della query esterna. Mediante alcuni esempi scopriremo quali operatori usano questo costrutto, come definire opportunamente le correlazioni e la sue alternative.

SQL: CTE

Esprimere in linguaggio SQL query complesse può risultare veramente difficile. Dividere il problema in mini interrogazioni è la strategia migliore per ottenere velocemente i risultati sperati senza incorrere in errori. Le Common Table Expression, chiamate anche CTE, permettono di definire una sola volta le query di nostro interesse da riutilizzare più volte quando è necessario. La loro sintassi pulita aumenta la leggibilità degli script SQL, permette di debuggare il codice scritto e di creare logiche molto complesse per filtrare ed estrarre i dati. Mediante alcuni esempi scopriremo le loro potenzialità.

SQL: tabelle derivate

In alcuni contesti è necessario calcolare dei risultati intermedi su cui poi effettuare ulteriori operazioni, quali filtraggio, raggruppamento e calcolo misure aggregate. Il linguaggio SQL ci permette di far ciò mediante la definizione delle tabelle derivate, ossia istruzioni SELECT definite all’interno della clausola FROM. Mediante alcuni esempi scopriremo come usarle in modo opportuno.

SELECT: operatori insiemistici

Talvolta si ha la necessità si operare sui risultati di diverse query come se fossero degli insiemi. Non dobbiamo usare un linguaggio di programmazione per fare queste operazioni sui dati, ma possiamo usare dei costrutti del linguaggio SQL. Gli operatori a disposizione ci permettono sia di unire che escludere i risultati due insiemi, oltre a definire l’intersezione. Con alcuni esempi capiremo come usare questi costrutti in modo appropriato.

Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!