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
相关推荐
神奇夜光杯21 分钟前
Python酷库之旅-第三方库Pandas(181)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
徐小夕@趣谈前端32 分钟前
MaxKB: 一款基于大语言模型的知识库问答系统
人工智能·语言模型·自然语言处理
正义的彬彬侠43 分钟前
近似线性可分支持向量机的原理推导
人工智能·机器学习·支持向量机·svm·近似线性可分支持向量机
正义的彬彬侠1 小时前
绘制近似线性可分支持向量机的分类边界和支持向量
人工智能·python·机器学习·支持向量机·分类·svm
爱喝白开水a1 小时前
零基础入门AI:一键本地运行各种开源大语言模型 - Ollama
人工智能·程序人生·语言模型·开源·大语言模型·开源大模型·大模型入门
云空1 小时前
《神经网络助力战场车辆及部件损毁识别与评估》
人工智能·深度学习·神经网络
说私域2 小时前
地理征服营销与开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序的融合创新
人工智能·小程序
跃跃欲试-迪之2 小时前
构建您自己的 RAG 应用程序:使用 Ollama、Python 和 ChromaDB 在本地设置 LLM 的分步指南
人工智能·python·算法
网安kk2 小时前
2024年三个月自学进阶手册 网络安全(黑客技术)
网络·人工智能·安全·web安全·网络安全
wzw_mzm2 小时前
opencv-rust 系列3: Create_mask
人工智能·opencv·rust