Feyn AI釋出SQRL:一個在編寫查詢前先檢查資料庫的文本到SQL模型系列
Feyn Labs釋出了SQRL,這是一系列文本到SQL模型,能在生成查詢前透過只讀探針檢查資料庫。旗艦型號SQRL-35B-A3B在BIRD Dev上達到70.6%的執行準確率,略超Claude Opus 4.6,並可蒸餾為可自託管的4B和9B檢查點。
Feyn AI(YC支援的初創公司)釋出了SQRL,這是一個新型文本到SQL模型系列,其核心創新在於將自然語言問題轉化為SQL之前先檢查資料庫。與大多數將任務視為翻譯的系統不同,SQRL透過只讀探針來解決歧義,確保生成的查詢與資料實際支援的內容一致。
旗艦型號SQRL-35B-A3B在BIRD Dev基準測試中達到了70.6%的執行準確率,對比之下,Claude Opus 4.6為68.77%。同時,團隊釋出了三個可在Hugging Face上獲取的檢查點:SQRL-4B、SQRL-9B和SQRL-35B-A3B。
為什麼先檢查資料庫至關重要
文本到SQL常被描述為翻譯問題,但這一視角忽略了最困難的環節。一個查詢可以是完全有效的SQL,卻返回錯誤結果——可能因為連線了錯誤的表、誤解了模糊列的含義,或過濾了不存在的值。這些錯誤不會丟擲異常,因此僅透過執行無法捕獲。
模式資訊也無濟於事。模式列出了表、列、型別以及有時包括的關係,但它無法揭示縣名是儲存為“Alameda”、“Alameda County”還是“ALAMEDA”,也無法告訴你哪種連線會產生重複行。
BIRD基準測試量化了這些失敗。其資料庫涵蓋真實領域,包含不完美的值、模糊列和複雜關係。系統透過執行SQL並將返回行與參考結果比較來評分。對於查詢語言來說,語法正確遠遠不夠。Feyn的核心洞察是:缺失的資訊已經存在於資料庫中,模型只需要被允許去詢問。
SQRL的工作原理
SQRL接收問題、模式以及關於資料庫的可選證據。如果上下文足夠,它會立即返回查詢。如果存在歧義,它會執行只讀查詢,利用返回的行來起草最終答案。檢查決策視情況而定:統計單錶行數無需查詢,因此SQRL直接回答。
互動使用兩種不同的動作:inspect塊請求資料庫觀察,answer塊提交最終查詢。執行框架以只讀模式執行探索查詢,並在observation標籤內返回結果行。SQRL最多可檢查五次,但大多數問題在更少的步驟內完成。
訓練檢查決策
賦予模型資料庫訪問許可權並不能教會它何時以及如何檢查。這種行為需要訓練,而基於執行的訓練是苛刻的:如果參考查詢本身錯誤,正確的模型答案也會受到錯誤獎勵。因此,Feyn首先清理了訓練集。從BIRD和Spider開始,團隊移除了參考SQL未產生可用結果的示例,然後由三個模型審查剩下的配對,並移除任何未回答其問題的查詢。測試集包括Spider的保留部分和BIRD dev,其餘資料用於訓練。
35B-A3B教師模型使用CISPO(一種來自MiniMax M1工作的強化學習方法)直接訓練。CISPO裁剪重要性取樣權重而非策略比率,從而保留了來自罕見但關鍵標記的梯度訊號。對於每個問題,模型生成八個完整軌跡,執行每個最終查詢,並根據結果是否匹配參考來給予獎勵——這是一個忽略措辭、僅檢查返回行的二進位制訊號。
組相對訓練需要組內變化。八個成功或八個失敗的嘗試沒有提供關於哪些決策有助於的訊號。因此,Feyn在“混合區域”上訓練——即只有部分嘗試成功的情況,這樣每個組都能強化區分正確與錯誤軌跡的選擇。這就是教師模型學習何時檢查的方式。
為了使其行為可部署,團隊取樣了完整的教師軌跡,並僅保留最終SQL返回正確結果的軌跡。這產生了約10,200個示例,每個示例保留了推理、探索查詢、觀察和最終答案。4B和9B學生模型在這些軌跡上進行微調,隨後使用相同的CISPO執行獎勵進行最佳化。SQRL基於Qwen3.5和Qwen3.6模型系列構建。
全系列效能表現
Feyn在BIRD Dev上評估了SQRL,當查詢返回與參考相同的結果時計為正確。SQRL-35B-A3B得分為70.60%,每個令牌啟用約3B引數。9B學生模型保留了幾乎全部效能,達到69.80%。SQRL-4B達到68.80%,在這一評估中與Claude Opus 4.6持平,但模型小巧,可在任何地方託管,使模式、查詢和觀察資料保留在使用者控制的基礎設施內。
在Feyn報告中,其他前沿模型表現如下:Claude 4.5 Sonnet為67.34%,Qwen3-Coder-480B-A35B為66.17%,GLM-4.7為63.82%,DeepSeek-R1為61.67%,Kimi-K2-Thinking為60.63%。
部署指南
Feyn推薦SQRL-9B作為預設檢查點,SQRL-4B用於預算最緊張的情況,SQRL-35B-A3B用於最高精度。9B模型可透過vLLM提供服務:
vllm serve feyninc/sqrl-9b \
--served-model-name sqrl-9b \
--gpu-memory-utilization 0.90 \
--max-model-len 32768應用程式迴圈很簡單。保持資料庫執行為只讀,並將每次觀察返回給模型,直到它發出答案。需要注意:不要啟用服務層的推理解析器。動作協議出現在/answer關閉標籤之後的內容中,因此剝離該內容會移除模型的inspect或answer動作。請解析原始訊息內容並保留最終think標籤之後的所有內容。模型卡包含完整的系統提示和參考框架。
關鍵要點
- SQRL是透過在提交最終查詢前執行只讀探針來檢查資料庫的文本到SQL模型系列。
- Feyn報告SQRL-35B-A3B在BIRD Dev上達到70.6%的執行準確率,高於Claude Opus 4.6的68.77%。
- 旗艦模型蒸餾為4B和9B學生模型;SQRL-4B在該測試中匹配Opus,同時保持可自託管。
- 訓練清理了BIRD和Spider資料集,獎勵執行匹配,並利用CISPO和蒸餾來教會模型何時檢查。
- 所有三個檢查點已在Hugging Face開源,並透過vLLM和只讀框架提供服務,框架將觀察反饋給模型。
SQRL由Feyn構建。團隊可在GitHub、Hugging Face和X上找到。