爱意满满的作品展示区。
matrix1010

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

  •  
  •   matrix1010 ·
    Yiling-J · Apr 1, 2025 · 2323 views
    This topic created in 406 days ago, the information mentioned may be changed or developed.

    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 在写这样的项目上确实非常方便。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1360 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:11 · PVG 01:11 · LAX 10:11 · JFK 13:11
    ♥ Do have faith in what you're doing.