二、LangChain之认识嵌入式模型

二、LangChain之认识嵌入式模型 三、认识嵌入模型1. 什么是嵌入模型大语言模型是生成式模型。它理解输入并生成新的文本回答问题、写文章。它内部实际上也使用 嵌入技术来理解输入但最终目标是“创造”。而嵌入模型Embedding Model是表示型模型。它的目标不是生成文本而是为输入的文本创建 一个最佳的、富含语义的数值表示向量。由于计算机天生擅长处理数字但不理解文字、图片的含义。嵌入Embedding的核心思想就是将 人类世界的符号如单词、句子、产品、用户、图片转换为计算机能够理解的数值形式即向量 本质上是一个数字列表并且要求这种转换能够保留原始符号的语义和关系。我们可以把它想象成一个翻译过程把人类语言“翻译”成计算机的“数学语言”。结论既然是“数学语言”那么我们可以用数学的方式来比较向量从而达到【度量语义】的目 的2. 嵌入模型应用场景根据嵌入的特性由此延伸出了许多嵌入模型在 AI 应用的使用场景• 语义搜索Semantic Search传统搜索依赖关键词匹配搜 “苹果” 只能找到包含 “苹果” 这个词的文档。语义搜索则能将查询和文档都转换为向量通过计算向量间的相似度来找到相关内容即使文档中 没有查询的确切词汇也能被检索到。如下图所示即使知识库中并未直接出现 “笔记本电脑无法充 电” 这个词组语义搜索也能通过向量相似度精准地找到该文档。• 检索增强生成Retrieval-Augmented Generation, RAG这是当前大语言模型应用的核心模式。当用户向 LLM 提问时系统首先使用嵌入模型在知识库如公 司内部文档中进行语义搜索找到最相关的内容然后将这些内容和问题一起交给 LLM来生成答 案。这极大地提高了答案的准确性和时效性。• 推荐系统Recommendation Systems将用户根据其历史行为、偏好和物品商品、电影、新闻都转换为向量。喜欢相似物品的用 户其向量会接近相似的物品其向量也会接近。通过计算用户和物品向量的相似度就可以进行 精准推荐• 异常检测Anomaly Detection正常数据的向量通常会聚集在一起。如果一个新数据的向量远离大多数向量的聚集区它就可能是一 个异常点如垃圾邮件、欺诈交易。例如一个信用卡交易反欺诈系统通过学习海量正常交易记录如金额、地点、时间、商户类型等 特征的向量形成了“正常交易”的向量聚集区。当一笔新的交易发生时系统将其转换为向量。如 果该向量出现在“正常聚集区”之外例如一笔发生在通常消费地之外的高额交易系统则会将 其标记为潜在的欺诈交易并进行警报。3. 主流的嵌入模型• text-embedding-3-large (OpenAI)OpenAI 最强大的英语和非英语任务嵌入模型。默认维度 3072可降维如1024维输入令牌长度支持为8192• Qwen3-Embedding-8B (阿里巴巴) 开源模型支持100种语言上下文长度 32k嵌入维度最 高 4096支持用户定义的输出维度范围从 32 到 4096。推理需要一定的GPU计算资源例如 至少需要16GB以上显存的GPU才能高效运行。• gemini-embedding-001 (Google) 支持100种语言默认维度 3072可选降维版本1536维 或 768维输入令牌长度支持为2048• Huggingface 的 MTEB 评测https://huggingface.co/spaces/mteb/leaderboardHuggingface 的 MTEBMassive Multilingual Text Embedding Benchmark评测是业界比较公 认的标准4. 嵌入模型接入方式嵌入模型接入和使用方式根据模型类型开源或闭源有根本性的不同。下图清晰地展示了两种典型 的接入流程4.1 API 接入闭源这是最快速、最简单的方式无需管理任何基础设施。只需要向模型提供商的服务端发送一个 HTTP 请求即可。 适用模型 text-embedding-3-large , gemini-embedding-001 等。通用步骤1. 注册账号并获取API Key在对应的云服务平台如OpenAI Platform, Google AI Studio/Vertex AI上注册账号获取用于身份验证的API Key。2. 安装 SDK 或构造 HTTP请求使用官方提供的SDK如 openai , google-generativeai 或直接构造HTTP请求。3. 调用API并处理响应发送文本接收返回的JSON格式的向量数据。示例1发起 HTTP 请求curl https://api.openai.com/v1/embeddings -H Content-Type: application/json -H Authorization: Bearer $OPENAI_API_KEY -d { input: Your text string goes here, model: text-embedding-3-small }响应包含嵌入向量浮点数列表以及一些其他元数据{ object: list, data: [ { object: embedding, index: 0, embedding: [ -0.006929283495992422, -0.005336422007530928, -4.547132266452536e-05, -0.024047505110502243 ], } ], model: text-embedding-3-small, usage: { prompt_tokens: 5, total_tokens: 5 } }示例2接入 SDK安装库pip install openai# 使用 OpenAI Python SDK from openai import OpenAI import os # 1. 设置 API Key client OpenAI(api_keyyour-api-key) # 2. 准备输入文本 text 这是一段需要转换为向量的文本。 # 3. 调用 API response client.embeddings.create( modeltext-embedding-3-large, # 指定模型 inputtext, dimensions1024 # 可选指定输出维度例如从3072降维到1024 ) # 4. 获取向量 embedding response.data[0].embedding print(f向量维度{len(embedding)}) print(embedding)4.2 本地部署开源这种方式需要自行准备计算资源通常是带有GPU的机器来运行模型适合对数据隐私、成本和控 制权有更高要求的场景。适用模型 Qwen3-Embedding-8B 等。通用步骤1. 环境准备准备一台有足够 GPU 显存的服务器对于Qwen3-Embedding-8B需要至少16GB以 上显存。2. 模型下载从 Hugging Face 等模型仓库下载模型权重文件和配置文件。3. 代码集成使用像 transformers 这样的库来加载模型并进行推理。在实际应用中直接调用嵌入模型获取结果与直接调用原生 LLM 存在相似的问题无论是通过 API 还是本地部署获得向量下一步通常都是将它们存入向量数据库如Chroma, Milvus, Pinecone等 以供后续检索。为了便于切换不同的嵌入模型很多项目会使用像 LangChain 这样的框架它们提供 了统一的嵌入模型接口。四、模型平台1. Hugging Face国外Hugging Face 是一个知名的开源库和平台该平台以其强大的 Transformer 模型库和易用的 API 而闻 名为开发者和研究人员提供了丰富的预训练模型、工具和资源。对于从事 AI 研究的人来说其重要 性不亚于 GitHub。官网https://huggingface.co/2. 魔搭社区国内魔搭ModelScope是由阿里巴巴达摩院推出的开源模型即服务MaaS共享平台汇聚了计算机 视觉、自然语言处理、语音等多领域的数千个预训练 AI 模型。其核心理念是开源、开放、共创通 过提供丰富的工具链和社区生态降低 AI 开发门槛尤其为企业本地私有化部署提供了一条高效路 径。官网https://www.modelscope.cn/界面和 HuggingFace 设计的基本一样