OpenAI文本嵌入模型text-embedding-3是什么?

Embedding(嵌入向量)是现代 NLP 和 AI 系统的基础能力之一,它将文本转换为一组可计算的高维向量,用于捕捉语义关系。

随着 GPT 系列模型的升级,OpenAI 发布了全新的 text-embedding-3 系列,在成本、性能、维度上相比以往 embedding 模型有显著改进。

无论你是在做搜索引擎(semantic search)、RAG 检索增强生成、推荐系统、相似度计算或文本聚类,embedding 都是提升质量的核心工具。

OpenAI 的文本嵌入可衡量文本字符串的相关性。嵌入通常用于:

  • 搜索(其中结果按查询字符串的相关性排序)
  • 聚类(其中根据相似性对文本字符串进行分组)
  • 推荐(其中推荐具有相关文本字符串的项目)
  • 异常检测(其中识别很少相关的离群值)
  • 多样性测量(其中分析相似性分布)
  • 分类(其中根据最相似的标签对文本字符串进行分类)

嵌入是一个浮点数向量(列表)。向量的距离衡量它们的相关性。较小的距离表明高度相关性,较大的距离表明低相关性。


模型概览:text-embedding-3 系列

OpenAI 的 text-embedding-3 系列包含两个模型:

模型名称 向量维度 特点 适用场景
text-embedding-3-large 高维(如 3072 维) 准确度最高、效果最好 高质量搜索、大规模知识库、高精度应用
text-embedding-3-small 较低维(如 768 维) 成本低、速度快 大规模向量库、轻量搜索、对成本敏感的场景

相对旧版本 text-embedding-ada-002,在相似度准确率和跨任务性能上均有明显提升,同时在价格上更具优势。


如何使用 text-embedding-3

1. API 调用格式

请求通常包含以下字段:

复制代码
{
  "model": "text-embedding-3-large",
  "input": "一句文本",
  "encoding_format": "float"
}

返回结构包含:

  • model 名称

  • input 表示的 token 数

  • embeddings 数组(浮点向量)

2. 支持批量处理

你可以批量给多个文本生成 embedding,从而减少请求次数:

复制代码
{
  "model": "text-embedding-3-small",
  "input": ["第一句", "第二句", "第三句"]
}

3. 多语言支持

text-embedding-3 支持中文、英文及多种语言,并且跨语言语义对齐能力更强,可以用于 跨语言搜索

神马中转API接入示例(含多模态:文本 + 图片向量)

以下示例展示如何通过 神马中转 API 调用 embedding 接口,并执行多模态向量嵌入(文本 + 图片):

复制代码
# BASE_URL:https://api.whatai.cc
import http.client
import json

conn = http.client.HTTPSConnection("{{BASE_URL}}")

payload = json.dumps({
   "model": "text-embedding-3-large",
   "input": [
      {
         "text": "这是一句话,将被转换成向量。",
         "image": "base64_image_string"   # 这里放图片的 Base64 字符串
      }
   ],
   "normalized": True,              # 是否归一化向量
   "embedding_type": "multimodal"   # 支持 text / image / multimodal
})

headers = {
   'Authorization': 'Bearer {{YOUR_API_KEY}}',
   'Content-Type': 'application/json'
}

conn.request("POST", "/v1/embeddings", payload, headers)

res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

✔ 支持纯文本

✔ 支持图片

✔ 支持多模态(文本 + 图片)

✔ 支持向量归一化


向量数据库与 Embedding

Embedding 的主要用途之一是存储到向量数据库并执行高效的相似度检索。

常见的向量数据库:

  • Pgvector(PostgreSQL 插件)

  • Pinecone

  • Milvus / Zilliz Cloud

  • Weaviate

  • Elasticsearch 的 dense_vector

向量数据库的核心能力是 ANN(Approximate Nearest Neighbor)近似最近邻搜索,能够快速从上百万甚至上亿个向量中找到最相似的结果。


最佳实践

1. 文本预处理

为了提高 embedding 质量:

  • 清洗 HTML

  • 去除噪声内容(JS 代码、导航栏等)

  • 按段落切块(推荐 300--600 token / 段)

2. 如何选择模型

场景 推荐
高精度检索 text-embedding-3-large
成本敏感 text-embedding-3-small
超大规模向量库 small(维度低)

3. 向量归一化(Normalization)

一般用于余弦相似度计算,text-embedding-3 支持在 API 内直接生成归一化向量。

4. 提升 RAG 检索质量的方法

  • 分段策略优化

  • embedding + rerank 组合

  • 使用 query expansion


典型应用案例

1. RAG(Retrieval-Augmented Generation)

工作流程:

  1. 文档生成 embedding

  2. 用户 query 生成 embedding

  3. 向量数据库检索相似段落

  4. 提供给 GPT 模型回答问题

这是如今企业知识库/智能客服最常见的架构。

2. 语义搜索(Semantic Search)

替代传统关键词搜索,实现:

  • 更智能的搜索结果

  • 更强的语义理解能力

3. 文档相似度判断

可用于查重、推荐相似文章等。

4. 主题聚类

使用 K-means、UMAP 或 t-SNE 可视化并聚类大型语料库。


Embedding 效果评估

常见的指标与方法:

  • 余弦相似度(Cosine Similarity)

  • 检索精度(Recall@k)

  • 聚类可视化(t-SNE / UMAP)

  • A/B Testing


FAQ

1. 为什么相似度结果不稳定?

→ 分段太长或语料质量差。

2. 如何处理超长文本?

→ 按段落拆分,每段单独生成 embedding。

3. 维度越高越好吗?

→ 不一定,高维向量对存储和速度要求更高。

4. 如何降低成本?

→ 批量生成、选择 small 模型、缓存 embedding。

text-embedding-3 系列提供了更高质量、更低成本的 embedding 能力,适配现代 RAG、搜索、推荐等多种场景。无论是构建智能问答系统还是打造大规模向量搜索平台,都非常适合使用 text-embedding-3-large 与 text-embedding-3-small。

相关推荐
Mintopia4 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮4 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬4 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia5 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区5 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两8 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪8 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat232558 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源