ComfyUI的数据分析自定义节点包,采用自然语言分析csv文件或SQL数据。
ComfyUI-PandasAI是ComfyUI平台上的数据分析自定义节点包,支持采用自然语言分析本地csv/xlsx文件或SQL数据库表。
ComfyUI-PandasAI节点包的目录组织说明如下:
文件路径 | 文件说明 |
---|---|
requirements.txt | 依赖包清单文件 |
__init__.py | 包入口文件 |
py/ | 自定义节点目录 |
py/smart_dataframe.py | SmartDataframe节点 |
py/chat_with_smart_dataframe.py | ChatWithSmartDataframe节点 |
py/agent.py | Agent节点 |
py/chat_with_agent.py | ChatWithAgent节点 |
py/bamboom_llm.py | BambooLLM节点 |
py/openai_llm.py | OpenAI节点 |
py/google_palm_llm.py | Google Palm节点 |
py/google_vertexai_llm.py | Google VertexAI节点 |
py/azure_openai_llm.py | Azure OpenAI节点 |
py/huggingface_textgen_llm.py | HuggingFace TextGen节点 |
py/custom_llm.py | CustomLLM节点 |
py/file_connector.py | FileConnector节点 |
py/sql_connector.py | SQLConnector节点 |
py/sqlite_connector.py | SqliteConnector节点 |
py/mysql_connector.py | MySQLConnector节点 |
py/postgresql_connector.py | PostgreSQLConnector节点 |
web/ | 前端扩展目录 |
web/pandasai.js | 前端扩展 |
examples/ | 示例工作流目录 |
examples/smart_dataframe.json | 使用SmartDataframe分析本地csv或xlsx文件的工作流 |
examples/supported-connectors.json | 数据源节点一览 |
examples/supported-llms.json | 大模型支持节点一览 |
datasets/ | 示例数据集目录 |
coffee.csv | 咖啡店订单数据,csv格式 |
loan_payments.csv | 贷款支付数据,csv格式 |
Loan payments data.xlxs | 贷款支付数据,xlxs格式 |
employees_db.zip | 员工数据,sqlite格式,zip压缩 |
将节点包解压到 ComfyUI/custom_nodes
目录下,结果如下所示:
ComfyUI
|- custom_nodes
|- ComfyUI-PandasAI
|- __init__.py
|- ...
然后进入 ComfyUI-PandasAI
目录,执行如下命令安装依赖包:
pip install -r requirements.txt
在ComfyUI界面中,点击【Load】按钮载入 examples/smart_dataflow.json
工作流,如下图所示:
SmartDataframe
节点类似于使用LLM大模型增强的表格数据集,可以使用自然语言分析数据集。
它的输入有两个:
在这个工作流中,使用了 Custom LLM
节点来访问Groq的API,主要参数如下:
https://api.groq.com/openai/v1
llama3-8b-8192
模型示例工作流使用的数据源连接器是 File Conector
,用来访问本地的数据文件,目前支持csv格式和xlxs
格式,点击 【upload】按钮即可上传本地其他目录的数据文件。
Chat With Smart Dataframe
节点是我们输入的地方,例如查询贷款支付数据中男女各有多少人,可以输入:
贷款的男女各有多少人?
工作流的输出使用了ComfyUI-Custom-Scripts节点包中的 show text
节点,用于显示结果文字,如上图所示:
Gender Count
0 male 423
1 female 77
FileConnector可以上传本地的数据文件作为数据分析的数据源,目前支持csv和xlxs。
输入:
输出:
SqliteConnector以本地的sqlite数据库文件作为数据分析的数据源。
输入:
输出:
MySQLConnector以MySQL数据库表作为数据源。
输入:
PostgreSQLConnector以PostgreSQL数据库表作为数据源。
输入:
BambooLLM 主要针对数据分析。它旨在理解和执行与数据分析、数据处理和数据可视化相关的自然语言查询。 可以在这里注册以获取免费 API 密钥。
输入:
输出:
为了使用 OpenAI 模型,你需要一个 OpenAI API 密钥。可以在 此处获取一个。
输入:
输出:
为了使用 Google PaLM 模型,你需要拥有 Google Cloud API 密钥。可以在此处获取一个。
输入:
输出:
为了通过 Vertexai api 使用 Google PaLM 模型,需要先创建Google Cloud 项目、设置项目区域并完成gcloud身份验证。
输入:
输出:
为了使用 Azure OpenAI 模型,需要拥有 Azure OpenAI API 密钥以及 Azure OpenAI 端点。可以在 此处获取。
要实例化 Azure OpenAI 对象,您还需要指定在 Azure 上部署的模型的名称和 API 版本:
输入:
输出:
为了通过文本生成使用 HuggingFace 模型,需要首先提供一个受支持的大型语言模型 (LLM)。 阅读文本生成文档以了解有关如何设置推理服务器的更多信息。
例如,这可用于使用 LLaMa2、CodeLLaMa 等模型。可以在此处找到有关文本生成的更多信息。
输入:
输出:
CustomLLM节点用来加载自定义模型,可以是本地模型,如Ollama或LM Studio托管的模型,也可以是云端模型,例如Groq托管的模型, 只要提供OpenAI兼容的API即可。
输入:
输出:
本站所提供软件包仅用于学习和研究,请依法合规使用。
本站所提供软件包均提供完整源码,使用前请认真阅读源代码和文档以确保充分理解软件包的设计与功能实现,本站不承担 因不当使用本站所提供软件包而造成的任何法律风险或财产损失责任。