PandasAI 集成 Streamlit:三步搭出自然语言数据分析 Web 应用

发布时间:2026/9/5 21:59:27
PandasAI 集成 Streamlit:三步搭出自然语言数据分析 Web 应用 PandasAI 集成 Streamlit三步搭出自然语言数据分析 Web 应用【免费下载链接】pandas-aiChat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG.项目地址: https://gitcode.com/GitHub_Trending/pa/pandas-aiPandasAI 让数据会说话Streamlit 把结果变成网页两者组合后你用自然语言问数图表当场渲染。本教程适合刚接触数据分析的朋友跟着做一遍十分钟内就能拥有一个可上线的问数工具。成品速览先看看你要的东西长什么样想象这样一个场景运营同事在输入框里敲下按部门统计平均工资并绘图几秒钟后页面上蹦出一张柱状图——全程没人写一行代码。上面就是最终效果。接下来我带你把它做出来。三分钟原理问句是怎么变成图表的这一节不堆术语只讲清楚链路。你输入的自然语言先交给 PandasAI 的 SmartDatalake可以理解为会思考的数据池它知道池里每张表的字段长什么样。SmartDatalake 让大模型把问题翻译成一段针对数据的 Python 代码并执行得到数值、表格或图表。默认情况下结果只会打印在终端里但官方提供了 StreamlitResponse 解析器一挂载这些结果就直接变成网页上的组件。官方集成示例在 docs/v2/custom-response.mdx想深挖细节可以对照看。三步启动数据对话第一步装好环境两行命令搞定先用 git clone https://gitcode.com/GitHub_Trending/pa/pandas-ai 拿到仓库仅用于查文档和示例数据然后执行pip install pandasai pandasai-litellm pip install streamlit export OPENAI_API_KEY你的密钥这三行装好了核心库、LLM 适配层和网页框架。目录结构不用讲究记住三个位置就行一个 app.py 当入口、一个 data 文件夹放数据集、一个 utils 文件夹装你的自定义组件。第二步接入数据、开始提问在 app.py 里把两张表喂给 SmartDatalake并把 StreamlitResponse 写进配置from pandasai import SmartDatalake from pandasai.responses.streamlit_response import StreamlitResponse agent SmartDatalake( [employees_df, salaries_df], config{verbose: True, response_parser: StreamlitResponse}, )这两张表就是员工信息和工资表示例数据仓库里有现成的 CSV 可换用。response_parser指定了结果走 Streamlit 通道渲染。接着搭交互界面只有几行st.text_input(想问数据点什么) if st.button(开始分析): agent.chat(按部门统计平均工资并绘图)保存后刷新页面问题一提交图表或表格就出现在浏览器里。第三步让结果更可控默认解析器已经把结果渲染成 Streamlit 组件了想再改什么记住一个口诀继承 StreamlitResponse只覆写你嫌它做得不对的那个方法。比如想给每次分析加个导出 CSV按钮就覆写 format_dataframe先调用父类方法保留默认表格再补一个下载控件想改图表布局同理找到对应方法动手即可。具体方法签名在 docs/v2/custom-response.mdx 里照着抄就行。进阶两招多轮记忆与自定义技能这一节给你两个从能用变好用的开关。 两招做出多轮记忆提问时带上上下文上一张图里 IT 部门最高的是谁前提是让 Agent 记住历史。实例化时加一个 memory_size 参数比如 10 轮后续问题就能引用前面的结论。多轮对话的完整写法参考 docs/v2/custom-response.mdx 中段的示例。 教它新本领把写好的函数挂上 skill 装饰器用 docstring 说明它是干什么的再传给 agent 的技能列表模型就会在合适的时候自己调用它——比如检测工资异常值这类固定业务逻辑。完整实现含往 Streamlit 里画图的技能见 docs/v2/skills.mdx。部署与避坑一条命令上线两个坑先填上启动就一行streamlit run app.py默认监听 8501 端口浏览器打开 http://localhost:8501 即可。常见坑有两个一是端口被占加--server.port换到 8502 或别的空闲端口二是依赖版本打架pandasai 目前要求 Python 3.8 到 3.11建议单独开个虚拟环境装依赖别和项目里其他库混用。收尾你刚刚上线了什么到这里你已经把问一句、出一图的自然语言数据分析服务跑在了浏览器里同事打开链接就能用。接下来可以继续往三个方向长接入图片和文本等多模态数据、加上账号与权限控制、换成实时数据源。代码就放在你本地现在就 streamlit run 起来试试吧。【免费下载链接】pandas-aiChat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG.项目地址: https://gitcode.com/GitHub_Trending/pa/pandas-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考