別再跟SQL死磕啦!WrenAI讓你用說話就能查數(shù)據(jù)
在大數(shù)據(jù)時代,數(shù)據(jù)已經(jīng)成為企業(yè)和組織決策的重要依據(jù)。然而,對于很多非技術(shù)背景的人員來說,從海量數(shù)據(jù)中獲取有價值的信息并非易事,SQL 等查詢語言的復(fù)雜性成為了他們與數(shù)據(jù)之間的一道障礙。WrenAI 的出現(xiàn),為解決這一問題提供了新的思路。作為一款開源的文本到 SQL 工具,它讓用戶能夠通過自然語言與數(shù)據(jù)進(jìn)行交互,極大地降低了數(shù)據(jù)查詢和分析的門檻,為數(shù)據(jù)驅(qū)動的決策提供了更加便捷高效的方式。接下來,讓我們一起深入了解 WrenAI 的強(qiáng)大之處。
一、項目概述
WrenAI 是由 Canner 團(tuán)隊開發(fā)的開源 AI 助手,旨在打破數(shù)據(jù)查詢和分析的技術(shù)壁壘,幫助數(shù)據(jù)團(tuán)隊、產(chǎn)品團(tuán)隊和業(yè)務(wù)團(tuán)隊等通過自然語言對話的方式獲取數(shù)據(jù)洞察。它能夠?qū)⒂脩糨斎氲淖匀徽Z言自動轉(zhuǎn)換為 SQL 查詢,還能生成圖表、電子表格和報告等,實現(xiàn)從數(shù)據(jù)提問到報表生成的完整流程,真正提供了一個端到端的解決方案。無論是數(shù)據(jù)科學(xué)家進(jìn)行復(fù)雜的數(shù)據(jù)探索,還是業(yè)務(wù)人員想要快速了解業(yè)務(wù)數(shù)據(jù),WrenAI 都能滿足他們的需求。
二、主要功能
1、多語言自然對話
支持英語、德語、西班牙語、法語、日語、韓語、葡萄牙語、中文等多種語言與數(shù)據(jù)進(jìn)行交互。這使得不同語言背景的用戶都能輕松使用,無論是跨國公司的數(shù)據(jù)分析,還是面向全球用戶的應(yīng)用開發(fā),WrenAI 都能適應(yīng)多樣化的語言需求。
2、智能數(shù)據(jù)探索
具備 AI 驅(qū)動的數(shù)據(jù)理解和問題推薦功能。當(dāng)用戶面對復(fù)雜的數(shù)據(jù)時,它不僅能回答 “我有哪些數(shù)據(jù)”“我的客戶表有哪些列” 這類基礎(chǔ)探索性問題,還能根據(jù)用戶之前的提問和數(shù)據(jù)上下文,動態(tài)生成推薦問題和智能后續(xù)查詢,引導(dǎo)用戶更深入地挖掘數(shù)據(jù)價值。
3、語義索引系統(tǒng)
通過精心設(shè)計的 UI/UX 實現(xiàn)語義理解。它能在數(shù)據(jù)模式上建立邏輯表示層,幫助大語言模型(LLM)更好地理解業(yè)務(wù)上下文,從而生成更準(zhǔn)確的 SQL 查詢,避免因語義理解偏差導(dǎo)致的查詢錯誤。
4、上下文 SQL 生成
結(jié)合元數(shù)據(jù)、模式和術(shù)語,利用 “建模定義語言” 生成準(zhǔn)確的 SQL 查詢。它會充分考慮數(shù)據(jù)的結(jié)構(gòu)、關(guān)系以及用戶提問的上下文,減少重復(fù)編碼,簡化數(shù)據(jù)連接,讓用戶無需手動編寫復(fù)雜的 SQL 語句,就能獲取到精準(zhǔn)的數(shù)據(jù)結(jié)果。
5、無代碼數(shù)據(jù)分析
用戶僅通過對話即可獲取數(shù)據(jù)洞察。在開始新對話時,輸入的問題會用于找到最相關(guān)的表格,LLM 還會生成相關(guān)問題供用戶參考。用戶可以通過不斷的后續(xù)提問,獲得更深入的洞察,無需掌握專業(yè)的編程技能。
6、AI 驅(qū)動可視化
自動生成數(shù)據(jù)摘要和可視化圖表。其 GenBI 功能可將查詢結(jié)果立即轉(zhuǎn)換為 AI 生成的報告和圖表,將原始數(shù)據(jù)轉(zhuǎn)化為清晰、可操作的可視化信息,無論是柱狀圖、折線圖還是餅圖,都能直觀展示數(shù)據(jù)特征,幫助用戶快速理解數(shù)據(jù)背后的信息。
7、數(shù)據(jù)導(dǎo)出集成
支持導(dǎo)出到 Excel、Google Sheets 等分析工具,提供無縫的端到端工作流程。用戶在 WrenAI 中完成數(shù)據(jù)查詢和分析后,可以方便地將結(jié)果導(dǎo)出到熟悉的工具中進(jìn)行進(jìn)一步處理和分享。
8、安全性保障
采用 RAG(檢索增強(qiáng)生成)架構(gòu),無需暴露數(shù)據(jù)給 LLM 模型。利用模式和上下文生成 SQL 查詢,有效保護(hù)了數(shù)據(jù)的安全性和隱私性,讓企業(yè)和組織可以放心使用。
三、技術(shù)原理
WrenAI 主要使用 Python 作為實現(xiàn)語言,結(jié)合自然語言處理(NLP)技術(shù)來解析文本查詢并轉(zhuǎn)換成 SQL。在自然語言處理過程中,它會對用戶輸入的文本進(jìn)行詞法分析、句法分析和語義理解,提取關(guān)鍵信息,并將其映射到相應(yīng)的數(shù)據(jù)表和字段上。
前端開發(fā)使用 TypeScript、Next.js 構(gòu)建直觀易用的用戶界面,用戶可以方便地輸入問題、查看結(jié)果和進(jìn)行交互操作。后端服務(wù)框架采用 FastAPI,負(fù)責(zé)處理用戶請求、與數(shù)據(jù)庫進(jìn)行交互以及調(diào)用相關(guān)的 AI 服務(wù)。
WrenAI 的核心服務(wù)包括:
- Wren UI:提供直觀的用戶界面,用于提問、定義數(shù)據(jù)關(guān)系和集成數(shù)據(jù)來源,是用戶與 WrenAI 交互的主要入口。
- Wren AI Service:使用向量數(shù)據(jù)庫進(jìn)行上下文檢索來處理查詢,引導(dǎo) LLMs 生成精確的 SQL 輸出,確保查詢結(jié)果的準(zhǔn)確性和相關(guān)性。
- Wren Engine:作為語義引擎,將業(yè)務(wù)術(shù)語映射到數(shù)據(jù)源,定義關(guān)系,并包含預(yù)定義的計算和聚合,幫助模型更好地理解業(yè)務(wù)邏輯。
四、應(yīng)用場景
1、數(shù)據(jù)分析
對于不熟悉 SQL 的數(shù)據(jù)分析師、業(yè)務(wù)分析師或非技術(shù)用戶,WrenAI 是得力助手。他們可以通過自然語言提問來獲取數(shù)據(jù)庫中的信息,快速完成數(shù)據(jù)匯總、篩選、對比等分析任務(wù),無需花費大量時間學(xué)習(xí)復(fù)雜的 SQL 語法。
2、業(yè)務(wù)報告
業(yè)務(wù)團(tuán)隊可以使用 WrenAI 快速生成報告,通過簡單的文本命令獲取所需的數(shù)據(jù)洞察,如銷售數(shù)據(jù)統(tǒng)計、市場份額分析等,大大提高報告生成的效率,為決策提供及時的數(shù)據(jù)支持。
3、數(shù)據(jù)探索
數(shù)據(jù)科學(xué)家和研究人員可以利用 WrenAI 進(jìn)行數(shù)據(jù)探索,通過自然語言查詢來試驗不同的數(shù)據(jù)視角和查詢條件,發(fā)現(xiàn)數(shù)據(jù)中的潛在規(guī)律和趨勢,為進(jìn)一步的研究和建模提供基礎(chǔ)。
開發(fā)者可以將 WrenAI 集成到內(nèi)部工具或應(yīng)用程序中,為用戶提供更加友好的數(shù)據(jù)查詢接口,提升內(nèi)部工具的智能化水平和用戶體驗。
4、教育與研究
在教育和研究領(lǐng)域,WrenAI 可以作為教學(xué)工具,幫助學(xué)生和研究人員通過自然語言處理數(shù)據(jù)庫,無需深入學(xué)習(xí) SQL,就能理解數(shù)據(jù)查詢和分析的基本原理,培養(yǎng)數(shù)據(jù)思維。
5、客戶支持
客戶支持團(tuán)隊可以通過 WrenAI 快速檢索客戶數(shù)據(jù),如訂單信息、投訴記錄等,以提供更個性化的服務(wù),提高客戶滿意度。
高層管理人員可以使用 WrenAI 來獲取即時的數(shù)據(jù)支持,快速了解關(guān)鍵業(yè)務(wù)指標(biāo),幫助他們做出基于數(shù)據(jù)的決策,提升決策的科學(xué)性和準(zhǔn)確性。
6、數(shù)據(jù)民主化
WrenAI 使得組織內(nèi)的任何成員都能輕松訪問和理解數(shù)據(jù),促進(jìn)了數(shù)據(jù)的民主化,讓數(shù)據(jù)不再是少數(shù)技術(shù)人員的專屬,提高了整個組織的數(shù)據(jù)素養(yǎng)和工作效率。
五、快速使用
1、前提條件
需要安裝 Docker 環(huán)境,并擁有 OpenAI Key。
2、安裝步驟(以 Windows 為例):
1)在 GitHub 項目頁面下載wren-launcher-windows.zip壓縮包。
2)解壓后以管理員身份運行wren-launcher-windows.exe可執(zhí)行文件。
3)如出現(xiàn)彈窗,選擇更多信息并點擊仍然運行。
4)選擇您想要選擇的 LLM 提供商,如果是 OpenAI,請進(jìn)入下一步;否則,請選擇其他。
5)輸入你的 OpenAI API 密鑰,然后選擇想在 WrenAI 中使用的 OpenAI 生成模型。
6)等待安裝完成,安裝完成后會為你設(shè)置 Docker 容器,并在瀏覽器中打開應(yīng)用程序的 URL。如果啟動程序沒有打開 URL,請訪問localhost:3000開始使用 WrenAI。
3、使用說明
安裝完成后,用戶就可以在界面中輸入自然語言問題,比如 “顯示過去一年各地區(qū)的銷售總額”,WrenAI 會自動理解問題,生成相應(yīng)的 SQL 查詢,并展示可視化結(jié)果,用戶還可以根據(jù)需求進(jìn)一步導(dǎo)出數(shù)據(jù)或生成報告。
結(jié)語
WrenAI 作為一款創(chuàng)新的開源文本到 SQL 工具,以其強(qiáng)大的功能、先進(jìn)的技術(shù)和廣泛的應(yīng)用場景,為數(shù)據(jù)查詢和分析帶來了新的變革。它讓自然語言與數(shù)據(jù)的交互變得簡單高效,降低了數(shù)據(jù)分析的門檻,促進(jìn)了數(shù)據(jù)的民主化。隨著技術(shù)的不斷發(fā)展和完善,相信 WrenAI 會在更多領(lǐng)域發(fā)揮重要作用,幫助更多的團(tuán)隊和個人從數(shù)據(jù)中獲取有價值的信息,做出更明智的決策。
項目地址
GitHub:??https://github.com/Canner/WrenAI??
SourceForge:??https://sourceforge.net/projects/wrenai.mirror/??
官方網(wǎng)站:???https://getwren.ai/oss??
本文轉(zhuǎn)載自??小兵的AI視界??,作者:AGI小兵
