Crie aplicativos genAI usando DSPy no Azure Databricks
Este artigo descreve o DSPy e fornece blocos de anotações de exemplo demonstrando como usar o DSPy no Azure Databricks para criar e otimizar agentes de IA generativos.
O que é DSPy?
DSPy é uma estrutura para definir e otimizar programaticamente agentes de IA generativos. O DSPy pode automatizar a engenharia imediata e orquestrar o ajuste fino do LLM para melhorar o desempenho.
O DSPy consiste em vários componentes que simplificam o desenvolvimento do agente e melhoram a qualidade do agente:
- Módulos: No DSPy, estes são componentes que lidam com transformações de texto específicas, como responder a perguntas ou resumir. Eles substituem as tradicionais instruções manuscritas e podem aprender com os exemplos, tornando-os mais adaptáveis.
- Signatures: Uma descrição em linguagem natural do comportamento de entrada e saída de um módulo. Por exemplo, "pergunta -> resposta" especifica que o módulo deve tomar uma pergunta como entrada e retornar uma resposta.
- Compiler: Esta é a ferramenta de otimização do DSPy. Isto melhora os pipelines de Modelos de Linguagem (LM) ajustando os módulos para atender a uma métrica de desempenho, seja gerando prompts melhores ou realizando ajuste fino dos modelos.
- Program (DSPy): Um conjunto de módulos conectados em um pipeline para executar tarefas complexas. Os programas DSPy são flexíveis, permitindo otimizá-los e adaptá-los usando o compilador.
Criar um programa de classificador de texto DSPy
O bloco de anotações a seguir mostra como criar um programa DSPy que executa a classificação de texto. Este exemplo demonstra como o DSPy funciona e os componentes que ele usa.
Criar um bloco de notas do programa DSPy do classificador de texto
Criar um programa DSPy para RAG
Estes blocos de anotações mostram como criar e otimizar um programa RAG básico usando DSPy. Esses blocos de anotações pressupõem que você está usando computação sem servidor e instalam pacotes no nível do bloco de anotações para garantir que sejam executados independentemente da versão do Databricks Runtime.
Parte 1: Preparar dados e índice de pesquisa vetorial para um bloco de anotações do programa RAG DSPy
Parte 2: Criar e otimizar um programa DSPy para notebook RAG
Migrar LangChain para DSPy
Esses notebooks mostram como migrar o código do modelo LangChain para DSPy e otimizá-lo para um melhor desempenho. Esses blocos de anotações pressupõem que você está usando computação sem servidor e instalam pacotes no nível do bloco de anotações para garantir que sejam executados independentemente da versão do Databricks Runtime.