Creación de aplicaciones de IA generativas mediante DSPy en Azure Databricks

En este artículo se describe DSPy y se proporcionan cuadernos de ejemplo que muestran cómo usar DSPy en Azure Databricks para crear y optimizar agentes de IA generativos.

¿Qué es DSPy?

DSPy es un marco para definir y optimizar mediante programación agentes de IA generativos. DSPy puede automatizar la ingeniería de prompts y orquestar el ajuste fino de LLM para mejorar el rendimiento.

DSPy consta de varios componentes que simplifican el desarrollo del agente y mejoran la calidad del agente:

  • Módulos: en DSPy, estos son componentes que controlan transformaciones de texto específicas, como responder preguntas o resumir. Reemplazan los mensajes escritos a mano tradicionales y pueden aprender de ejemplos, por lo que son más adaptables.
  • Firmas: una descripción en lenguaje natural del comportamiento de entrada y salida de un módulo. Por ejemplo, "pregunta -> respuesta" especifica que el módulo debe tomar una pregunta como entrada y devolver una respuesta.
  • Compilador: esta es la herramienta de optimización de DSPy. Mejora las canalizaciones de LM ajustando los módulos para cumplir una métrica de rendimiento, ya sea generando prompts mejores o ajustando modelos con precisión.
  • Programa (DSPy): un conjunto de módulos conectados a una canalización para realizar tareas complejas. Los programas DSPy son flexibles, lo que permite optimizarlos y adaptarlos mediante el compilador.

Creación de un programa DSPy clasificador de texto

En el cuaderno siguiente se muestra cómo crear un programa DSPy que realiza la clasificación de texto. En este ejemplo se muestra cómo funciona DSPy y los componentes que usa.

Crear un notebook de programa DSPy para clasificador de texto

Obtención del cuaderno

Uso de un índice de búsqueda de IA con un programa DSPy para RAG

En el cuaderno siguiente se muestra cómo crear un índice de búsqueda de IA y usarlo con un programa DSPy que realiza RAG.

Crear un notebook de programa DSPy para clasificador de texto

Obtención del cuaderno

Sistema multiagente con Genie y DSPy

En el cuaderno siguiente se muestra cómo crear un sistema multiagente que organice estos tipos de agentes:

  • Agentes de Genie
  • Agentes desplegados en Model Serving
  • Agentes de llamada a funciones de UC creados con DSPy.

Multiagente con Genie y DSPy

Obtención del cuaderno

Creación de un programa DSPy para RAG

Estos cuadernos muestran cómo crear y optimizar un programa RAG básico mediante DSPy. Estos cuadernos suponen que usa computación sin servidor e instalan paquetes a nivel de cuaderno para asegurarse de que se ejecutan independientemente de la versión de Databricks Runtime.

Parte 1: Preparación del índice de búsqueda de datos e inteligencia artificial para un cuaderno del programa RAG DSPy

Obtención del cuaderno

Parte 2: Creación y optimización de un programa DSPy para el cuaderno RAG

Obtención del cuaderno

Migración de LangChain a DSPy

Estos cuadernos muestran cómo migrar el código del modelo LangChain a DSPy y optimizarlo para mejorar el rendimiento. Estos cuadernos suponen que usa computación sin servidor e instalan paquetes a nivel de cuaderno para asegurarse de que se ejecutan independientemente de la versión de Databricks Runtime.

Migración del código del modelo LangChain al cuaderno DSPy

Obtención del cuaderno

Optimizar el notebook del modelo DSPy migrado

Obtención del cuaderno