Pandas + AI = PandasAI
PandasAI 是整合著名的 Python 資料分析函式庫 pandas 與各種 LLM 的對話式 AI 工具(conversational AI tool)。
以往如果用 pandas 對資料進行分析需要熟知 Dataframe 與相關的方法(例如 filter, groupby, plot 等方法),但有了 LLM 的幫助之後,我們可以借助 AI 的推論與生成能力,將以往運用 pandas 做資料分析的流程變成典型的 AI agent 運作流程:
prompt/問題 -> LLM 推論分析步驟 -> 呼叫 pandas 相關方法 -> LLM 生成結果
也就是說,變成我們只需要輸入正確的 prompt 即可。
這就是 PandasAI 所提供的功能,因此以下程式碼是 PandasAI 目前的使用方式,先把 DataFrame 載入之後,再傳給 PandasAI 的 agent, 接著我們只要對 agent 輸入 prompt 即可,剩下的步驟就會交由 AI 執行直到最終生成回應:
df = pd.DataFrame(...略...)
agent = Agent(df)
agent.chat('Which are the top 5 countries by sales?')
這類資料分析工具無疑能夠降低學習成本與增加分析資料的效率,但缺點是我們看不到 AI 詳細運作過程,所以如果要驗證分析結果是否正確,最後還是得實際使用 pandas 或寫程式驗算一遍,但這點疑慮是源自於目前 AI 能力仍有極限,未來隨著 AI 發展持續進步,其產生的結果將會高度可信,市場大概率也會偏向採用這項工具。
另外,使用這類工具要特別注意與 AI 互動時,將機密資料外洩給 AI 服務提供商(例如 OpenAI )的問題,雖然 PandasAI 也針對這點做了一些防護(只送 Dataframe 中隨機的部分資料、敏感資料則隨機產生等等),但它畢竟還是送了⋯⋯。
如果對 PandasAI 有興趣的話,可以在 Colab 或者 Juypter Notebook 裝來玩看看,或者到它的 GitHub 研究看看原始碼也不錯。