

























你平时调用 GPT、Claude、Gemini,大多数时候是在“生成答案”。但 text-embedding-3-large 这类模型不负责聊天,也不会直接写文章。
它的核心作用是:把文本变成一串数字向量。
听起来有点抽象,但它正是 RAG 知识库、语义搜索、相似文章推荐、客服问答、文档检索这些功能背后的基础能力。

如果你想让 AI 从自己的文档里找答案,而不是只靠模型记忆胡猜,embedding 基本绕不开。
text-embedding-3-large 是 OpenAI 的高能力文本向量模型。它会读取一段文本,然后输出一个高维向量。
向量可以理解成文本的“语义坐标”。
比如下面几句话:
关键词不完全一样,但意思接近。Embedding 模型会把它们映射到相近的位置。
这让系统可以做传统关键词搜索做不好的事情:按语义找内容。
常见用途包括:
| 场景 | embedding 在里面做什么 |
|---|---|
| 语义搜索 | 把用户问题和文档都转成向量,找最相似内容 |
| RAG 知识库 | 先检索相关文档,再交给大模型生成答案 |
| 推荐系统 | 根据文章、商品、用户描述的语义相似度推荐内容 |
| 文档聚类 | 自动把相似文档分组 |
| 文本分类 | 用相似度判断文本属于哪个标签 |
| 异常检测 | 找出和大多数内容语义距离很远的数据 |
OpenAI 官方文档也把 embeddings 用于 search、clustering、recommendations、anomaly detection、diversity measurement 和 classification。
RAG,全称 Retrieval-Augmented Generation,中文可以理解为“检索增强生成”。
它的流程通常是:
如果没有 embedding,系统只能做关键词匹配。
比如用户问:
“余额为什么扣得这么快?”
文档里可能写的是:
“高上下文模型会消耗更多 tokens,费用按输入和输出 tokens 计费。”
关键词几乎对不上,但语义相关。Embedding 就是解决这种问题的。

很多开发者第一次接触 embedding 会误以为它也是“问答模型”。其实不是。
| 能力 | 聊天模型 | embedding 模型 |
|---|---|---|
| 输入 | 用户问题、上下文 | 文本片段 |
| 输出 | 自然语言答案 | 数字向量 |
| 主要用途 | 生成、总结、推理、对话 | 检索、相似度、聚类、分类 |
| 是否直接回答问题 | 是 | 否 |
| 是否适合 RAG | 负责最终回答 | 负责找资料 |
可以把它们分工理解为:
一个完整的知识库问答系统,通常两者都要用。
根据 OpenAI 官方文档,text-embedding-3-large 默认输出 3072 维向量,最大输入上下文为 8192 tokens。
它也支持 dimensions 参数。你可以在保留主要语义信息的前提下,把向量维度降下来。
这很重要,因为向量维度会影响:
如果你只是做中小型 FAQ、客服知识库,未必一定要 3072 维全量向量。可以先测试 1024 或 1536 维,观察召回质量。
下面是 Python 示例。代码里的 API 地址不要加 UTM 参数。
如果你已经在项目里使用 OpenAI SDK,只需要把 base_url 换成兼容网关地址即可。
你可以通过 Crazyrouter 文档 查看 OpenAI 兼容接入方式,也可以在 价格页面 对比不同模型成本。
下面用最简单的 cosine similarity 演示 embedding 的工作方式。生产环境建议换成向量数据库,例如 Qdrant、Milvus、Pinecone、pgvector。
这个例子虽然简单,但已经包含了语义搜索的核心逻辑:文本转向量,然后按相似度排序。
我建议按下面的方式判断:
| 需求 | 建议 |
|---|---|
| 高质量 RAG、跨语言检索、长文档知识库 | 优先测试 text-embedding-3-large |
| FAQ、小规模搜索、成本敏感项目 | 可以先用 text-embedding-3-small |
| 多语言文档检索 | 更值得测试 large |
| 只做关键词过滤 | 不一定需要 embedding |
| 数据量极大、预算紧 | 先评估降维和分层检索 |
一句话:如果你的搜索质量直接影响用户体验,text-embedding-3-large 值得优先测试。
如果只是内部工具或早期 MVP,可以先从更便宜的 embedding 模型开始。
不要把整篇文档直接塞进去。建议按语义段落切块。
常见范围:
用户问题可能很短、很口语。可以先让聊天模型把问题改写成更适合检索的查询,再做 embedding。
RAG 通常取 top 3 到 top 10 个文档块,再交给大模型判断。
Embedding 负责粗召回,rerank 负责精排。对于客服、法律、财务、技术文档,rerank 能明显减少答非所问。
不要只用 demo 数据测试。把真实用户问题脱敏后做评测,才知道召回是否靠谱。
不一定。高维向量通常表达能力更强,但也更占存储和计算。实际项目要看召回效果、延迟和成本。
也不对。Embedding 只负责找资料。最终回答是否可靠,还取决于 prompt、上下文质量、模型能力和引用约束。
表格、代码、日志、PDF 扫描件都需要特殊处理。尤其是表格,最好保留结构化字段。
text-embedding-3-large 不是用来聊天的模型,而是用来理解文本相似度的模型。
它最适合这些场景:
如果你正在做 AI 客服、企业知识库、文档问答、代码搜索或内容推荐,embedding 模型就是系统的基础层。
你可以通过 OpenAI 兼容接口接入 embeddings API。对于已经使用 OpenAI SDK 的项目,迁移成本很低:改 base_url,换 API key,然后继续使用同样的调用方式。
不可以。它输出的是向量,不是自然语言答案。回答问题通常需要搭配 GPT、Claude、Gemini 等聊天模型。
适合。它常用于 RAG 的检索阶段,把用户问题和知识库文档转成向量,再找出最相关内容。
官方文档显示默认是 3072 维,也可以通过 dimensions 参数降低输出维度。
如果追求检索质量、多语言效果或生产级 RAG,可以优先测试 large。如果成本敏感或数据量很大,可以先用 small 做基线。
小规模 demo 可以直接用数组和 cosine similarity。生产环境建议使用向量数据库,例如 pgvector、Qdrant、Milvus 或 Pinecone。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。