get_collection - 获取 collection
get_collection() 用于获取指定的 Collection。
信息
仅支持在使用 Client 连接时,才能使用该接口。关于 Client 的详细介绍,参见 Client。
前提条件
-
您已经安装了 pyseekdb,有关安装 pyseekdb 的详细信息,参见 快速开始。
-
您已经连接到数据库。有关连接的详细操作参见 Client。
-
您获取的 Collection 存在。如果 Collection 不存在,则会提示报错。
请求参数
client.get_collection(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() |
信息
当 documents/texts 没有提供 vectors 时,此处设置的 embedding function 将用于此 collection 的所有操作,操作包含 add, upsert, update, query, hybrid_search。
请求示例
import pyseekdb
# Create a client
client = pyseekdb.Client()
# Get an existing collection (uses default embedding function if collection doesn't have one)
collection = client.get_collection("my_collection")
print(f"Database: {collection.name}, dimension: {collection.dimension}, embedding_function:{collection.embedding_function}, distance:{collection.distance}, metadata:{collection.metadata}")
# Get collection with specific embedding function
ef = UserDefinedEmbeddingFunction() // define your own Embedding function, See section.6
collection = client.get_collection("my_collection", embedding_function=ef)
print(f"Database: {collection.name}, dimension: {collection.dimension}, embedding_function:{collection.embedding_function}, distance:{collection.distance}, metadata:{collection.metadata}")
# Get collection without embedding function
collection = client.get_collection("my_collection", embedding_function=None)
# Check if collection exists
if client.has_collection("my_collection"):
collection = client.get_collection("my_collection")
print(f"Database: {collection.name}, dimension: {collection.dimension}, embedding_function:{collection.embedding_function}, distance:{collection.distance}, metadata:{collection.metadata}")
返回参数
| 参数 | 返回类型 | 是否必选 | 描述 | 返回示例 |
|---|---|---|---|---|
name | string | 必选 | 指定要查询的 Collection 的名称。 | my_collection |
dimension | int | 可选 | 384 | |
embedding_function | EmbeddingFunction | 可选 | DefaultEmbeddingFunction(model_name='all-MiniLM-L6-v2') | |
distance | string | 可选 | cosine | |
metadata | dict | 可选 | 预留字段,暂无数据 |