在使用語言模型 (LLM) 時,開發人員面臨一系列常見的挑戰。我們花了無數的時間來製作完美的提示,卻發現當我們切換模型或輸入略有變化時,我們精心設計的解決方案就會崩潰。傳統的即時工程方法是手動的、耗時的,而且通常是不可預測的。
DSPy(聲明式自我改進 Python)的出現是史丹佛 NLP 對這些挑戰的回答。正如他們的網站 (dspy.ai) 所描述的,它是「用於程式設計(而不是提示)語言模型的開源框架」。它支援建立模組化 AI 系統的快速迭代,並提供用於優化提示和權重的演算法,無論您是建立簡單的分類器、複雜的 RAG 管道還是代理循環。
首先,安裝框架:
pip install -U dspy import dspy lm = dspy.LM('openai/gpt-4-mini', api_key='YOUR_OPENAI_API_KEY') dspy.configure(lm=lm)
簽章是 DSPy 聲明式方法的基礎。他們以簡單的格式定義輸入和輸出的語意角色:
# 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 為不同的用例提供了幾個關鍵模組:
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 支援各種進階用例:
框架的自我改進特性意味著您的應用程式可以隨著時間的推移優化其效能,從互動和結果中學習。
您可以在 DSPy 文件和社群儲存庫中找到完整的範例並探索更多用例,網址為 https://github.com/gabrielvanderlei/DSPy-examples。
DSPy 代表了從傳統的即時工程到使用語言模型的聲明式程式設計的典範轉移。它為法學碩士開發帶來了結構、可靠性和可預測性,使建立和維護人工智慧驅動的應用程式變得更加容易。
以上是DSPy:語言模型程式設計的新方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!