在現今數據驅動的時代,有效地分析和利用數據變得至關重要。然而,傳統的數據庫查詢方式需要使用者具備 SQL 語法知識,這對許多非技術背景的使用者來說是一個挑戰。Oracle Autonomous Database Select AI 的出現,為這個問題提供了一個完美的解決方案。
Oracle Autonomous Database Select AI 是一種基於自然語言處理(NLP)技術的工具,它允許使用者使用自然語言(如英文、中文等)查詢 Autonomous Database 中的數據,而無需編寫複雜的 SQL 語句,Select AI 的主要功能如下:

使用者透過介面(例如 Oracle APEX、應用程式等)以自然語言提出問題,例如「顯示過去一年銷售額最高的十個產品」,這個問題可以透過文字輸入或語音輸入。
Select AI 接收使用者提出的自然語言問題,它會利用大型語言模型(LLM)來理解問題的語義。接著 Select AI 會自動從資料庫 Schema 中提取相關的 metadata(中繼資料),例如表格名稱、欄位名稱等,用來補充自然語言問題,使其更易於理解。最後將補充後的資訊輸入 LLM,生成對應的 SQL 查詢語句。
Select AI 將生成的 SQL 查詢語句發送到 Autonomous Database 執行。
Select AI 將資料庫返回的結果傳回給使用者,並以使用者友好的方式呈現,例如表格、圖表等。
Select AI 會保留先前的問題和答案,以便在後續的互動中理解上下文,提供更準確的回應,就像與真人對話一樣。
Select AI 適合各種需要數據分析的場景,例如:
以下是一個簡單的範例,展示如何使用 Select AI 搭配 OCI Generative AI 服務來查詢 Autonomous Database 中的數據:
|
SQL> EXEC DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(provider => 'OCI'); |
|
SQL> EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(); |
|
SQL> BEGIN DBMS_CLOUD_AI.create_profile ( profile_name => 'OCIAI_LLAMA', attributes => '{"provider": "oci", "credential_name": "OCI$RESOURCE_PRINCIPAL", "object_list": [ {"owner": "moviestream", "name": "GENRE"}, {"owner": "moviestream", "name": "CUSTOMER"}, {"owner": "moviestream", "name": "PIZZA_SHOP"}, {"owner": "moviestream", "name": "STREAMS"}, {"owner": "moviestream", "name": "MOVIES"}, {"owner": "moviestream", "name": "ACTORS"}, {"owner": "moviestream", "name": "CUSTOMER_SEGMENT"}, {"owner": "moviestream", "name": "CUSTOMER_CONTACT"}, {"owner": "moviestream", "name": "CUSTOMER_EXTENSION"}, {"owner": "moviestream", "name": "ACTIVITY"}, {"owner": "moviestream", "name": "CUSTSALES"}, {"owner": "moviestream", "name": "MOVIE"}, {"owner": "moviestream", "name": "MOVIESTREAM_CHURN"}, {"owner": "moviestream", "name": "PIZZA_LOCATION"}, {"owner": "moviestream", "name": "SALES_SAMPLE"}, {"owner": "moviestream", "name": "WEATHER"} ], "model": "meta.llama-3.1-70b-instruct" }'); END; / |
|
SQL> exec dbms_cloud_ai.set_profile('OCIAI_LLAMA') |
showsql:將自然語言的提示轉換成 SQL 語法
|
SQL> SELECT AI showsql What is Tom Hanks best known for /**自然語言**/ 結果: "SELECT m."MAIN_SUBJECT" FROM "MOVIESTREAM"."MOVIES" m JOIN "MOVIESTREAM"."ACTORS" a ON m."MOVIE_ID" = a."MOVIE_ID" WHERE a."ACTOR" = 'Tom Hanks'" |
runsql:執行自然語言提示的 SQL 命令,這是預設操作。
|
SQL> SELECT AI runsql What is Tom Hanks best known for 結果:
|
narrate:將 LLM 執行的 SQL 查詢的結果傳回 LLM,以產生該結果的自然語言描述。
|
SQL> SELECT AI narrate What is Tom Hanks best known for 結果: "Tom Hanks is best known for his roles in movies about: * Apollo 13 * The Vietnam War * Invasion of Normandy He has also appeared in films that feature themes of: * Terrorism * Homophobia * Body swap * Motor cars Additionally, he has been in movies with mad scientists and has explored the concept of solitude." |
簡單來說,Select AI 的運作流程就是將使用者的自然語言問題轉換為 SQL 查詢,並從資料庫中獲取答案,最終以易於理解的方式呈現給使用者。
更多的資訊請參考以下連結或是洽詢邁達特,我們將有專員提供諮詢。
參考資訊: