Lorsqu'ils travaillent avec des modèles de langage (LLM), les développeurs sont confrontés à un ensemble de défis communs. Nous passons d'innombrables heures à créer des invites parfaites, pour constater que nos solutions soigneusement conçues se cassent lorsque nous changeons de modèle ou lorsque l'entrée change légèrement. L'approche traditionnelle de l'ingénierie rapide est manuelle, prend du temps et est souvent imprévisible.
DSpy (Declarative Self-improving Python) apparaît comme la réponse de Stanford NLP à ces défis. Comme décrit sur leur site Web (dspy.ai), il s'agit de « le cadre open source pour programmer - plutôt que d'inviter - des modèles de langage ». Il permet une itération rapide sur la création de systèmes d'IA modulaires et fournit des algorithmes pour optimiser les invites et les pondérations, que vous créiez des classificateurs simples, des pipelines RAG sophistiqués ou des boucles d'agents.
Tout d'abord, installez le framework :
pip install -U dspy import dspy lm = dspy.LM('openai/gpt-4-mini', api_key='YOUR_OPENAI_API_KEY') dspy.configure(lm=lm)
Les signatures sont le fondement de l'approche déclarative de DSPy. Ils définissent les rôles sémantiques des entrées et des sorties dans un format simple :
# Simple question answering "question -> answer" # Retrieval-based QA "context: list[str], question: str -> answer: str" # Multiple-choice with reasoning "question, choices: list[str] -> reasoning: str, selection: int"
DSpy fournit plusieurs modules clés pour différents cas d'utilisation :
math = dspy.ChainOfThought("question -> answer: float") math(question="Two dice are tossed. What is the probability that the sum equals two?")
def search_wikipedia(query: str) -> list[str]: results = dspy.ColBERTv2(url='http://20.102.90.50:2017/wiki17_abstracts')(query, k=3) return [x['text'] for x in results] rag = dspy.ChainOfThought('context, question -> response')
DSpy prend en charge divers cas d'utilisation avancés :
La nature auto-améliorable du framework signifie que vos applications peuvent optimiser leurs performances au fil du temps, en apprenant des interactions et des résultats.
Vous pouvez trouver des exemples complets et explorer d'autres cas d'utilisation dans la documentation DSPy et le référentiel communautaire sur https://github.com/gabrielvanderlei/DSPy-examples.
DSpy représente un changement de paradigme de l'ingénierie d'invite traditionnelle à la programmation déclarative avec des modèles de langage. Il apporte structure, fiabilité et prévisibilité au développement LLM, facilitant ainsi la création et la maintenance d'applications basées sur l'IA.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!