Creare app genAI con DSPy in Azure Databricks
Questo articolo descrive DSPy e fornisce notebook di esempio che illustrano come utilizzare DSPy in Azure Databricks per sviluppare e optimize agenti di intelligenza artificiale generativi.
Che cos'è DSPy?
DSPy è un framework per la definizione e l'ottimizzazione a livello di codice degli agenti di intelligenza artificiale generativi. DSPy può automatizzare la progettazione dei prompt e orchestrare l'ottimizzazione LLM per migliorare le prestazioni.
DSPy è costituito da diversi componenti che semplificano lo sviluppo dell'agente e migliorano la qualità dell'agente:
- Moduli: in DSPy, si tratta di componenti che gestiscono trasformazioni di testo specifiche, ad esempio rispondere a domande o riepilogare. Sostituiscono le richieste tradizionali scritte a mano e possono imparare da esempi, rendendoli più adattabili.
- Signature: descrizione in linguaggio naturale del comportamento di input e di output di un modulo. Ad esempio, "domanda -> risposta" specifica che il modulo deve accettare una domanda come input e restituire una risposta.
- compilatore: si tratta dello strumento di ottimizzazione di DSPy. Migliora le pipeline LM regolando i moduli in modo da soddisfare una metrica delle prestazioni, generando richieste migliori o ottimizzando i modelli.
- Program (DSPy): un set di moduli connessi a una pipeline per eseguire attività complesse. I programmi DSPy sono flessibili, consentendo di optimize e adattarli usando il compilatore.
Creare un programma DSPy classificatore di testo
Il notebook seguente illustra come creare un programma DSPy che esegue la classificazione del testo. Questo esempio illustra il funzionamento di DSPy e i componenti usati.
Creare un notebook DSPy per la classificazione del testo
Creare un programma DSPy per RAG
Questi notebook illustrano come creare e optimize un programma RAG di base usando DSPy. Questi notebook presuppongono l'uso di calcolo serverless e installano pacchetti a livello di notebook per assicurarsi che vengano eseguiti in modo indipendente dalla versione di Databricks Runtime.
Parte 1: Preparare l'indice di ricerca di dati e vettori per un notebook del programma RAG DSPy
Parte 2: Creare e optimize un programma DSPy per notebook RAG
Eseguire la migrazione di LangChain a DSPy
Questi notebook illustrano come eseguire la migrazione del codice del modello LangChain a DSPy e optimize per ottenere prestazioni migliori. Questi notebook presuppongono l'uso di calcolo serverless e installano pacchetti a livello di notebook per assicurarsi che vengano eseguiti in modo indipendente dalla versione di Databricks Runtime.