Azure 开放 AI 服务如何从 Azure 认知搜索索引映射 Edm.ComplexType 字段的子字段?

问题描述 投票:0回答:1

我创建了一个 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 fieldCity subfield 上,这很好。

现在,我的目标是,将索引作为数据源集成到 Azure OpenAI Service Chat 中。

使用 HotelNameDescription 和/或 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 向导没有用于单独选择子字段的下拉列表。

  1. 有办法选择它们吗?
  2. 我是否误解了索引?

我还尝试在 JSON 索引定义中添加“searchable”: true 选项,但它不允许我这样做。

我希望得到 Azure OpenAI Service Chat 的回复,其中包含有关阿尔伯克基文档的信息。

azure azure-cosmosdb azure-cognitive-search azure-openai
1个回答
0
投票

你能解决这个问题吗?我也遇到过类似的问题

© www.soinside.com 2019 - 2024. All rights reserved.