---
title: "创建嵌入向量"
date: 2026-01-30
lastmod: 2026-01-30
description: "说明 Easysearch 中创建嵌入向量相关 API 的情况。"
tags: ["AI", "嵌入向量", "API说明"]
summary: "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."
---
## 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 处理器
在创建索引时通过摄入管道自动生成嵌入向量:
```json
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. 搜索管道 + 语义查询
在搜索时使用语义查询处理器:
```json
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 已废弃,以下是原始参数说明:
### 路由参数
| 参数 | 类型 | 是否必需 | 描述 |
|------|------|----------|------|
| `model` | string | 可选 | 要使用的 AI 模型名称 |
### 请求体参数
| 参数 | 类型 | 是否必需 | 描述 |
|------|------|----------|------|
| `model` | string | 必需 | AI 模型名称 |
| `input` | array | 必需 | 需要生成嵌入向量的文本数组 |
| `url` | string | 必需 | 外部 AI 服务的 URL 地址 |
| `vendor` | string | 必需 | AI 服务提供商
`openai`:OpenAI
`ollama`:Ollama 或兼容服务 |
| `dimensions` | integer | 可选 | 输出向量的维度 |
| `api_key` | string | 条件必需 | OpenAI 的 API 密钥 |
## 已废弃的请求示例
```json
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-..."
}
```
## 响应示例(已废弃)
```json
{
"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,请按以下方式迁移:
### 原方式(已废弃)
```json
POST /_ai/embed
{
"input": ["Hello world"],
"model": "text-embedding-ada-002"
}
```
### 新方式(推荐)
```json
# 创建包含嵌入处理的文档
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 服务时确保网络连通性
## 相关文档
- [创建或更新摄入管道](./create-or-update-ingest-pipeline.md)
- [创建搜索管道](./create-search-pipeline.md)
- [SQL查询](./sql-query.md)