跳到主要内容

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 )
参数取值类型是否必选描述取值示例
namestring必选指定要创建的 Collection 的名称。my_collection
configurationHNSWConfiguration可选具有维度和距离度量的索引配置,如果未提供,则使用默认值,默认为 dimension=384, distance='cosine'。如果设置为 None,则维度将从 embedding_function 值计算。HNSWConfiguration(dimension=384, distance='cosine')
embedding_functionEmbeddingFunction可选将 convert 转换为 vectors 的函数。如果未提供,则使用 DefaultEmbeddingFunction()(384 dimensions);如果设置为 None,collection 将不包含嵌入功能,如果提供了嵌入功能,则将根据 configuration.dimension 自动计算。DefaultEmbeddingFunction()
信息

当提供 embedding_function 时,系统将通过调用该函数自动计算向量维数。如果还提供了 configuration.dimension,则它必须与 embedding_function 的维度匹配,否则将引发 ValueError。

请求示例

import pyseekdb
from pyseekdb import DefaultEmbeddingFunction, HNSWConfiguration

# Create a client
client = pyseekdb.Client()

# Create a collection with default embedding function (auto-calculates dimension)
collection = client.create_collection(
name="my_collection"
)

# Create a collection with custom embedding function
ef = UserDefinedEmbeddingFunction() // define your own Embedding function, See section.6
config = HNSWConfiguration(dimension=384, distance='cosine') # Must match EF dimension
collection = client.create_collection(
name="my_collection2",
configuration=config,
embedding_function=ef
)

# Create a collection without embedding function (vectors must be provided manually)
collection = client.create_collection(
name="my_collection3",
configuration=HNSWConfiguration(dimension=384, distance='cosine'),
embedding_function=None # Explicitly disable embedding function
)

返回参数

相关操作