cover

ComfyUI-PandasAI节点包

汇智网 / hubwiz.com

ComfyUI的数据分析自定义节点包,采用自然语言分析csv文件或SQL数据。

ComfyUI-PandasAI是ComfyUI平台上的数据分析自定义节点包,支持采用自然语言分析本地csv/xlsx文件或SQL数据库表。

ComfyUI-PandasAI

1、代码组织

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压缩

2、安装

将节点包解压到 ComfyUI/custom_nodes 目录下,结果如下所示:

ComfyUI
  |- custom_nodes
        |- ComfyUI-PandasAI
              |- __init__.py
              |- ...

然后进入 ComfyUI-PandasAI 目录,执行如下命令安装依赖包:

pip install -r requirements.txt

3、使用示例数据集快速上手

在ComfyUI界面中,点击【Load】按钮载入 examples/smart_dataflow.json工作流,如下图所示:

smart dataframe example workflow

SmartDataframe节点类似于使用LLM大模型增强的表格数据集,可以使用自然语言分析数据集。 它的输入有两个:

  • llm:用于分析自然语言的大模型
  • connector:数据源连接器,可以连接本地文件或sql数据库等。

在这个工作流中,使用了 Custom LLM 节点来访问Groq的API,主要参数如下:

  • api_base: OpenAI兼容API访问基址,对于Groq来说,这个值是 https://api.groq.com/openai/v1
  • api_key: 大模型服务商的API KEY,Groq可以在这里创建API Key
  • model:使用的大模型,这里使用 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

4、数据源自定义节点

4.1 FileConnector

file connector node

FileConnector可以上传本地的数据文件作为数据分析的数据源,目前支持csv和xlxs。

输入:

  • file:已上传的数据文件

输出:

  • connector:数据源连接对象

4.2 SqliteConnector

sqlite connector

SqliteConnector以本地的sqlite数据库文件作为数据分析的数据源。

输入:

  • file:sqlite数据库文件本地路径

输出:

  • connector:数据源连接对象

4.3 MySQLConnector

MySQL Connector

MySQLConnector以MySQL数据库表作为数据源。

输入:

  • host:MySQL主机地址
  • port:MySQL服务端口
  • database:数据库名称
  • username:用户名称
  • password:用户密码
  • table:数据表名称

4.4 PostgreSQLConnector

PostgreSQL Connector

PostgreSQLConnector以PostgreSQL数据库表作为数据源。

输入:

  • host:PostgreSQL主机地址
  • port:PostgreSQL服务端口
  • database:数据库名称
  • username:用户名称
  • password:用户密码
  • table:数据表名称

5、LLM大模型自定义节点

5.1 BambooLLM

bamboo llm node

BambooLLM 主要针对数据分析。它旨在理解和执行与数据分析、数据处理和数据可视化相关的自然语言查询。 可以在这里注册以获取免费 API 密钥。

输入:

  • api_key:API密钥

输出:

  • llm:LLM对象。

5.2 OpenAI

openai llm node

为了使用 OpenAI 模型,你需要一个 OpenAI API 密钥。可以在 此处获取一个。

输入:

  • api_key:API KEY
  • model:使用的大模型,默认:gpt-4

输出:

  • llm:LLM对象

5.3 GooglePalm

google palm node

为了使用 Google PaLM 模型,你需要拥有 Google Cloud API 密钥。可以在此处获取一个。

输入:

  • api_key: API密钥

输出:

  • llm:LLM对象

5.4 GoogleVertexAI

google vertexai node

为了通过 Vertexai api 使用 Google PaLM 模型,需要先创建Google Cloud 项目、设置项目区域并完成gcloud身份验证。

输入:

  • project_id:项目编号
  • location:区域
  • model:使用的模型名称

输出:

  • llm:LLM对象

5.5 AzureOpenAI

azure openai llm node

为了使用 Azure OpenAI 模型,需要拥有 Azure OpenAI API 密钥以及 Azure OpenAI 端点。可以在 此处获取。

要实例化 Azure OpenAI 对象,您还需要指定在 Azure 上部署的模型的名称和 API 版本:

输入:

  • api_token: API密钥
  • azure_endpoint:访问端点
  • api_version:api版本
  • deployment_name:部署的名称

输出:

  • llm:LLM对象

5.6 HuggingFaceTextGen

huggingface textgen llm node

为了通过文本生成使用 HuggingFace 模型,需要首先提供一个受支持的大型语言模型 (LLM)。 阅读文本生成文档以了解有关如何设置推理服务器的更多信息。

例如,这可用于使用 LLaMa2、CodeLLaMa 等模型。可以在此处找到有关文本生成的更多信息。

输入:

  • inference_server_url:推理服务器url

输出:

  • llm:LLM对象

5.7 CustomLLM

Custom llm node

CustomLLM节点用来加载自定义模型,可以是本地模型,如Ollama或LM Studio托管的模型,也可以是云端模型,例如Groq托管的模型, 只要提供OpenAI兼容的API即可。

输入:

  • api_base:API基地址,需要与OpenAI兼容
  • api_key:API密钥,云平台托管的模型服务,通常需要设置这个密钥
  • model:模型名称

输出:

  • llm:LLM对象

声 明

本站所提供软件包仅用于学习和研究,请依法合规使用。

本站所提供软件包均提供完整源码,使用前请认真阅读源代码和文档以确保充分理解软件包的设计与功能实现,本站不承担 因不当使用本站所提供软件包而造成的任何法律风险或财产损失责任。

¥499.00
查看授权信息
  • 付费成功自动开通下载
  • 三个月内代码免费升级
  • 专业人员在线技术支持
  • 支持按需定制(另付费)
下载代码包
版本发布日期地址
1.0.0 2024-12-6
下载最新版
QQ咨询
2860991437
9+