Esplorare l’intelligenza artificiale: idee di progetti di deep learning
L’intelligenza artificiale sta riscuotendo un enorme interesse nell’ultimo periodo. L’applicazione di modelli di deep learning e IA a scenari reali ha aperto nuovi orizzonti. Per generare dei modelli per le nostre applicazioni abbiamo però bisogno di dati su cui addestrare questi modelli. Esploriamo alcune idee che ci potrebbero permettere di creare nuove applicazioni e servizi.
ElasticSearch: capire come e quando utilizzarlo
I motori di ricerca testuali sono una funzionalità che assume un ruolo rilevante nella costruzione delle applicazioni. La user experience migliora notevolmente se i risultati richiesti sono realmente inerenti alle parole inserite nella barra di ricerca. Elasticsearch ci permette di integrare un sistema di ricerca full-text e ottenere ottimi risultati in modo efficiente. Scopriamo come e quando è possibile sfruttare queste sue caratteristiche.
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à.