讲师中心 微信公众号
AI工具推荐 视频效率加速

Csv Brain

Polar Sponsor
爱发电 赞助
.NET 9.0

加载CSV文件,使用自然语言(英文)提问。通过Anthropic、OpenAI或本地Ollama实现AI驱动的自然语言查询,无需SQL。

CSVBrain.

功能概述

CSVBrain.是一项面向实际任务的技能,主要用于Version: 1.0.3. 授权人: @ The ShadowRose.License: MIT.;Description.;

核心要点

  • Load CSV文件并用普通英语提问.;
  • Anthropic, OpenAI, 或本地的Ollam 语言查询.。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

CSVBrain

版本:1.0.3
作者:@TheShadowRose
许可证:MIT

描述

加载 CSV 文件,并使用纯英文提问。通过 Anthropic、OpenAI 或本地 Ollama 提供 AI 驱动的自然语言查询能力,无需编写 SQL。

CSVBrain 解析 CSV 文件(支持逗号、分号或制表符分隔),自动分析数据结构,并支持通过结构化筛选条件或 AI 驱动的纯英文问题来查询数据。

特性

  • CSV 加载 — 自动检测分隔符(逗号、分号、制表符),支持带引号字段及转义引号。
  • 数据概要分析 — 为每列提供即时统计信息:总行数、缺失值数量、唯一值数量;数值列额外提供最小值、最大值与平均值。
  • 结构化查询 — 支持对数据进行筛选、排序、限制返回行数以及聚合操作。
  • 自然语言提问 — 使用纯英文向数据提问。AI 会基于数据集的结构、类型与统计信息,返回包含具体数值的准确答案。
  • 多 AI 提供商支持 — 可将问题路由至 Anthropic(Claude)、OpenAI(GPT)或本地 Ollama 模型,仅需修改模型前缀即可切换。
  • 零依赖 — 纯 Node.js 实现,无需任何 npm 包;HTTP 请求使用内置 https/http 模块。

安装

将 src/csv-brain.js 复制到您的项目中。

const { CSVBrain } = require('./src/csv-brain');

快速开始

const { CSVBrain } = require('./src/csv-brain');

const brain = new CSVBrain();
const info = brain.load('sales.csv');
console.log(info);
// { rows: 1200, columns: 8, types: { month: 'text', revenue: 'number', ... } }

// 分析数据概要
const stats = brain.profile();
console.log(stats.revenue);
// { type: 'number', count: 1200, missing: 0, unique: 987, min: 12.5, max: 94200, avg: 8450.32 }

// 使用纯英文提问
const result = await brain.ask('What was our best month for revenue?');
console.log(result.answer);
// "Based on the data, March had the highest total revenue at $94,200."
console.log(result.model);
// "anthropic/claude-haiku-4-5"

API

new CSVBrain(options?)

创建新实例。

选项 类型 默认值 说明
model string "anthropic/claude-haiku-4-5" ask() 方法的默认 AI 模型
const brain = new CSVBrain({ model: 'openai/gpt-4o-mini' });

load(filePath, options?)

同步加载 CSV 文件。

选项 类型 默认值 说明
delimiter string 自动检测 强制指定分隔符

返回值:{ rows: number, columns: number, types: object }

const info = brain.load('data.csv');
const info2 = brain.load('data.tsv', { delimiter: 't' });

profile()

获取所有列的统计概要信息。

返回值:以列名为键的对象,每个键对应一个对象,包含 type、count、missing、unique 字段;数值列额外包含 min、max、avg 字段。

const stats = brain.profile();
console.log(stats);

query(options)

对已加载的数据执行结构化查询。

选项 类型 说明
filter { column, operator, value } 按条件筛选行。支持的操作符:>、<、>=、<=、=、contains
sort { column, order } 按指定列排序。顺序可选:"asc" 或 "desc"
limit number 最多返回的行数
aggregate { column } 对数值列返回 count、sum、avg、min、max 聚合结果
// 筛选并排序
const topSales = brain.query({
  filter: { column: 'revenue', operator: '>', value: 10000 },
  sort: { column: 'revenue', order: 'desc' },
  limit: 10
});

// 聚合
const totals = brain.query({
  aggregate: { column: 'revenue' }
});
console.log(totals);
// { count: 1200, sum: 10140384, avg: 8450.32, min: 12.5, max: 94200 }

async ask(question, options?)

就您的数据提出自然语言问题。需配置 AI 提供商 API 密钥(或运行本地 Ollama)。

选项 类型 默认值 说明
model string 实例默认值 带提供商前缀的 AI 模型名
apiKey string 从环境变量读取 覆盖默认 API 密钥
ollamaHost string "http://localhost:11434" Ollama 服务地址

返回值:{ answer: string, data: any, query: object|null, model: string }

// 使用 Anthropic(默认)
// 需设置 ANTHROPIC_API_KEY 环境变量
const result = await brain.ask('Which product category has the highest average price?');
console.log(result.answer);
// "Electronics has the highest average price at $342.50, followed by Appliances at $289.00."

// 使用 OpenAI
// 需设置 OPENAI_API_KEY 环境变量
const result2 = await brain.ask('How many orders were placed in Q4?', {
  model: 'openai/gpt-4o-mini'
});

// 使用本地 Ollama(无需 API 密钥)
const result3 = await brain.ask('Summarize the sales trends', {
  model: 'ollama/llama3'
});

AI 提供商配置

Anthropic(Claude)

将 API 密钥设为环境变量:

export ANTHROPIC_API_KEY="sk-ant-..."

可用模型:anthropic/claude-haiku-4-5、anthropic/claude-sonnet-4-20250514 等。

OpenAI(GPT)

export OPENAI_API_KEY="sk-..."

可用模型:openai/gpt-4o-mini、openai/gpt-4o 等。

Ollama(本地)

无需 API 密钥。只需在本地运行 Ollama:

ollama serve
ollama pull llama3

可用模型:ollama/llama3、ollama/mistral 等。

可选:自定义主机地址:

export OLLAMA_HOST="http://192.168.1.100:11434"

错误处理

若 AI 提供商不可用,ask() 将返回优雅的错误信息而非抛出异常:

const result = await brain.ask('What is the trend?');
if (result.answer.startsWith('AI unavailable:')) {
  console.log('Falling back to manual query...');
  const data = brain.query({ sort: { column: 'date', order: 'asc' } });
}

支持的文件格式

  • CSV — 逗号分隔值(.csv)
  • TSV — 制表符分隔值(.tsv、.txt)
  • 分号分隔 — 常见于欧洲地区导出的数据

分隔符将自动从首行检测,也可手动指定。

注意:Excel 文件(.xlsx、.xls)不支持。请先将电子表格导出为 CSV 格式。

限制

  • 文件以同步方式完整加载至内存。超大文件(100MB+)可能导致性能下降。
  • AI 回答质量取决于所选模型的能力与上下文窗口大小。仅向 AI 发送列概要信息与前 5 行样本数据,而非全部数据集。
  • 不支持流式响应。AI 的完整响应将一次性返回。
  • 无内置导出功能。请结合 query() 返回结果,自行实现文件写入逻辑。

免责声明

CSVBrain 按“原样”提供,遵循 MIT 许可证。AI 生成的答案可能并非始终准确,请务必对关键数据分析结果进行人工复核。调用 AI 接口可能产生相应服务商费用。

支持

  • 问题反馈:github.com/TheShadowRose/CSVBrain/issues
  • 作者:@TheShadowRose
目录

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

相关专题

更多
DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

0

2026.11.04

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

0

2026.11.03

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn