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

AWS OpenSearch模型_predict正常但Ingest Pipeline报非法参数异常

问题描述

我已通过连接器在AWS OpenSearch中部署了一个文本嵌入模型,在Dev Tools中执行以下请求可正常返回嵌入向量响应:

POST /_plugins/_ml/models/<model_id>/_predict
{
  "parameters": {
    "inputs": ["hello"]
  }
}

返回示例如下:

{
  "inference_results": [
    {
      "output": [
        {
          "name": "response",
          "dataAsMap": {
            "embedding": [
              0.18129970133304596,
              -0.05622033402323723, ...

但当我使用调用该模型的Ingest Pipeline模拟插入文档时,执行以下请求:

POST /_ingest/pipeline/nlp-ingest-pipeline/_simulate?verbose=true
{
  "docs": [
    {
      "_index": "product-index",
      "_id": "1",
      "_source":{
        "product_text": "hello"
      }
    }
  ]
}

出现如下错误(已精简):

"root_cause": [
              {
                "type": "illegal_argument_exception",
                "reason": "Invalid JSON in payload"
              }
            ],

我的Pipeline处理器配置如下:

"processors": [
    {
      "text_embedding": {
        "model_id": "<model_id>",
        "field_map": {
          "product_text": "product_embedding"
        }
      }
    }
  ]

我怀疑Pipeline无法解析模型端点的响应,请问在哪里可以查看Ingest Pipeline与模型的交互接口?

回答

查看Ingest Pipeline与模型的交互接口

  • 启用调试日志
    开启ingest和ml模块的DEBUG级日志,可捕获Pipeline调用模型的完整请求、响应及解析细节。通过集群设置API动态调整(无需重启集群):

    PUT /_cluster/settings
    {
      "transient": {
        "logger.org.opensearch.ingest": "DEBUG",
        "logger.org.opensearch.ml": "DEBUG"
      }
    }
    

    日志默认存储在/var/log/opensearch/路径下(根据部署环境可能调整),日志中会包含Pipeline发送给模型的请求体、模型返回的原始响应,以及解析过程中的错误信息。

  • 使用调试模式模拟Pipeline
    执行_simulate请求时替换为?debug=true参数,返回的结果会包含处理器执行的每一步细节,包括调用模型前后的数据变化、请求和响应的具体内容:

    POST /_ingest/pipeline/nlp-ingest-pipeline/_simulate?debug=true
    {
      "docs": [
        {
          "_index": "product-index",
          "_id": "1",
          "_source":{
            "product_text": "hello"
          }
        }
      ]
    }
    

额外排查提示

当前的Invalid JSON in payload错误大概率是因为text_embedding处理器预期的响应格式与连接器返回的模型响应不匹配,或是连接器转发响应时出现JSON格式损坏(如截断、转义错误)。通过上述两种方式获取交互细节后,对比模型直接返回的响应和Pipeline接收到的响应,即可定位具体格式差异问题。

内容的提问来源于stack exchange,提问作者Moltres

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:24:54