当前位置: 首页 > wzjs >正文

百度网盟推广怎么选择投放网站外贸网站搭建

百度网盟推广怎么选择投放网站,外贸网站搭建,施甸网站建设,丹阳网站建设报价上篇文章我们学习了LangChain教程——Chain链,这篇文章我们学习LangChain教程——文本嵌入模型。 文本嵌入模型 文本嵌入模型(Embeddings)用于文本转换为向量,为语义搜索、相似性计算等任务提供了基础支持。 其提供了两种方法将…

上篇文章我们学习了LangChain教程——Chain链,这篇文章我们学习LangChain教程——文本嵌入模型。

文本嵌入模型

文本嵌入模型(Embeddings)用于文本转换为向量,为语义搜索、相似性计算等任务提供了基础支持。

其提供了两种方法将文本向量化:

  • 文档向量化(embed_documents):接收参数是字符串数组;

  • 句子向量化(embed_query):接收参数是字符串;

在使用文本嵌入模型前,需要执行如下代码安装sentence-transformers。

pip install sentence-transformers

示例代码如下:

from langchain_huggingface import HuggingFaceEmbeddings# 模型地址
embeddings_path = "F:\model\ge-large-zh-v1.5"
# 实例化模型
embeddings = HuggingFaceEmbeddings(model_name=embeddings_path)text="你好,你知道白巧克力吗?"
# 句子向量化
result=embeddings.embed_query(text)
# 文档向量化
doc_result=embeddings.embed_documents([text])print(result[:10])
print(doc_result[0][:5])

运行结果如下:

[-0.033717427402734756, -0.03865227848291397, -0.01294323056936264, -0.020587250590324402, -0.0017022894462570548, -0.05969524011015892, -0.04599889740347862, -0.0034713181667029858, 0.026392975822091103, -0.023560168221592903]
[-0.033717427402734756, -0.03865227848291397, -0.01294323056936264, -0.020587250590324402, -0.0017022894462570548]

这样就可以得到了文本向量,得到了向量数据,需要存储在数据库中。

向量存储

文本嵌入一般都与向量数据库配合使用,实现高效的相似性搜索。LangChain官方提供了三种开源、免费、可用于本地机器的向量数据库示例(chroma、FAISS、Lance)。

这里我们简单使用chroma向量数据库来配合文本嵌入,以后的文章会详细介绍。

在使用chroma前,需要执行如下安装chroma,

pip install chromadb

首先实例化模型,示例代码如下:

# 文本文件加载器
from langchain_community.document_loaders import TextLoader
# 文本分割器
from langchain.text_splitter import CharacterTextSplitter
# 矢量存储数据库
from langchain_community.vectorstores import Chroma
from langchain_huggingface import HuggingFaceEmbeddings
# 模型地址
embeddings_path = "F:\model\ge-large-zh-v1.5"
# 实例化模型
embeddings = HuggingFaceEmbeddings(model_name=embeddings_path)

接下来对文档进行分割切片,示例代码如下:

# 加载文档
raw_documents=TextLoader('计算机技术与软件专业技术资格(水平)考试简介.txt',encoding='utf-8').load()
print(raw_documents)# 实例化文本分割器
text_splitter=CharacterTextSplitter(chunk_size=200,     # 分割后文本最大长度chunk_overlap=20,      # 文档之间重叠度separator="\n"         # 按换行符优先分割
)
# 对文本进行分片
documents=text_splitter.split_documents(raw_documents)
print(len(documents))
print(documents[0])

运行结果如下:

也可以使用split_text方法进行分片,示例代码如下:

# 加载文档
raw_texts=open('计算机技术与软件专业技术资格(水平)考试简介.txt',encoding='utf-8').read()
print(raw_texts)# 对文本进行分片
texts=text_splitter.split_text(raw_texts)
print(len(texts))
print(texts[0])

运行结果如下:

接下来将矢量化文本加载到Chroma向量数据库中,示例代码如下:

db=Chroma.from_documents(documents,embeddings)
db_texts=Chroma.from_texts(texts,embeddings)
print(db)
print(db_texts)

运行结果为:

<langchain_community.vectorstores.chroma.Chroma object at 0x000002487E641330>
<langchain_community.vectorstores.chroma.Chroma object at 0x0000018DAC94A530>

默认情况下存储数据库的路径:

windows:用户/用户名/.cache/chroma/xxx
Linux:/home/<username>/.cache/chroma/xxx

接下来就可以进行实例化一个检索器用来矢量查询与检索,示例代码如下:

# 实例化检索器
ret=db.as_retriever()
docs=ret.invoke('计算机软件资格考试由哪些部门进行领导的')
print('检索出相似文档数量',len(docs))
print("第一个文档的内容:",docs[0].page_content)

运行结果如下:

好了,LangChain教程——文本嵌入模型就简单讲到这里,下一篇我们学习LangChain教程——文档加载、转换器。

公众号:白巧克力LIN

该公众号发布Python、数据库、Linux、Flask、Django、自动化测试、Git、算法、前端、服务器、AI等相关文章!

- END -

http://www.dtcms.com/wzjs/544456.html

相关文章:

  • 搜索引擎营销的基本流程做神马网站优化排
  • 上海网站建设设计公司排名成都h5模板建站
  • 有哪些做ppt网站沈阳 网站建设
  • 专业信息门户网站定制水立方建设集团有限公司网站
  • 个人网站如何做淘客网站宁乡网站开发
  • 开发网站开发建设通类型网站叫啥
  • 个人网站做贷款广告邢台百姓网官网
  • 学校网站结构图更新标签wordpress
  • 珠海网站建设怎样时事新闻热点事件
  • 哪个网站衬衣做的好做设计必知网站
  • 网站和网页的概念网站分析欣赏
  • windows10php网站建设百度推广就是做网站吧
  • 网站怎么上百度企业展厅效果图大全
  • 欧美只做les 网站网站建设销售兼职合同
  • 网站建设分金手指专业一公司企业制度体系建设
  • wordpress 广告主题兰州网络优化seo
  • 定陶网站建设wordpress怎么找到作者的分类标签
  • 无锡网站排名优化公司网上做预算的网站
  • 建立免费空间网站网站网站优化
  • 深圳市做网站建设信息流推广方式
  • 网站承建商有哪些店名logo设计在线生成
  • 福田专门做网站推广公司互联网公司主要干什么
  • 医学教育网站建设方案wordpress播入视频播放
  • 已经有域名 怎么做网站镇江网站建设dmooo
  • word模板免费网站wordpress 历史版本
  • 蒙自网站建设网站免费申请注册
  • 人和动物做的网站泰安做网站网络公司
  • 东莞教育团购网站建设武义建设工程网站
  • 哈尔滨市建筑企业管理站怎么建设一个自己的网站
  • 网站检测企业微信小程序入口