You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AnalyzeForm power skill将数值数据索引至Azure Search并解决返回null问题

问题结论

该现象不属于Power Skill的代码Bug,是Azure Form Recognizer SDK的字段取值逻辑导致的:field.value属性仅在SDK成功将识别内容解析为对应类型值时才会赋值,若解析失败就会返回null,但字段原始识别文本会保存在field.text属性中。

修复方案

修改赋值逻辑,增加对数值类型字段的降级处理,优先尝试解析field.text为数值:

# 替换原逻辑 recognized[v] =  field.value
if field.value is not None:
    recognized[v] = field.value
# 处理number类型字段value为空的场景
elif field.type == "number" and field.text:
    try:
        # 根据业务需要选择转换为浮点型或整型
        recognized[v] = float(field.text.strip())
        # 若需要整型可改为:recognized[v] = int(float(field.text.strip()))
    except ValueError:
        # 转换失败时可根据业务需求选择赋值原始文本或置空
        recognized[v] = field.text
else:
    recognized[v] = None

可选适配方案

如果你的搜索索引中TotalCredit字段无需参与数值计算、过滤或排序,也可以直接将索引中该字段类型修改为字符串类型,赋值时直接取field.text即可,无需做类型转换。


内容的提问来源于stack exchange,提问作者Mr. code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:45:03