Delen via


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

Get notebook

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

Get notitieboekje

Deel 2: Maak en optimize een DSPy-programma voor RAG-notebook

Get 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.

LangChain-modelcode migreren naar DSPy-notebook

Get notebook

Optimize uw gemigreerde DSPy-modelnotebook

Get notebook