【Elasticsearch】inference ingest pipeline

 Elasticsearch 的 Ingest Pipeline 功能允许你在数据索引之前对其进行预处理。通过使用 Ingest Pipeline,你可以执行各种数据转换和富化操作,包括使用机器学习模型进行推理(inference)。这在处理词嵌入、情感分析、图像识别等场景中非常有用。

 

### 使用 Inference Ingest Pipeline

 

以下是一个详细的步骤,展示如何使用 Inference Ingest Pipeline 在 Elasticsearch 中加载和使用预训练的机器学习模型来进行推理。

 

### 步骤 1: 准备机器学习模型

 

首先,你需要准备一个预训练的机器学习模型,并将其部署到 Elasticsearch 的机器学习模块中。Elasticsearch 支持多种模型格式,包括 TensorFlow、PyTorch、ONNX 等。

 

#### 示例:上传 TensorFlow 模型

 

1. **下载或训练模型**:确保你有一个 TensorFlow 模型文件(例如,`.pb` 文件)。

2. **上传模型**:使用 Elasticsearch 的机器学习 API 将模型上传到 Elasticsearch。

 

```json

PUT _ml/trained_models/my_word_embedding_model

{

  "input": {

    "field_names": ["text"]

  },

  "inference_config": {

    "natural_language_inference": {

      "results_field": "inference_results"

    }

  },

  "model": {

    "definition": {

      "path": "path/to/your/model.pb"

    }

  }

}

```

 

### 步骤 2: 创建 Ingest Pipeline

 

创建一个 Ingest Pipeline,使用刚刚上传的模型进行推理。

 

```json

PUT _ingest/pipeline/word_embedding_pipeline

{

  "description": "Pipeline to add word embeddings using a trained model",

  "processors": [

    {

      "inference": {

        "model_id": "my_word_embedding_model",

        "target_field": "embedding"

      }

    }

  ]

}

```

 

### 步骤 3: 使用 Ingest Pipeline 索引数据

 

在索引数据时,指定使用创建的 Ingest Pipeline。

 

```json

POST word_embeddings/_doc?pipeline=word_embedding_pipeline

{

  "word": "example"

}

```

 

### 示例:完整流程

 

以下是一个完整的示例,展示如何从头开始创建和使用 Inference Ingest Pipeline。

 

#### 1. 上传模型

 

```json

PUT _ml/trained_models/my_word_embedding_model

{

  "input": {

    "field_names": ["text"]

  },

  "inference_config": {

    "natural_language_inference": {

      "results_field": "inference_results"

    }

  },

  "model": {

    "definition": {

      "path": "path/

分析代码 管理 采集 采集管道 数据 索引管理 索引生命周期策略 转换 告警和洞见 规则 案例 连接器 维护窗口 安全 API 密钥 Kibana 数据视图 文件 已保存对象 标签 高级设置 采集管道 在建立索引之前,请使用管道删除或转换字段,从文本中提取值,并扩充您的数据。 采集管道文档 Search... 托管 重新加载 创建管道 此表包含 10 行,共有 52 行;第 1 页,共 6 页。 名称 操作 .fleet_final_pipeline-1 托管 编辑 删除 .kibana-observability-ai-assistant-kb-ingest-pipeline 编辑 删除 .slo-observability.sli.pipeline 托管 编辑 删除 .slo-observability.summary.pipeline 托管 编辑 删除 auto_add_timestamp 编辑 删除 behavioral_analytics-events-final_pipeline 托管 编辑 删除 ent-search-generic-ingestion 托管 编辑 删除 filebeat_log_transmit_from_38_132 编辑 删除 logs-default-pipeline 托管 编辑 删除 logs-elasticsearch.audit-1.15.2 托管 编辑 删除 每页行数: 10 页 1 / 6 1 2 3 4 5 6 您位于模式对话框中。按 Esc 键或点击/单击阴影涂层上的对话框外部可关闭。 除对话框以外,您还可以继续浏览页面标题。 .kibana-observability-ai-assistant-kb-ingest-pipeline 处理器 [ { "inference": { "model_id": ".elser_model_1", "target_field": "ml", "field_map": { "text": "text_field" }, "inference_config": { "text_expansion": { "results_field": "tokens" } } } } ] 关闭 管理 [ { "inference": { "model_id": ".elser_model_1", "target_field": "ml", "field_map": { "text": "text_field" }, "inference_config": { "text_expansion": { "results_field": "tokens" } } } } ]
08-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值