创建和部署索引后,您可以运行查询以获取最近邻。
以下是匹配查询的一些示例,这些查询使用 k 最近邻算法 (k-NN) 查找最近邻。
公共端点查询示例
Python
Python
Curl
您可以在部署中找到下面列出的 publicEndpointDomainName
。
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://1957880287.us-central1-181224308459.vdb.vertexai.goog/v1/projects/181224308459/locations/us-central1/indexEndpoints/3370566089086861312:findNeighbors -d '{deployed_index_id: "test_index_public1", queries: [{datapoint: {datapoint_id: "0", feature_vector: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, neighbor_count: 5}]}'
此 curl 示例展示了如何从 http(s)
客户端进行调用,虽然公共端点支持 RESTful 和 grpc_cli
的双协议。
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://1957880287.us-central1-181224308459.vdb.vertexai.goog/v1/projects/${PROJECT_ID}/locations/us-central1/indexEndpoints/${INDEX_ENDPOINT_ID}:readIndexDatapoints -d '{deployed_index_id:"test_index_public1", ids: ["606431", "896688"]}'
控制台
按照以下说明从控制台查询部署到公共端点的索引。
- 在 Google Cloud 控制台的 Vertex AI 部分中,前往部署和使用部分。选择 Vector Search
- 选择要查询的索引。此时会打开索引信息页面。
- 向下滚动到已部署的索引部分,然后选择要查询的已部署索引。此时会打开已部署的索引信息页面。
- 在查询索引部分中,选择查询参数。您可以选择按向量或特定数据点进行查询。
- 使用提供的 curl 命令或使用 Cloud Shell 运行来执行查询。
- 如果使用 Cloud Shell,请选择在 Cloud Shell 中运行。
- 在 Cloud Shell 中运行。
- 结果会返回最近邻。
如需查看端到端示例,了解如何创建索引、如何将其部署到公共端点以及如何查询,请参阅官方笔记本:使用 Vector Search 和 Vertex AI Embeddings for Text 处理 StackOverflow 问题。
影响性能的查询时间设置
使用 Vector Search 时,以下查询时参数可能会影响延迟时间、可用性和费用。本指南适用于大多数情况。 但是,请始终对您的配置进行实验,以确保它们适用于您的用例。
如需了解参数定义,请参阅索引配置参数。
参数 | 简介 | 性能影响 |
---|---|---|
approximateNeighborsCount |
告知算法要从每个分片中检索的近似结果数。 |
增加
降低
|
setNeighborCount |
指定您希望查询返回的结果数。 |
在大多数用例中,小于或等于 300 的值仍然保持高性能。 对于较大的值,请针对具体用例进行测试。
|
fractionLeafNodesToSearch |
控制搜索最近邻时要访问的叶节点的百分比。这与 leafNodeEmbeddingCount 相关,因为每个叶节点的嵌入越多,每个叶节点检查的数据就越多。 |
增加
降低
|