我创建了一个 Azure 认知搜索资源,其中填充了示例中的 cosmosdb hotels-sample 数据库。
我使用默认值创建了一个索引(没有认知技能,也没有自定义索引)。这就是我的索引的样子:
通过使用搜索浏览器查询“Albuquerque”,将返回此 JSON 文档。
{
"@odata.context": "https://myazurecognitiveendpoint.search.windows.net/indexes('hotels-sample-index')/$metadata#docs(*)",
"value": [
{
"@search.score": 0.9808292,
"HotelId": "20",
"HotelName": "Travel Resort",
"Description": "The Best Gaming Resort in the area. With elegant rooms & suites, pool, cabanas, spa, brewery & world-class gaming. This is the best place to play, stay & dine.",
"Description_fr": "La meilleure station de jeux dans la région. Avec des chambres et suites élégantes, piscine, Cabanas, Spa, brasserie & Gaming de classe mondiale. C'est le meilleur endroit pour jouer, rester et dîner.",
"Category": "Budget",
"Tags": [
"continental breakfast",
"bar",
"pool"
],
"ParkingIncluded": false,
"LastRenovationDate": "2014-10-31T00:00:00Z",
"Rating": 4.2,
"Location": {
"type": "Point",
"coordinates": [
-106.605949,
35.1087
],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
}
},
"Address": {
"StreetAddress": "3400 Menaul Blvd NE",
"City": "Albuquerque",
"StateProvince": "NM",
"PostalCode": "87107",
"Country": "USA"
},
"Rooms": [
{
"Description": "Budget Room, 1 Queen Bed (City View)",
"Description_fr": "Chambre Économique, 1 grand lit (vue sur la ville)",
"Type": "Budget Room",
"BaseRate": 72.99,
"BedOptions": "1 Queen Bed",
"SleepsCount": 2,
"SmokingAllowed": false,
"Tags": [
"coffee maker"
]
},
... more rooms
]
}
]
}
检查文档,我猜索引器得到了它,因为阿尔伯克基出现在 Address field 的 City subfield 上,这很好。
现在,我的目标是,将索引作为数据源集成到 Azure OpenAI Service Chat 中。
使用 HotelName、Description 和/或 Category 按预期工作。 但是,当使用地址时,我得到了这个
同样,使用 Tags field,我收到另一个错误。
因此,即使子字段是可搜索的,复杂字段和集合字段似乎也是不可搜索的。
{
{
"name": "Tags",
"type": "Collection(Edm.String)",
"searchable": true,
"filterable": true,
"retrievable": true,
"sortable": false,
"facetable": true,
"key": false,
"indexAnalyzer": null,
"searchAnalyzer": null,
"analyzer": "en.microsoft",
"normalizer": null,
"dimensions": null,
"vectorSearchConfiguration": null,
"synonymMaps": []
},
"name": "Address",
"type": "Edm.ComplexType",
"fields": [
{
"name": "StreetAddress",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"sortable": false,
"facetable": false,
"key": false,
"indexAnalyzer": null,
"searchAnalyzer": null,
"analyzer": "en.microsoft",
"normalizer": null,
"dimensions": null,
"vectorSearchConfiguration": null,
"synonymMaps": []
},
{
"name": "City",
"type": "Edm.String",
"searchable": true,
...
}
用于加载数据源的 OpenAI 向导没有用于单独选择子字段的下拉列表。
我还尝试在 JSON 索引定义中添加“searchable”: true 选项,但它不允许我这样做。
我希望得到 Azure OpenAI Service Chat 的回复,其中包含有关阿尔伯克基文档的信息。
你能解决这个问题吗?我也遇到过类似的问题