AI資料庫查詢助手:一個基於Streamlit的系統,結合OpenAI GPT-3.5和ChromaDB載體資料庫,將文本轉換為SQL查詢。它可以作為自建參考框架。
由Paulisure(Paul Loupe)在GitHub上維護的開源項目 人工智慧資料庫查詢助理。這是一個實用程式,演示如何將自然語言轉換為SQL查詢並通過交互式界面運行它們。
項目概覽
該項目旨在建立一個 自然語言→ SQL查詢系統,並集成了以下技術組件:
- 使用 OpenAI的GPT-3.5 該模型將用戶的自然語言請求轉換為SQL查詢陳述。
- 使用 ChromaDB 作為一個載體資料庫,它用於歷史查詢的相似性檢索。
- 前端界面採用 Streamlit 用戶通過網頁進行交互的框架。
主要功能亮點
- 自然語言查詢處理:用戶輸入普通英語問題,例如「按總購買金額計算,誰是前5名客戶?」,系統會自動生成相應的SQL查詢。
- 載體相似性檢索:通過ChromaDB,系統可以找到與當前輸入陳述類似的歷史查詢,提高生成結果的準確性和一致性。
- 交互式網絡顯示:使用Streamlit構建的界面使用戶操作更加直觀,支持輸入問題、查看結果,甚至自動生成圖表可視化。
- 自動視覺:查詢結果可以通過Plotly Express以實時圖表顯示,體驗更加友好。
- 示例查詢庫:包括「哪種類型產生的收入最多」和「按國家/地區計算平均發票金額」等示例,以幫助用戶快速入門。
技術堆棧和使用
| 技術 | 使用 |
|---|---|
| GPT-3.5 | 將自然語言轉換為SQL |
| ChromaDB | 支持類似查詢檢索的載體資料庫 |
| Streamlit | 用於構建Web交互界面 |
| 情節快報 | 用於生成數據可視化圖表 |
| SQLite(奇努克資料庫) | 作為後台資料庫,該體系結構包括常見的表結構,例如客戶、藝術家、專輯、音軌和發票,用於查詢演示文稿。 |
簡短的使用步驟:
- 克隆倉庫後,在本地創建虛擬環境並安裝依賴項(
requirements.txt定義於)。 - 通過以下方式配置OpenAI API密鑰
.streamlit/secrets.toml文件保存。 - 啟動應用程式:
streamlit運行streamlit_app.py,在瀏覽器中訪問本地地址:例如 http://localhost:8501您可以使用該系統。您可以使用該系統。
總結
人工智慧資料庫查詢助理 它是一個輕量級工具,允許用戶通過自然語言與資料庫交互。它集成了GPT-3.5生成的SQL、ChromaDB語義檢索和Streamlit前端顯示,並結合Plotly實現直觀的圖表。項目結構清晰,適合作為理解自然語言界面資料庫查詢原理的學習參考。
Github:https://github.com/Paulisure/AI-Database-Query-Assistant
輸油管: