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

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

部署

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

Weaviate Agents

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

Weaviate Cloud

在云端管理和扩展 Weaviate

更多资源

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

需要帮助?

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

图像搜索

Image 搜索使用图像作为搜索输入来执行向量相似性搜索。

其他信息

配置图像搜索

要使用图像作为搜索输入,请为您的集合配置图像向量化器集成。请参阅模型提供商集成页面,了解可用集成的列表

通过本地图像路径

使用 Near Image 操作符执行图像搜索。
如果您的查询图像存储在文件中,您可以使用客户端库通过其文件名进行搜索。

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

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
from pathlib import Path

dogs = client.collections.use("Dog")
response = dogs.query.near_image(
near_image=Path("./images/search-image.jpg"), # Provide a `Path` object
return_properties=["breed"],
limit=1,
# targetVector: "vector_name" # required when using multiple named vectors
)

print(response.objects[0])

client.close()
示例响应

通过 base64 编码

您可以通过图像的 base64 编码进行搜索

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

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
base64_string="SOME_BASE_64_REPRESENTATION"

# Get the collection containing images
dogs = client.collections.use("Dog")

# Perform query
response = dogs.query.near_image(
near_image=base64_string,
return_properties=["breed"],
limit=1,
# targetVector: "vector_name" # required when using multiple named vectors
)

print(response.objects[0])

client.close()
示例响应
{
"data": {
"Get": {
"Dog": [
{
"breed": "Corgi"
}
]
}
}
}

client.close()

创建在线图像的 base64 编码

您可以创建在线图像的 base64 编码,并将其作为相似性搜索的输入如上所示

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

如果某个片段无法工作或您有任何反馈,请打开一个 GitHub issue
import base64, requests

def url_to_base64(url):
image_response = requests.get(url)
content = image_response.content
return base64.b64encode(content).decode("utf-8")

base64_img = url_to_base64("https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Deutsches_Museum_Portrait_4.jpg/500px-Deutsches_Museum_Portrait_4.jpg")

client.close()

与其他操作符组合

Near Image 搜索可以与其他任何操作符(如过滤器、限制等)组合,就像其他相似性搜索操作符一样。

请参阅 相似性搜索 页面了解更多详细信息。

问题和反馈

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