logo

Embeddings

Embeddings 用于将文本转换为向量,可用于语义搜索、推荐、聚类与去重。

把 Embeddings 想成“给文本贴坐标”。
原来靠关键词匹配像在通讯录里按名字找人;有了向量后,更像按“气质相近”找人,能抓到语义近似而不是字面重复。

这页适合谁?

  • 准备做 RAG / 语义检索的工程师
  • 想做推荐系统或文本去重的算法同学
  • 需要在成本和效果之间做平衡的技术负责人

1. 基础调用(Python)

from openai import OpenAI

client = OpenAI()

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="这是一段需要向量化的文本"
)

embedding = response.data[0].embedding
print(len(embedding))

2. Node.js 示例

import OpenAI from 'openai';

const client = new OpenAI();

const response = await client.embeddings.create({
  model: 'text-embedding-3-small',
  input: '这是一段需要向量化的文本'
});

const embedding = response.data[0].embedding;
console.log(embedding.length);

3. 典型用法

语义检索(最常见)

  1. 把文档分块并生成向量。
  2. 用户查询生成向量。
  3. 计算相似度并返回最接近的文档块。

简化流程示例

import numpy as np

def cosine_sim(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

实战落地顺序(读者导向)

  1. 先用 text-embedding-3-small 建立最小可用检索链路。
  2. 再优化分块策略(chunk size / overlap)提升召回质量。
  3. 最后才切换更大模型做 A/B,对比收益是否覆盖成本。

4. 选型建议

  • text-embedding-3-small:性价比高,适合大多数检索场景。
  • text-embedding-3-large:精度更高,适合对检索质量要求高的场景。

5. 常见注意事项

  • 文本过长时先分块(chunking)。
  • 对检索库进行向量归一化,便于相似度计算。
  • 为向量库设置合适的维度与索引类型。

一句轻松总结:
向量化不是魔法棒,更像“给知识库装 GPS”。
路线规划(分块、索引、过滤)没做好,再好的地图也会带你绕远路。

参考资料

OpenAI API 开发指南
AI Engineer

OpenAI API 开发指南

OpenAI API 是最广泛使用的 AI API 之一,提供 GPT-4、DALL-E、Whisper 等模型的访问。

OpenAI API 开发指南Embeddings

Embeddings

Embeddings 用于将文本转换为向量,可用于语义搜索、推荐、聚类与去重。

把 Embeddings 想成“给文本贴坐标”。
原来靠关键词匹配像在通讯录里按名字找人;有了向量后,更像按“气质相近”找人,能抓到语义近似而不是字面重复。

#这页适合谁?

  • 准备做 RAG / 语义检索的工程师
  • 想做推荐系统或文本去重的算法同学
  • 需要在成本和效果之间做平衡的技术负责人

#1. 基础调用(Python)

python
from openai import OpenAI client = OpenAI() response = client.embeddings.create( model="text-embedding-3-small", input="这是一段需要向量化的文本" ) embedding = response.data[0].embedding print(len(embedding))

#2. Node.js 示例

ts
import OpenAI from 'openai'; const client = new OpenAI(); const response = await client.embeddings.create({ model: 'text-embedding-3-small', input: '这是一段需要向量化的文本' }); const embedding = response.data[0].embedding; console.log(embedding.length);

#3. 典型用法

#语义检索(最常见)

  1. 把文档分块并生成向量。
  2. 用户查询生成向量。
  3. 计算相似度并返回最接近的文档块。

#简化流程示例

python
import numpy as np def cosine_sim(a, b): return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

#实战落地顺序(读者导向)

  1. 先用 text-embedding-3-small 建立最小可用检索链路。
  2. 再优化分块策略(chunk size / overlap)提升召回质量。
  3. 最后才切换更大模型做 A/B,对比收益是否覆盖成本。

#4. 选型建议

  • text-embedding-3-small:性价比高,适合大多数检索场景。
  • text-embedding-3-large:精度更高,适合对检索质量要求高的场景。

#5. 常见注意事项

  • 文本过长时先分块(chunking)。
  • 对检索库进行向量归一化,便于相似度计算。
  • 为向量库设置合适的维度与索引类型。

一句轻松总结:
向量化不是魔法棒,更像“给知识库装 GPS”。
路线规划(分块、索引、过滤)没做好,再好的地图也会带你绕远路。

#参考资料

System Design

系统设计必备:核心概念 + 经典案例

快速掌握取舍与设计套路,备战系统设计面试。

进入 System Design →

相关路线图