📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

API 状态说明 #

重要提示POST /_ai/embeddings API 在 Easysearch 中已废弃,调用此 API 会返回 HTTP 410 (Gone) 状态码。

废弃的 API #

POST /_ai/embed
POST /_ai/embed/{model}

响应状态 #

调用已废弃的端点时会返回:

  • 状态码:410 Gone
  • 错误信息:“Deprecated and no longer supported”

推荐的替代方案 #

虽然 REST 端点已被废弃,但嵌入功能仍然可以通过以下方式使用:

1. 摄入管道 + TextEmbedding 处理器 #

在创建索引时通过摄入管道自动生成嵌入向量:

PUT /_ingest/pipeline/my-pipeline
{
  "processors": [
    {
      "text_embedding": {
        "model": "text-embedding-ada-002",
        "text_field": "content",
        "vector_field": "content_embedding",
        "url": "http://localhost:11434/api/embeddings",
        "vendor": "ollama"
      }
    }
  ]
}

2. 搜索管道 + 语义查询 #

在搜索时使用语义查询处理器:

PUT /_search/pipeline/semantic-search
{
  "request_processors": [
    {
      "semantic_query_enricher": {
        "model_name": "text-embedding-ada-002",
        "text_field": "query_text",
        "embedding_field": "content_embedding"
      }
    }
  ]
}

3. Action API #

使用内部的 cluster:admin/ai/embed action。

废弃 API 的参数说明 #

虽然 API 已废弃,以下是原始参数说明:

路由参数 #

参数类型是否必需描述
modelstring可选要使用的 AI 模型名称

请求体参数 #

参数类型是否必需描述
modelstring必需AI 模型名称
inputarray必需需要生成嵌入向量的文本数组
urlstring必需外部 AI 服务的 URL 地址
vendorstring必需AI 服务提供商
openai:OpenAI
ollama:Ollama 或兼容服务
dimensionsinteger可选输出向量的维度
api_keystring条件必需OpenAI 的 API 密钥

已废弃的请求示例 #

POST /_ai/embed
{
  "model": "text-embedding-3-large",
  "input": ["Hello world", "How are you?"],
  "dimensions": 1536,
  "url": "https://api.openai.com/v1/embeddings",
  "vendor": "openai",
  "api_key": "sk-..."
}

响应示例(已废弃) #

{
  "data": [
    {
      "index": 0,
      "embedding": [0.1, -0.2, 0.3, ...]
    }
  ],
  "model": "text-embedding-3-large",
  "usage": {
    "prompt_tokens": 24,
    "total_tokens": 24
  }
}

迁移指南 #

如果您之前使用过 POST /_ai/embed API,请按以下方式迁移:

原方式(已废弃) #

POST /_ai/embed
{
  "input": ["Hello world"],
  "model": "text-embedding-ada-002"
}

新方式(推荐) #

# 创建包含嵌入处理的文档
POST /my-index/_doc?pipeline=my-pipeline
{
  "content": "Hello world"
}

支持的模型 #

根据文档,Easysearch 支持的嵌入模型包括:

  • nomic-embed-text:文本嵌入模型
  • text-embedding-ada-002:OpenAI 嵌入模型
  • 其他 Ollama 兼容模型

注意事项 #

  1. 该 API 已完全废弃,不再支持
  2. 建议使用摄入管道实现自动嵌入
  3. 搜索管道提供更灵活的语义搜索功能
  4. 配置外部 AI 服务时确保网络连通性

相关文档 #