V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
matrix1010
V2EX  ›  分享创造

一个很厉害的开源 AI 表格生成工具

  •  
  •   matrix1010 ·
    Yiling-J · 4 天前 · 674 次点击

    https://github.com/Yiling-J/tablepilot

    先举一个很简单的例子,如何用 AI 生成 1000 个不重复的菜谱?最简单的方法可能是让 ChatGPT 先生成 10 个菜谱,然后保持上下文继续再生成 10 个,反复进行。但这样首先 context 会消耗大量 tokens ,其次就算有 context ,LLM 在数据量大了之后也很难保证不重复。另一种方法就是我们用一个或多个辅助列来确保生成的多样性,比如有一列[国家],预先从 50 个国家里随机取值,再有一列[大类],在早餐/正餐/甜点/小吃里随机取值。在这种组合下就算没有用已经生成的菜谱作为 context ,生成结果的多样性也会大大增强。而这个方法就是 Tablepilot 的基本思想。

    Tablepilot 其实是在我以前独立开发项目的基础上进行大幅重构后开源的,有兴趣可以翻翻我以前的帖子。这是我第一个完整的全栈开源项目,自认为还是挺有趣的,而且似乎没有同类开源项目,如果你确实有类似需求可能会非常有用。主要的特点有这些:

    • 同时支持 CLI 模式,API 模式以及 WebUI 模式。由于使用 Go 编写非常方便部署。
    • 方便集成各种 LLM ,只要支持 OpenAI API 格式以及 Structured Outputs 就行。比如我基本都用 Gemini Flash 测试。
    • 精细化的 context 管理,可以控制列的 context 长度以及引用其他数据源作为 context 。
    • 支持使用本地 CSV/Parquet 文件,其他 Tablepilot 表格以及 Kaggle(CSV)/Hugging Face 数据集作为数据源。数据源指的就是例子中的[国家]列这种,意思是你可以从一个国家 csv 文件或数据集里随机取值作为 context 。

    Off-topic: 如果你也想做类似的 CLI/API/WebUI 项目,我觉得我这个项目的结构也可以作为参考。Go 在写这样的项目上确实非常方便。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2417 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:45 · PVG 19:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.