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