Shapeshift 是一个 TypeScript 库,使用向量嵌入映射任意结构的 JSON 对象。它利用语义相似性匹配对象之间的键,允许灵活和智能的对象转换,包括对嵌套结构的支持。 该库的工作原理是:将源对象和目标对象都扁平化,在键中保留嵌套结构信息。它使用指定的嵌入提供程序和模型计算扁平化键的嵌入。对于扁平化源对象中的每个键,它使用嵌入的余弦相似度在扁平化目标对象中找到语义最相似的键。如果相似度得分高于指定的阈值,则将源对象中的值映射到目标对象中的相应键。最后,库对结果进行反扁平化,恢复目标对象的嵌套结构。