谷歌顶点AI匹配引擎如何拒绝列表工作



顶点匹配引擎拒绝列表是如何工作的?

假设我有一个类水果,它将只具有拒绝列表令牌(不允许(,例如";苹果"芒果";,等等。我如何过滤掉";芒果";在查询中(搜索除芒果外的所有水果(?我尝试了以下方法,但没有如预期的那样工作:

json:

{"id": "1", "embedding":[0.002792,0.000492], "restricts": [{"namespace": "fruit", "deny": ["mango"]}]}

要查询的代码:

deny_namespace = match_service_pb2.Namespace()
deny_namespace.name = "fruit"
deny_namespace.deny_tokens.append("mango")
request.restricts.append(deny_namespace)

我已经将其编码为类似于对我有效的允许列表,但对于拒绝令牌,即使在完全覆盖索引之后,它似乎也不会跳过拒绝令牌。

几乎不改变字段";拒绝";至";允许";有效,但";拒绝";未能按预期工作(不过它没有抛出任何错误(。

全代码

查询

https://gist.github.com/niladridutt/673d4aa2a6225fa47d8aad7398b4cbd1

Proto文件-

https://gist.github.com/niladridutt/746833b8d61ec366c8c61de57c784ac4https://gist.github.com/niladridutt/31e9dc3432e206589729989acddf1225

GCP的文档中似乎有一些问题,或者这可能是一个错误。显式地将";拒绝";字段不起作用。对我有效的是在";允许";字段,在查询期间-在拒绝令牌列表中添加要拒绝的值。

最新更新