作者:企联AI
不久前,我在 Twitter 上看到 Anders Hejlsberg 发布了他的最新作品: typechat - an open source project that uses AI to bridge between natural language and application schema and APIs.
想象一下,借助于typechat,我们可以基于已有的 ts 类型声明文件,轻松将自然语言转换为 JSON 结构体。
而我们手头上的多维表格本质上就像一个类型声明文件,表头中的字段类型可以轻松地映射为 TypeScript 中的类型声明,同时表头的注释也能直接转化为 TypeScript 的代码注释。这将极大地简化数据处理过程,让数据的结构和类型定义变得更加直观和容易管理。
例如:
多维表格这边的字段数量是有限的,一个一个去兼容就好,参考此 issue//base字段-多行文本
{
id: "fld8t4vEEN",
type: 1,
name: "content",
property: {},
}
//映射为
content: string;
//base字段-单选框
{
id: '"fldueXn0k2"',
name: "is_novel",
property: {},
type: 7,
},
//映射为
is_novel: boolean;
更多例子可参考talkbase的单元测试文件
结束了吗?并没有。
typechat的成品是json字段,我们还需要适配成多维表格可以识别到的样式
// typechat 转化后结果
const resultExample = {
content: "TypeChat is awesome!",
};
//base 可识别的结果
{
type: "text",
text: "TypeChat is awesome!",
},
更多例子可参考talkbase的单元测试文件
效果展示
好啦,把上面两条线穿起来,互动效果相当惊艳。
额外说明
- Typechat 调用了node相关代码,需在服务端运行,建议使用nextjs模板
- 本文只适配了单个多维表格,如果遇到多个base表的字段相互关联情况,还需额外适配
- 现在只是利用了表格的字段名和字段类型,后续兼容字段注释会更加强大
- 为什么只是能使写入数据,操作数据和查询数据呢?期待你的PR