跳至主要内容
前往文档
⌘U
Weaviate 数据库

使用 Weaviate 的 APIs 和工具开发 AI 应用

部署

部署、配置和维护 Weaviate 数据库

Weaviate Agents

使用 Weaviate 构建和部署智能代理

Weaviate Cloud

在云端管理和扩展 Weaviate

更多资源

集成
贡献者指南
活动 & 工作坊
Weaviate Academy

需要帮助?

Weaviate Logo询问 AI 助手⌘K
社区论坛

读取对象

您可以不查询数据库,而使用 ID 来检索单个对象。

其他信息
对象 CRUD 操作中的集合(类)名称

集合充当命名空间,因此两个不同的集合之间可能存在重复的 ID。


在 Weaviate v1.14 之前,您可以无需指定集合名称即可操作对象。此方法已被弃用。它将在 Weaviate v2.0.0 中删除。

v1.20 开始,您可以拥有 多租户 数据集。当 multi-tenancy 启用时,需要租户名称。

始终包含集合名称,并在启用时包含租户名称。

通过 ID 获取对象

使用 ID 检索对象。如果 ID 不存在,Weaviate 将返回 404 错误。

py docs  API 文档
更多信息文档中的代码片段反映了最新的客户端库和 Weaviate 数据库版本。请查看 发行说明 以获取特定版本。

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
jeopardy = client.collections.use("JeopardyQuestion")

data_object = jeopardy.query.fetch_object_by_id("00ff6900-e64f-5d94-90db-c8cfa3fc851b")

print(data_object.properties)
返回的属性

默认情况下,将返回所有属性和对象 UUID。除非另有说明,否则将排除 Blob 和引用属性。这不适用于 Go 和 Java v5 客户端库。

检索对象的向量

可以通过指定其返回来检索对象向量。

py docs  API 文档
更多信息文档中的代码片段反映了最新的客户端库和 Weaviate 数据库版本。请查看 发行说明 以获取特定版本。

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
jeopardy = client.collections.use("JeopardyQuestion")

data_object = jeopardy.query.fetch_object_by_id(
"00ff6900-e64f-5d94-90db-c8cfa3fc851b",
include_vector=True
)

print(data_object.vector["default"])

检索命名向量

使用命名向量的情况下,可以通过指定其名称来检索一个或多个向量。

py docs  API 文档
更多信息文档中的代码片段反映了最新的客户端库和 Weaviate 数据库版本。请查看 发行说明 以获取特定版本。

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
reviews = client.collections.use("WineReviewNV")  # Collection with named vectors
vector_names = ["title", "review_body"]

data_object = reviews.query.fetch_object_by_id(
uuid=obj_uuid, # Object UUID
include_vector=vector_names # Specify names of the vectors to include
)

# The vectors are returned in the `vector` property as a dictionary
for n in vector_names:
print(f"Vector '{n}': {data_object.vector[n][:5]}...")

检查对象是否存在

为了有效地检查具有给定 id 的对象是否存在,而无需检索它,请向 /v1/objects/ REST 端点 发送 HEAD 请求,或使用以下客户端代码

py docs  API 文档
更多信息文档中的代码片段反映了最新的客户端库和 Weaviate 数据库版本。请查看 发行说明 以获取特定版本。

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
# generate uuid based on the key properties used during data insert
object_uuid = generate_uuid5({"name": "Author to fetch"})

authors = client.collections.use("Author")
author_exists = authors.data.exists(object_uuid)

print("Author exist: ", author_exists)

问题和反馈

如果您有任何问题或反馈,请在 用户论坛 中告诉我们。