create_collection - 创建 Collection
create_collection() 用于创建一个新的 Collection ,即数据库中的表。
信息
仅支持在使用 Client 连接时,才能使用该接口。关于 Client 的详细介绍,参见 Client。
前提条件
-
您已经安装了 pyseekdb,有关安装 pyseekdb 的详细信息,参见 快速开始。
-
您已经连接到数据库。有关连接的详细操作参见 Client。
-
如果您使用的是服务器模式的 seekdb 或者 OceanBase 数据库,请确保连接的用户具备
CREATE权限。查看当前用户权限的相关操作请参见 查看用户权限。如果不具备该权限,请联系管理员为您授权,用户授权的 相关操作请参见 直接授予权限。
定义表名
创建表时,需要先为表命名,以下是定义表名时需要遵循的要求:
-
在 seekdb 中,每个表的名称必须保证在数据库内唯一。
-
表名称不能超过 64 个字符。
-
建议给表起一个有意义的名字,不要使用 t1、table1 这样的表名。更多表命名规范信息,请参见 表命名规范。
请求参数
create_collection(name = name,configuration = configuration, embedding_function = embedding_function )
| 参数 | 取值类型 | 是否必选 | 描述 | 取值示例 |
|---|---|---|---|---|
name | string | 必选 | 指定要创建的 Collection 的名称。 | my_collection |
configuration | HNSWConfiguration | 可选 | 具有维度和距离度量的索引配置,如果未提供,则使用默认值,默认为 dimension=384, distance='cosine'。如果设置为 None,则维度将从 embedding_function 值计算。 | HNSWConfiguration(dimension=384, distance='cosine') |
embedding_function | EmbeddingFunction | 可选 | 将 convert 转换为 vectors 的函数。如果未提供,则使用 DefaultEmbeddingFunction()(384 dimensions);如果设置为 None,collection 将不包含嵌入功能,如果提供了嵌入功能,则将根据 configuration.dimension 自动计算。 | DefaultEmbeddingFunction() |
信息
当提供 embedding_function 时,系统将通过调用该函数自动计算向量维数。如果还提供了 configuration.dimension,则它必须与 embedding_function 的维度匹配,否则将引发 ValueError。