stanford-oval/suql

SUQL: Conversational Search over Structured and Unstructured Data with LLMs

解決的問題

SUQL 解決了查詢混合資料來源的挑戰,這些來源同時包含結構化(關係型)和非結構化(自由文字)資訊。傳統 SQL 對結構化資料非常有效,但無法處理自由文字搜尋。SUQL 透過新增自由文字原語來擴展 SQL,以允許對混合資料庫的查詢進行精確且簡潔的表示。

工作原理

SUQL 整合了檢索模型、大型語言模型(LLMs)和傳統 SQL。它使用檢索模型和 LLM 來處理非結構化資料,而使用關係型 SQL 來處理結構化資料。一個關鍵元件是 answer 函數,允許使用者將自由文字限制與結構化限制結合。為了處理大規模資料,它使用 PostgreSQL 來實現可擴展性,並使用 FAISS 透過密集向量處理方法(如 HNSW 和產品量化器)對自由文字欄位進行索引。

適用對象

需要存取混合資料來源(例如同時包含結構化評分和結構化評論的餐廳資料庫)的開發者,用於建構對話式代理或聊天機器人。

特色

  • 混合資料存取:在單一查詢語言中無縫結合 SQL 與自由文字檢索。
  • 可擴展性:透過 PostgreSQL 和 FAISS 索引支援大型資料庫。
  • LLM 優化:包含優化措施,以減少昂貴的 LLM 呼叫。
  • SQL 相容性:支援一般的 SQL 操作,如 JOIN 和 GROUP BY。

這是一種能讓使用者以自然語言與資料庫互動的全新查詢語言,特別適合混合資料環境。 — @username

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案