开源 Data Agent 实战:用 Lakemind + DuckDB 让 LLM 安全分析本地数据

开源 Data Agent 实战:用 Lakemind + DuckDB 让 LLM 安全分析本地数据

做数据分析的同学应该都有过这种体验:想用大模型帮忙写 SQL 分析数据,但数据是敏感的业务数据,不能上传到云端;或者数据文件太大,上传不现实。

最近我开源了一个 Data Agent 项目 Lakemind,专门解决这个问题。这篇文章不讲设计哲学,直接上手实操。

环境准备

方式一:下载预编译包

前往 GitHub Releases 下载对应平台的安装包,目前支持 macOS 和 Windows。

方式二:源码编译

bash 复制代码
git clone https://github.com/tsingliuwin/lakemind.git
cd lakemind
npm install --include=dev
npm run tauri dev

需要本地有 Rust 工具链和 Node.js 18+。

配置大模型

打开 Lakemind 后,第一步是配置 LLM API。目前支持两个提供商:

  • OpenAI:填入 API Key,选择模型(推荐 gpt-4o 或 gpt-4o-mini)
  • Anthropic:填入 API Key,选择模型(推荐 claude-sonnet-4)

因为 Lakemind 的核心设计是"快速试错-纠偏",轻量模型通过多轮自纠错也能表现不错,不强制要求旗舰模型。

导入数据

支持三种数据源:

  1. 本地文件:CSV、Parquet、Excel 直接拖入
  2. 远程数据库:PostgreSQL、MySQL 连接字符串
  3. 已有 DuckDB 数据库 :直接打开 .duckdb 文件

导入后,Lakemind 会自动扫描表结构,生成 Schema 描述。关键点:只有 Schema(表名、列名、类型)会被发送给 LLM,原始数据行绝不上网。

用自然语言分析

导入数据后,直接在聊天框里用自然语言提问。比如:

"按月份统计销售额,对比今年和去年同期"

Lakemind 的 Agent 会:

  1. 读取 Schema 和 OKF 语义定义
  2. 生成 SQL
  3. 在本地 DuckDB 执行
  4. 如果报错,拿到 DuckDB 的原始错误信息,自动修正后重试
  5. 执行成功后,把结果物化为 t_sales_monthly 表
  6. 下次你问相关问题时,直接复用这张表

整个过程你不需要写一行 SQL。

为什么本地执行是关键

传统 Text-to-SQL 产品的流程是:用户提问 → LLM 生成 SQL → 远程执行 → 返回结果。这里有两个问题:

  • 数据必须在云端执行,安全风险高
  • SQL 执行失败后只能让用户手动重试

Lakemind 的流程是:用户提问 → LLM 生成 SQL → 本地 DuckDB 执行 → 失败则自动纠错重试 → 成功后物化结果。

DuckDB 是进程内 OLAP 引擎,GB 级数据查询是亚秒级的。Agent 可以在 1 分钟内跑 10 轮试错,这比让 LLM 冥思苦想一条"完美 SQL"高效得多。

OKF:让 Agent 拥有业务记忆

Lakemind 借鉴了 Google 开源的 Open Knowledge Format 思路,把以下信息打包成 .okf/ 文件夹:

  • 表结构 Schema
  • 主外键 JOIN 关系网
  • 指标定义(如"活跃用户"的精确口径)
  • 分析准则(分行业、分主题的知识库)

当你把数据集分享给同事时,.okf/ 文件夹随数据库一起流转。对方的 Agent 打开后立刻继承所有业务记忆,不会冷启动。

新增行业准则只需加一个 Markdown 文件,零代码。

技术栈一览

层 选型 亮点
桌面壳 Tauri 2.0 + Rust 安装包几十 MB,内存远低于 Electron
计算引擎 DuckDB + DuckLake 进程内 OLAP,持久化 catalog
元数据 SQLite (rusqlite) 工作区、任务、配置统一索引
Agent 框架 Rig SDK (rig-core) Rust 原生,流式 ReAct,16 个工具
前端 SolidJS + TanStack 百万行虚拟化表格 60fps
LLM OpenAI / Anthropic 流式输出,429 自动退避重试

当前状态与路线图

  • v0.5.5 已发布(2026-07-12),420 次提交,14 个 Release
  • M2 已交付:流式 LLM ReAct 循环 + 16 个工具全部上线
  • M3 规划中:Profiler + Polars 清洗管线 + 分析画布 + Arrow IPC 零拷贝传输
  • M4 规划中:企业级隔离 + LanceDB 记忆 + 审计日志

相关链接

如果你经常需要分析本地数据文件,或者对 Data Agent 的架构设计感兴趣,欢迎 Star、提 Issue、一起讨论。

相关推荐
MicrosoftCloud7 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
海绵宝宝转agent9 小时前
MySql高频面试八股开源笔记总结
mysql·面试·开源
niyongsheng13 小时前
后端零改动,给若依换一套现代化前端
vue.js·开源·node.js
EasyBr指纹浏览器13 小时前
抖音创作者数据导出:怎样留下可比较的日报?
数据分析·开源·抖音·数据导出
Sweet锦14 小时前
不调 Python,不装向量库:我用纯 Java 写了一套以图搜图引擎
java·人工智能·开源·图搜索
hasty14 小时前
2026-10-04_ABSENTIA鉴权不变量审计_CSDN_待发布
安全
网络毒刘14 小时前
开源 AI 编程助手横向对比(Cursor / Continue / Aider):能力边界与 AtomGit 落地建议
人工智能·开源
盘古开天166615 小时前
windows鱼塘可交互鱼群动态桌面资源
人工智能·chatgpt·开源
枫叶丹416 小时前
从一次推理请求出发:模型、显存、网络与服务系统如何共同决定性能
网络·人工智能·chatgpt·开源·agent·codex
杭州领祺科技16 小时前
27 号令横向隔离落地清单:储能边缘计算网关 ≠ 电力专用网闸,算电协同中心安全分区/纵向加密/SPDnet 怎么配
人工智能·安全·网络安全·边缘计算·储能·电力·电力监控