GenAI-apps bouwen met behulp van DSPy in Azure Databricks
In dit artikel wordt DSPy beschreven en worden voorbeeldnotebooks beschreven waarin wordt gedemonstreerd hoe u DSPy in Azure Databricks kunt gebruiken voor het bouwen en optimize van generatieve AI-agents.
Wat is DSPy?
DSPy is een framework voor het programmatisch definiëren en optimaliseren van generatieve AI-agents. DSPy kan prompt engineering automatiseren en LLM fine-tuning organiseren om de prestaties te verbeteren.
DSPy bestaat uit verschillende onderdelen die de ontwikkeling van agents vereenvoudigen en de kwaliteit van de agent verbeteren:
- Modules: in DSPy zijn dit onderdelen die specifieke teksttransformaties verwerken, zoals vragen beantwoorden of samenvatten. Ze vervangen traditionele handgeschreven prompts en kunnen leren van voorbeelden, waardoor ze beter kunnen worden aangepast.
- Handtekeningen: een beschrijving van de invoer- en uitvoergedrag van een module in natuurlijke taal. Bijvoorbeeld: 'vraag -> antwoord' geeft aan dat de module een vraag als invoer moet nemen en een antwoord moet retourneren.
- Compiler: dit is het optimalisatieprogramma van DSPy. Het verbetert LM-pijplijnen door modules aan te passen aan een prestatiemetriek, hetzij door betere prompts te genereren of modellen te verfijnen.
- Programma (DSPy): een reeks van set modules die zijn verbonden tot een pijplijn om complexe taken uit te voeren. DSPy-programma's zijn flexibel, zodat u deze kunt optimize en aanpassen met behulp van de compiler.
Een DSPy-programma voor tekstclassificatie maken
In het volgende notebook ziet u hoe u een DSPy-programma maakt waarmee tekstclassificatie wordt uitgevoerd. In dit voorbeeld ziet u hoe DSPy werkt en welke onderdelen worden gebruikt.
Een DSPy-programmanotebook voor tekstclassificatie maken
Een DSPy-programma maken voor RAG
Deze notebooks laten zien hoe u een eenvoudig RAG-programma maakt en optimize met behulp van DSPy. Bij deze notebooks wordt ervan uitgegaan dat u serverloze berekeningen gebruikt en dat pakketten op notebookniveau worden geïnstalleerd om ervoor te zorgen dat ze onafhankelijk van de Databricks Runtime-versie worden uitgevoerd.
Deel 1: Gegevens en vectorzoekindex voorbereiden voor een RAG DSPy-programmanotitieblok
Deel 2: Maak en optimize een DSPy-programma voor RAG-notebook
LangChain migreren naar DSPy
Deze notebooks laten zien hoe u LangChain-modelcode migreert naar DSPy en optimize voor betere prestaties. Bij deze notebooks wordt ervan uitgegaan dat u serverloze berekeningen gebruikt en dat pakketten op notebookniveau worden geïnstalleerd om ervoor te zorgen dat ze onafhankelijk van de Databricks Runtime-versie worden uitgevoerd.