Индексатор Azure AISearch: «Массивы JSON с типом элемента «Float» сопоставляются с коллекцией (Edm.Double)»Python

Программы на Python
Ответить
Anonymous
 Индексатор Azure AISearch: «Массивы JSON с типом элемента «Float» сопоставляются с коллекцией (Edm.Double)»

Сообщение Anonymous »

У меня следующая проблема. Я пытаюсь создать индексатор в Azure AI Search. У меня есть набор навыков с навыком «Custom.WebApiSkill». Это дает мне следующий текст ответа:
{
"values": [
{
"recordId": "1",
"data": {
"embedding": [
-0.013657977,
0.004854262,
-0.015335504,
-0.010732211,
...
]
}
}
]
}

В рамках индексатора я сейчас пытаюсь сопоставить «встраиваемое» значение тела ответа с полем в моем индексе:
"outputFieldMappings": [
{
"sourceFieldName": "/document/pages/*/embedding",
"targetFieldName": "content_vector",
"mappingFunction": null
}
]

Мое индексное поле «content_vector» выглядит так:
{
"name": "content_vector",
"type": "Collection(Edm.Single)",
"key": false,
"retrievable": true,
"stored": true,
"searchable": true,
"filterable": false,
"sortable": false,
"facetable": false,
"synonymMaps": [],
"dimensions": 1536,
"vectorSearchProfile": "myHnswProfile"
}

Однако при выполнении я получаю следующую ошибку:
The data field 'content_vector/0' in the document with key 'aHR0cHM6Ly9zdHJhZ3Byb3RvdHlwZGV2My5ibG9iLmNvcmUud2luZG93cy5uZXQvdGVzdGRhdGEvS29tbXVuaWthdGlvbnN0ZWNobmlrLUZpYmVsLnBkZg2' has an invalid value of type 'Collection(Edm.Double)' ('JSON arrays with element type 'Float' map to Collection(Edm.Double)'). The expected type was 'Collection(Edm.Single)'.

Как я могу убедиться, что мой пользовательский WebApi возвращает массив внедрения со значениями float32, или как я могу убедиться, что мой индексатор интерпретирует значения как float32 (Edm.Single), а не как float64 (Edm-Double)?
Большое спасибо!
Я пытался использовать numpy в своем Custon WebAPI (python), чтобы преобразовать значения "встраивания" в float32, но это не сработало.
Как-то так:
embedding_float32 = np.array(embedding, dtype=np.float32).tolist()


Подробнее здесь: https://stackoverflow.com/questions/792 ... -collectio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»