567-labs/instructor
structured outputs for llms
解決的問題
Instructor 簡化了從大型語言模型(LLMs)取得可靠結構化資料(例如 JSON)的過程。它消除了手動撰寫複雜 JSON 模式、處理驗證錯誤、解析非結構化回應,或在 LLM 未能遵循模式時實作自訂重試邏輯的需要。
工作原理
使用 Pydantic 模型定義期望的輸出結構。當向 LLM 發出請求時,Instructor 會處理模式產生與驗證。如果 LLM 的回應驗證失敗,Instructor 可自動重試請求,並將錯誤訊息回饋給模型以修正輸出。它提供一個統一的介面,支援 OpenAI、Anthropic、Google 以及透過 Ollama 的本地模型等多個提供者。
適用對象
需要從自然語言中提取特定資料,或確保 LLM 輸出嚴格遵循預定義的類型安全模式,以用於生產環境應用的開發者。
主要亮點
- Pydantic 整合:利用 Pydantic 實現類型安全、驗證與 IDE 支援。
- 多提供者支援:使用一致的 API 支援 OpenAI、Anthropic、Google、Groq 與 Ollama。
- 自動重試:使用驗證錯誤訊息自動重試失敗的提取作業。
- 串流傳輸:支援在生成過程中逐步傳回部分物件。
- 嵌套結構:自動處理複雜的嵌套資料物件。
相關
- 專案
- 專案
- 專案
- Dispatch
- 專案