我已经在 weaviate 中创建了一个模式,并试图弄清楚是否已为属性生成了向量。
entityClass := &models.Class{
Class: classEntity,
Description: "A generic class to store various entities",
Properties: []*models.Property{
{
Name: propertyName,
DataType: []string{"text"},
Description: "Name of the entity",
},
{
Name: propertyDescription,
DataType: []string{"text"},
Description: "Description of the entity",
IndexSearchable: &indexSearchableFalse,
},
{
Name: propertyPossibleValues,
DataType: []string{"object[]"},
Description: "Possible values for the entity",
NestedProperties: []*models.NestedProperty{
{
Name: propertyName, // THIS SHOULD BE VECTORIZED - HOW????
DataType: []string{"text"},
Description: "Name of the possible value",
},
},
},
},
Vectorizer: "text2vec-transformers",
}
我已阅读文档(https://weaviate.io/developers/weaviate/api/rest#tag/objects/POST/objects),尽管据我了解这是可行的,但我找不到方法实现它。
请注意,如果我调用以下端点:
http://localhost:8080/v1/objects?include=vector
,则会返回一个向量,但在类级别上,如下所示:
{
"class": "Entity",
"creationTimeUnix": 1727463789740,
"id": "9c5aadb9-aa45-475d-8b6b-63ca8ffbd0c8",
"lastUpdateTimeUnix": 1727463789740,
"properties": {
"description": "It indicates uncertainty, lack of information, or the discovery of new information.",
"name": "InfoTest2",
"possibleValues": [
{
"name": "notAvailable",
},
]
},
"vector": [
0.0278321,
0.006750059,
.............
],
"vectorWeights": null
}
以上证明了向量化器和weaviate之间的连接是成功的,因此只需使用正确的参数调用API即可。
来自 Weaviate 的 Duda 这里!
这是物体的实际向量。因此,考虑到您在创建该对象时从未传递过向量,它是由您的 Transformer 模型生成的。
此端点 http://localhost:8080/v1/objects?include=vector 将生成集群中的所有对象。
所以这是一个对象列表,其中一个属性是它所属的类。
请告诉我这是否有帮助:)