Chroma DB 中是否有内置功能能够以可靠的方式从 chromadb 中存储的块重建文档?
langchain 的
Chroma().get()
方法返回一个包含条目的字典
假设原始文档data.txt为“data1 data2 data3”
{
"documents": [
"data1","data2","data3"
],
"embeddings": null,
"ids": [
uuid1,uuid2,uuid3
],
"metadatas": [
{
"source": "data.txt"
},
{
"source": "data.txt"
},
{
"source": "data.txt"
},
]
}
我们如何正确合并嵌入以重新创建源文档 data.txt?
假设它们从一开始就被正确排序,我想可以创建一个循环来做到这一点。唯一的问题是“documents”数组中的某些元素在开头和结尾有一些重叠的子字符串。我没有进行任何自定义分块,因此我不知道溢出有多少个字符,并且它不是恒定的,它在某些元素中有所不同。我想解决办法可能是手动进行分块并了解重叠。
是否有更通用的方法或者由 chroma 或 langchain 提供的方法?
我认为 chromadb 中没有这样的默认函数。如果您想存储任何文本数据并检索它们,它们提供元数据选项,您可以使用内置功能存储和过滤数据。但我已经阅读了有关解码嵌入的内容,以下链接可能会有所帮助 -> https://community.openai.com/t/is-it-possible-to-convert-vector-to-text/312794/20