langchain 认识embeddings (用于生成向量) 及阿里云deepseek如何embedding

 1. OpenAIEmbeddings vs. ChatOpenAI

组件作用输入输出主要用途
OpenAIEmbeddings生成文本的向量表示(embedding)文本字符串数字向量(list of floats)用于向量搜索、RAG、语义搜索
ChatOpenAI / init_chat_model基于 OpenAI LLM 进行文本生成问题或 Prompt生成的文本(字符串)问答、聊天机器人、文本摘要、代码生成
from langchain_openai import OpenAIEmbeddings  

embeddings = OpenAIEmbeddings(model="text-embedding-3-large")  

这里的 text-embedding-3-large 是 OpenAI 最新的嵌入模型,生成高维度的文本向量

以下例子把文本转成1536个维度的向量

text = "LangChain is a powerful framework for LLM applications."
vector = embeddings.embed_query(text)
print(len(vector))  # 输出:1536(text-embedding-3-large 的默认维度)

langchain官方示例代码中使用OpenAIEmbeddings,阿里云提供的接口不支持 OpenAIEmbeddings,需要换成 DashScopeEmbeddings (注意,这个有180天免费额度,超出也是要收费的)

from langchain_openai import OpenAIEmbeddings

 更换后:

from langchain_community.embeddings import DashScopeEmbeddings
from langchain_core.vectorstores import InMemoryVectorStore
from dotenv import load_dotenv
load_dotenv()


embeddings = DashScopeEmbeddings() # 阿里云提供的deepseek不支持OpenAIEmbeddings,需用DashScopeEmbeddings替代

text_input = 'The clothes are of good quality and look good, definitely worth the wait. I love them.'
embedding = embeddings.embed_query(text_input)

vector_store = InMemoryVectorStore(embeddings)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值