Apabila bekerja dengan Model Bahasa (LLM), pembangun menghadapi satu set cabaran biasa. Kami menghabiskan berjam-jam untuk mencipta gesaan yang sempurna, hanya untuk mendapati bahawa penyelesaian kami yang direka bentuk dengan teliti pecah apabila kami menukar model atau apabila input berubah sedikit. Pendekatan tradisional kejuruteraan segera adalah manual, memakan masa dan selalunya tidak dapat diramalkan.
DSPy (Declarative Self-improving Python) muncul sebagai jawapan Stanford NLP kepada cabaran ini. Seperti yang diterangkan di tapak web mereka (dspy.ai), ia adalah "rangka kerja sumber terbuka untuk pengaturcaraan - bukannya menggesa - model bahasa." Ia membolehkan lelaran pantas untuk membina sistem AI modular dan menyediakan algoritma untuk mengoptimumkan gesaan dan pemberat, sama ada anda membina pengelas mudah, saluran paip RAG yang canggih atau gelung Agen.
Mula-mula, pasang rangka kerja:
pip install -U dspy import dspy lm = dspy.LM('openai/gpt-4-mini', api_key='YOUR_OPENAI_API_KEY') dspy.configure(lm=lm)
Tandatangan adalah asas pendekatan deklaratif DSPy. Mereka mentakrifkan peranan semantik untuk input dan output dalam format mudah:
# 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 menyediakan beberapa modul utama untuk kes penggunaan yang berbeza:
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 menyokong pelbagai kes penggunaan lanjutan:
Sifat meningkatkan diri rangka kerja bermakna aplikasi anda boleh mengoptimumkan prestasinya dari semasa ke semasa, belajar daripada interaksi dan hasil.
Anda boleh mendapatkan contoh lengkap dan meneroka lebih banyak kes penggunaan dalam dokumentasi DSPy dan repositori komuniti di https://github.com/gabrielvanderlei/DSPy-examples.
DSPy mewakili anjakan paradigma daripada kejuruteraan segera tradisional kepada pengaturcaraan deklaratif dengan model bahasa. Ia membawa struktur, kebolehpercayaan dan kebolehramalan kepada pembangunan LLM, menjadikannya lebih mudah untuk membina dan menyelenggara aplikasi berkuasa AI.
Atas ialah kandungan terperinci DSPy: Pendekatan Baru kepada Pengaturcaraan Model Bahasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!