news 2026/10/21 4:29:14

LangChain嵌入:从原理到实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain嵌入:从原理到实践

嵌入

嵌入(Embedding)可以将文本转换为向量表示,从而实现文本的语义分析和相似度计算

简单来说,就是给每个文本分配一个"数字身份证",相似的文本会有相似的"身份证号码"

应用场景

日常我们接触到的实际的场景应用,比如:

  • 智能搜索:比如在文档库中查找与查询语义相关的内容,而不仅仅是关键词匹配
  • 问答系统:找到与用户问题最相关的文档片段作为答案依据
  • 推荐系统:根据用户兴趣向量推荐相关内容

代码实现

示例提供了两个例子,一个是文本对比,一个是文本搜索

from langchain_huggingface import HuggingFaceEmbeddings from sklearn.metrics.pairwise import cosine_similarity import numpy as np import os # 示例 1: 使用 HuggingFace 嵌入模型(无需 API 密钥) def use_huggingface_embeddings(): """使用 HuggingFace 提供的预训练模型生成嵌入""" print("\n=== 使用 HuggingFace 嵌入模型 ===") # 创建嵌入模型实例 embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") # 示例文本 texts = [ "猫是一种常见的家养宠物", "狗是人类最好的朋友", "大象是陆地上最大的动物", "家养宠物中猫特别普遍" ] # 生成嵌入向量 print("生成文本嵌入向量...") vectors = embeddings.embed_documents(texts) # 查看嵌入向量的维度 print(f"嵌入向量维度: {len(vectors[0])}") # 计算文本之间的相似度 print("\n计算文本之间的相似度:") similarity_matrix = cosine_similarity(vectors) for i, text1 in enumerate(texts): for j, text2 in enumerate(texts): if i < j: # 避免重复计算 similarity = similarity_matrix[i][j] print(f"'{text1}' 与 '{text2}' 的相似度: {similarity:.4f}") # 示例 2: 文本搜索功能 def text_search_demo(): """使用嵌入实现简单的文本搜索功能""" print("\n=== 文本搜索功能演示 ===") # 创建嵌入模型实例 embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") # 文档集合 documents = [ "Python 是一种广泛使用的高级编程语言", "LangChain 是一个用于构建 LLM 应用的框架", "机器学习是人工智能的一个分支", "深度学习是机器学习的一个子领域", "数据科学涉及数据的分析和可视化" ] # 生成文档嵌入 doc_vectors = embeddings.embed_documents(documents) # 用户查询 query = "什么是 LangChain?" print(f"\n查询: {query}") # 生成查询嵌入 query_vector = embeddings.embed_query(query) # 计算查询与每个文档的相似度 similarities = cosine_similarity([query_vector], doc_vectors)[0] # 按相似度排序 sorted_indices = np.argsort(similarities)[::-1] # 显示搜索结果 print("\n搜索结果(按相似度排序):") for i, idx in enumerate(sorted_indices): print(f"{i+1}. 相似度: {similarities[idx]:.4f} - {documents[idx]}") # 运行示例 if __name__ == "__main__": print("LangChain 嵌入示例") print("=" * 50) # 运行 HuggingFace 嵌入示例 use_huggingface_embeddings() # 运行文本搜索示例 text_search_demo() print("\n示例运行完成!")

运行结果如下:

HuggingFaceEmbeddings 类

来源:langchain-huggingface 包中的类

功能:封装了 HuggingFace 的预训练嵌入模型,提供统一的接口用于文本向量化

主要方法:

  • embed_documents(texts):批量为多个文本生成嵌入向量
  • embed_query(text):为单个查询文本生成嵌入向量

all-MiniLM-L6-v2 模型

轻量级:

  • 基于 MiniLM 架构(BERT 的轻量级版本)
  • 模型大小约 80MB,适合在资源受限环境中使用

多语言支持:

  • 支持多种语言的文本嵌入

性能平衡:

  • 在速度和嵌入质量之间取得了良好平衡
  • 虽然比大型模型(如 BERT-base)小,但在大多数任务上表现接近

适用场景:

  • 文本相似度计算
  • 语义搜索
  • 文本分类
  • 聚类分析

相关依赖安装

pip install langchain-huggingface sentence-transformers scikit-learn numpy

欢迎留言交流,如果觉得有帮助,可以点个赞支持一下

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 21:01:10

教工平台采购避坑指南:别只看价格,服务价值更重要

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

作者头像 李华
网站建设 2026/10/20 20:49:57

基于深度学习YOLOv12的安检x光危险物识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 针对安检X光图像中危险物品的自动检测需求&#xff0c;本研究提出了一种基于YOLOv12深度学习算法的危险物识别检测系统。该系统能够高效识别18类常见危险物品&#xff0c;包括刀具&#xff08;如Knife、Throwing Knife&#xff09;、工具&#xff08;如Hammer、Sc…

作者头像 李华
网站建设 2026/10/17 7:30:48

RexUniNLU开源大模型部署教程:适配A10/A100/V100的CUDA 11.8环境配置

RexUniNLU开源大模型部署教程&#xff1a;适配A10/A100/V100的CUDA 11.8环境配置 1. 为什么你需要这个部署教程 你是不是也遇到过这样的问题&#xff1a;想快速跑通一个中文NLP大模型&#xff0c;结果卡在环境配置上——显卡驱动版本对不上、CUDA和PyTorch版本不兼容、模型加…

作者头像 李华
网站建设 2026/10/17 7:30:48

收藏备用!大模型学习路线完整版(小白/程序员入门必看)

如今&#xff0c;大模型技术已然成为驱动人工智能产业飞速发展的核心引擎&#xff0c;更是程序员提升核心竞争力、小白入门AI领域的关键突破口。无论你是刚接触AI的编程小白&#xff0c;还是有一定开发经验、想转型大模型方向的开发者&#xff0c;想要系统掌握大模型应用技能&a…

作者头像 李华
网站建设 2026/10/16 14:17:30

通过多智能体系统实现的时间序列可视化推理

时序分析支撑着众多实际应用&#xff0c;然而现有针对时序的特定方法及基于预训练大模型的方法在融合直观视觉推理、跨任务泛化与自适应工具调用方面仍存在局限。为应对这些挑战&#xff0c;我们提出MAS4TS——一个面向通用时序任务的工具驱动型多智能体系统。该系统构建于分析…

作者头像 李华