0


LangChain——Embedding 智谱AI

Embedding 嵌入

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

LangChain 中的基类

Embeddings

提供了两种方法:一种用于

嵌入文档

,另一种用于

嵌入查询

。前者

embed_documents

采用多个文本作为输入,而后者

embed_query

采用单个文本。

embed_documents

embed-documents

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

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

嵌入的是一个文本列表。

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,并且声名所使用的的模型即可。

from langchain_community.embeddings import ZhipuAIEmbeddings

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

embed_query嵌入单个文本

text ="LangChain is the framework for building context-aware reasoning applications"
single_vector = embeddings_model.embed_query(text)len(single_vector)2048

eimbed_documents嵌入多个文本

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]))22028

本文转载自: https://blog.csdn.net/huoshanshaohui/article/details/142881265
版权归原作者 volcanical 所有, 如有侵权,请联系我们删除。

“LangChain——Embedding 智谱AI”的评论:

还没有评论