LangChain——Embedding 智谱AI

Embedding 嵌入

Embedding嵌入创建一段文本的矢量表示。这很有用,因为这意味着我们可以考虑向量空间中的文本,并执行语义搜索之类的操作,在其中查找向量空间中最相似的文本片段。

LangChain 中的基类 Embeddings 提供了两种方法:一种用于嵌入文档,另一种用于嵌入查询。前者 embed_documents 采用多个文本作为输入,而后者 embed_query 采用单个文本。

embed_documents

embed-documents将文本嵌入为embeddings(向量)。

python 复制代码
embeddings = embeddings_model.embed_documents(
    [
        "Hi there!",
        "Oh, hello!",
        "What's your name?",
        "My friends call me World",
        "Hello World!"
    ]
)
len(embeddings), len(embeddings[0])

embed_query

embed_query其实和embed-documents差不多,区别在于embed-query嵌入单段文本,而embed-documents嵌入的是一个文本列表。

python 复制代码
embedded_query = embeddings_model.embed_query("What was the name mentioned in the conversation?")
embedded_query[:5]

官方教程使用的openai的api作为示例,需要付费才能使用,因此我们选择使用国产的智谱ai开源的嵌入模型来进行实验。

首先我们需要获取到智谱AI的api-key,前往 https://bigmodel.cn/)https://bigmodel.cn/注册智普 AI 并生成 API 密钥。完成此操作后,设置 ZHIPUAI_API_KEY 环境变量即可。

然后我们只需要导入ZhipuAIEmbeddings,并且声名所使用的的模型即可。

python3 复制代码
from langchain_community.embeddings import ZhipuAIEmbeddings

embeddings = ZhipuAIEmbeddings(
    model="embedding-3",
)

embed_query嵌入单个文本

python3 复制代码
text = "LangChain is the framework for building context-aware reasoning applications"
single_vector = embeddings_model.embed_query(text)
len(single_vector)

2048

eimbed_documents嵌入多个文本

python3 复制代码
text2 = (
    "LangGraph is a library for building stateful, multi-actor applications with LLMs"
)
two_vectors = embeddings_model.embed_documents([text, text2])
print(len(two_vectors), len(two_vectors[0]))

2 2028
相关推荐
虹科网络安全几秒前
艾体宝案例 | 从关系到语义:ArangoDB如何支撑高精度水军识别
人工智能
大霸王龙10 分钟前
MinIO 对象存储系统架构图集
人工智能·llm·minio
汗流浃背了吧,老弟!13 分钟前
什么是ResNet
人工智能·深度学习
小途软件21 分钟前
高校宿舍访客预约管理平台开发
java·人工智能·pytorch·python·深度学习·语言模型
人工智能培训44 分钟前
10分钟了解向量数据库(3)
人工智能·大模型·知识图谱·强化学习·智能体搭建
华清远见成都中心1 小时前
人工智能要学习的课程有哪些?
人工智能·学习
Chasing Aurora1 小时前
Python后端开发之旅(三)
开发语言·python·langchain·protobuf
普通网友1 小时前
Bard 的模型压缩技术:在保证性能的前提下如何实现轻量化部署
人工智能·机器学习·bard
白帽子黑客罗哥1 小时前
不同就业方向(如AI、网络安全、前端开发)的具体学习路径和技能要求是什么?
人工智能·学习·web安全
捕风捉你1 小时前
【AI转行04】特征工程:治疗 AI 的“学不会”和“想太多”
人工智能·深度学习·机器学习