创建一个新的空向量数据库.
CreateVectorDatabase[{vec1,…}]
用向量集 veci 初始化数据库.
CreateVectorDatabase[{vec1,…}{val1,…}]
将 vali 与向量 veci 关联在一起.
CreateVectorDatabase[data,name]
为向量数据库指定 name.
CreateVectorDatabase
创建一个新的空向量数据库.
CreateVectorDatabase[{vec1,…}]
用向量集 veci 初始化数据库.
CreateVectorDatabase[{vec1,…}{val1,…}]
将 vali 与向量 veci 关联在一起.
CreateVectorDatabase[data,name]
为向量数据库指定 name.
更多信息和选项
- CreateVectorDatabase 初始化一个新的向量数据库来存储和管理高维数据,以实现高效的搜索和检索.
- 向量数据库的典型应用包括推荐系统、图像和文本检索以及大数据集中的相似性搜索.
- data 可取的值包括:
-
{vec1,…} 向量列表 {vec1val1,…} 向量列表和关联的值 {vec1,…}{val1,…} 向量和值之间的规则 - 标量列表被解释为一维向量列表. »
- 可接受的 vali 的形式包括:
-
"string" 字符串标签 <|"tag1"v1,…|> 标签和元数据值组成的关联 - 数据库 name 必须是字符串.
- 可指定以下选项:
-
DistanceFunction CosineDistance 如何计算向量距离 FeatureExtractor Identity 如何将输入转换为向量 GeneratedAssetLocation $GeneratedAssetLocation 将数据库保存到何处 OverwriteTarget Automatic 是否覆盖现有位置 WorkingPrecision Automatic 数值精度 - DistanceFunction 可取的值包括 EuclideanDistance、SquaredEuclideanDistance、CosineDistance、JaccardDissimilarity 和 HammingDistance.
- WorkingPrecision 可能的设置包括:
-
"Integer8" 从
到 127 的有符号 8 位整数"Real32" 单精度实数 (32 bit) "Real64" 双精度实数 (64 bit)
范例
打开所有单元 关闭所有单元基本范例 (2)
创建一个空的 VectorDatabaseObject:
CreateVectorDatabase[]database = CreateVectorDatabase[RandomReal[1, {10, 4}], "myDB"]VectorDatabaseSearch[database, {1, 1, 1, 1}]范围 (5)
数据源 (3)
元数据 (2)
CreateVectorDatabase[{{1, 2, 3} -> "A", {4, 5, 6} -> "B"}]CreateVectorDatabase[{{1, 2, 3}, {4, 5, 6}} -> {"A", "B"}]将带有标签的元数据指定为 Association:
CreateVectorDatabase[{{1, 2, 3} -> <|"tag1" -> "A", "tag2" -> 42|>, {4, 5, 6} -> <|"tag1" -> "B", "tag2" -> 1234|>}]CreateVectorDatabase[{{1, 2, 3}, {4, 5, 6}} -> {<|"tag1" -> "A", "tag2" -> 42|>, <|"tag1" -> "B", "tag2" -> 1234|>}]选项 (10)
DistanceFunction (1)
CreateVectorDatabase[DistanceFunction -> CosineDistance]默认情况下,使用 EuclideanDistance:
CreateVectorDatabase[]["DistanceFunction"]FeatureExtractor (1)
只有向量可以被存储在数据库中;指定可以提取图像特征的 FeatureExtractor:
db = CreateVectorDatabase[{[image], [image], [image], [image], [image], [image]}, FeatureExtractor -> "ImageFeatures"]VectorDatabaseSearch[db, [image]]GeneratedAssetLocation (3)
CreateVectorDatabase["myDB", GeneratedAssetLocation -> "CloudObject"]%["Location"]CreateVectorDatabase[]["Location"]file = File[FileNameJoin[{$TemporaryDirectory, "testfile"}]]CreateVectorDatabase["myDB", GeneratedAssetLocation -> file]%["Location"]VectorDatabaseObject[File["/private/var/folders/05/v_ct9frn7zv4vy6f2q18y2r80000gn/T/testfile"]]OverwriteTarget (2)
CreateVectorDatabase["myDB"]如果采用默认设置 OverwriteTargetAutomatic,将生成一个新的数据库名称以避免冲突:
CreateVectorDatabase["myDB"]要强制覆盖,请使用 OverwriteTargetTrue:
CreateVectorDatabase["myDB", OverwriteTarget -> True]用 OverwriteTargetFalse 进行检查:
CreateVectorDatabase["myDB", OverwriteTarget -> False]OverwriteTargetFalse 还将防止在不同位置重复使用相同的数据库名称:
CreateVectorDatabase["myDB", OverwriteTarget -> False, GeneratedAssetLocation -> File["myDBfile"]]CreateFile@File["myDBfile"]CreateVectorDatabase["myDB", GeneratedAssetLocation -> File["myDBfile"]]用 OverwriteTargetTrue 覆盖现有文件:
CreateVectorDatabase["myDB", GeneratedAssetLocation -> File["myDBfile"], OverwriteTarget -> True]WorkingPrecision (3)
CreateVectorDatabase[{{1, 2, 3}}, WorkingPrecision -> "Real32"]CreateVectorDatabase[{{1, 2, 3}}]["WorkingPrecision"]db = CreateVectorDatabase[WorkingPrecision -> "Real32"];AddToVectorDatabase[db, {{1, 2, 10 ^ 100}}]["Vectors"]//Normaldb = CreateVectorDatabase[];
db["WorkingPrecision"]AddToVectorDatabase[db, {{1, 2, 3}}]["WorkingPrecision"]属性和关系 (1)
可能存在的问题 (4)
CreateVectorDatabase[{(| | |
| - | - |
| 1 | 2 |
| 3 | 4 |), (| | |
| - | - |
| 5 | 6 |
| 7 | 8 |)}]CreateVectorDatabase[{{1, 2, 3}, {1, 2}}]CreateVectorDatabase["DemoDB"]Table[CreateVectorDatabase["DemoDB"]["ID"], 5]使用 DeleteObject 删除错误生成的 VectorDatabaseObject:
DeleteObject[VectorDatabaseObjects["DemoDB*"]]CreateVectorDatabase["DemoDB"]或者,使用选项 OverwriteTargetTrue 来覆盖旧数据库:
CreateVectorDatabase["DemoDB", OverwriteTarget -> True]OverwriteTarget -> False 会显示错误消息,而不是增加一个递增数字:
CreateVectorDatabase["DemoDB", OverwriteTarget -> False]db = CreateVectorDatabase["myDB", GeneratedAssetLocation -> File["myDBfile"]]CreateVectorDatabase["myDB", GeneratedAssetLocation -> File["myDBfile2"]]DeleteObject[db]CreateVectorDatabase["myDB", GeneratedAssetLocation -> File["myDBfile2"], OverwriteTarget -> True]db = CreateVectorDatabase[RandomReal[1, {1000, 10}], GeneratedAssetLocation -> None]db[[1]]PersistentObject["SemanticSearch`Storage`VectorDB-e75090c3-01ff-4318-ada5-38536495b10b", "KernelSession"]["Value"]相关指南
文本
Wolfram Research (2024),CreateVectorDatabase,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CreateVectorDatabase.html.
CMS
Wolfram 语言. 2024. "CreateVectorDatabase." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CreateVectorDatabase.html.
APA
Wolfram 语言. (2024). CreateVectorDatabase. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CreateVectorDatabase.html 年
BibTeX
@misc{reference.wolfram_2026_createvectordatabase, author="Wolfram Research", title="{CreateVectorDatabase}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/CreateVectorDatabase.html}", note=[Accessed: 13-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_createvectordatabase, organization={Wolfram Research}, title={CreateVectorDatabase}, year={2024}, url={https://reference.wolfram.com/language/ref/CreateVectorDatabase.html}, note=[Accessed: 13-September-2026]}