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

芜湖先锋网站两学一做建设工程j教育网站

芜湖先锋网站两学一做,建设工程j教育网站,宁夏网站建设公司,电子商务网站管理系统完美版(1)嵌入模型的定义和作用 嵌入模型(Embedding Model)的本质在于将高维的、稀疏的数据转换为低维的、密集的向量表示,使得这些向量能够在数学空间中表达原始数据的语义信息。作用如下: 降维表示:…

(1)嵌入模型的定义和作用

        嵌入模型(Embedding Model)的本质在于将高维的、稀疏的数据转换为低维的、密集的向量表示,使得这些向量能够在数学空间中表达原始数据的语义信息。作用如下:

  • 降维表示:嵌入模型能够将文本、图像或其它类型的数据映射到一个连续的向量空间中,这个过程通常伴随着维度的降低。例如,一个包含大量词汇的文本可以通过嵌入模型被表示为固定长度的向量。

  • 捕捉语义关系:在生成的向量空间中,相似或相关的概念在空间中的距离较近,而不相关或相异的概念则距离较远。这意味着嵌入模型不仅能捕捉单个词语或数据点的含义,还能反映它们之间的语义关系。在计算嵌入向量之间的相似度时,有多种方法可供选择,如点积、余弦相似度等。LlamaIndex 在默认情况下使用余弦相似度来进行嵌入比较。

  • 应用于各种任务:这些向量表示可以用于各种自然语言处理和机器学习任务,如文本分类、情感分析、问答系统、推荐系统等。通过使用嵌入向量,模型可以在不需要理解人类语言复杂性的情况下,理解和处理输入数据。

  • 基于上下文的学习:对于一些先进的嵌入模型(如BERT及其变体),它们不仅考虑单词本身的含义,还考虑了单词在其出现的上下文中的意义。这种方式极大地提高了对多义词的理解能力,并能更好地捕捉句子层面的语义信息。 

下面介绍一个llamaindex里面最常用的词嵌入类HuggingFaceEmbedding用之前先安装库

pip install llama-index-embeddings-huggingface
# 导入 HuggingFaceEmbedding 类,用于加载本地的词嵌入(Embedding)模型
from llama_index.embeddings.huggingface import HuggingFaceEmbedding# 初始化一个 HuggingFaceEmbedding 实例
# 指定模型路径为本地已经下载好的中文 BGE 模型(版本1.5)
# 该模型可以将文本转换为向量表示(即 Embedding)
embed_model = HuggingFaceEmbedding(model_name="/root/workspace/llm_models/bge_small_zh_v1.5"
)# 使用词嵌入模型对文本 "Hello World!" 进行编码,得到其对应的向量表示
# 注意:虽然这是中文模型,但也能处理英文文本
embeddings = embed_model.get_text_embedding("Hello World!")# 打印向量的长度(维度),通常 BGE 模型输出为 384 或 768 维等
print(len(embeddings))# 打印前5个维度的数值,查看部分向量结果
print(embeddings[:5])

(2)向量数据库ChromaDB

        ChromaDB是LlamaIndex中的一个存储向量数据的组件。它允许用户将文本数据转换为向量,并将这些向量存储在数据库中,以便进行高效的相似性搜索。ChromaDB特别适用于需要快速检索与查询最相似文档的场景。

pip install chromadb
pip install llama-index-vector-stores-chroma

临时存放数据(放在内存里) 

from llama_index.vector_stores.chroma import ChromaVectorStore
from llama_index.vector_stores.chroma import ChromaClient# 初始化 ChromaVectorStore
vector_store = ChromaVectorStore()# ChromaVectorStore 需要一个 ChromaDB 客户端来存储和管理向量数据。你可以选择连接到一个现有的 ChromaDB 实例,或者创建一个新的临时实例。
# 创建一个临时客户端
chroma_client = chromadb.EphemeralClient()# 创建一个集合
collection_name = "example_collection"
chroma_collection = chroma_client.create_collection(collection_name)# 通过将客户端实例传递给 ChromaVectorStore,可以将其与具体的数据库集合关联起来。
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)# 完成初始化后,您可以使用 ChromaVectorStore 来添加、查询和检索向量数据。

持久存放数据(存在磁盘里)

# 初始化一个 ChromaDB 的持久化客户端,数据将被保存在 "./chroma_db" 目录下
db = chromadb.PersistentClient(path="./chroma_db")# 获取或创建一个名为 "quickstart" 的集合(collection),用于存储向量数据
chroma_collection = db.get_or_create_collection("quickstart")# 将该集合包装成 LlamaIndex 可用的 VectorStore 接口
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)# 创建一个 StorageContext,指定当前使用的 vector_store,用于控制索引如何存储和加载数据
storage_context = StorageContext.from_defaults(vector_store=vector_store)# 使用文档(documents)和 storage_context 构建一个 VectorStoreIndex 索引
# 在此过程中会使用 embed_model 对文档进行嵌入编码,并将结果写入磁盘上的 ChromaDB
index = VectorStoreIndex.from_documents(documents, storage_context=storage_context, embed_model=embed_model
)

从磁盘加载(恢复索引)

# 重新初始化一个 ChromaDB 客户端,指向同一个路径
db2 = chromadb.PersistentClient(path="./chroma_db")# 获取之前创建的 collection(集合)
chroma_collection = db2.get_or_create_collection("quickstart")# 同样包装成 LlamaIndex 的 VectorStore
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)# 从现有的 vector_store 中重建索引,不依赖原始文档
index = VectorStoreIndex.from_vector_store(vector_store,embed_model=embed_model,
)

查询索引:查询引擎会在底层自动将问题嵌入,然后在向量库中查找最相关的文档片段。结合检索结果,生成自然语言的回答。

# 将索引封装为一个查询引擎
query_engine = index.as_query_engine()# 执行自然语言查询:"作者在成长过程中做了什么?"
response = query_engine.query("作者在成长过程中做了什么?")展示响应结果
print(response)


文章转载自:

http://qlfgn8Uq.crfyr.cn
http://oOVeTh0t.crfyr.cn
http://kaPXGQJR.crfyr.cn
http://nZxylP2I.crfyr.cn
http://Nbh9MMSY.crfyr.cn
http://8J0aLRvV.crfyr.cn
http://gdXsajJb.crfyr.cn
http://K5IU9af6.crfyr.cn
http://PrZ212YZ.crfyr.cn
http://VFKk4e9G.crfyr.cn
http://hrS2g2oS.crfyr.cn
http://azuexRHu.crfyr.cn
http://iLOz52Ec.crfyr.cn
http://BlySTWVP.crfyr.cn
http://bXB5gjfh.crfyr.cn
http://UrYOW9mM.crfyr.cn
http://ZruwYDrc.crfyr.cn
http://713QyOAc.crfyr.cn
http://yzegLx4Q.crfyr.cn
http://7ka08NYL.crfyr.cn
http://bnMe5fdJ.crfyr.cn
http://6pjur85k.crfyr.cn
http://zKozZYec.crfyr.cn
http://S2mSkWRc.crfyr.cn
http://VcC5QKui.crfyr.cn
http://NBk4s8Od.crfyr.cn
http://4R9eeKgH.crfyr.cn
http://8KYo9c3W.crfyr.cn
http://VGeylJYD.crfyr.cn
http://xBxJdHhc.crfyr.cn
http://www.dtcms.com/wzjs/693687.html

相关文章:

  • 哪个网站可以兼职做效果图网站的内链优化策略
  • 网站的功能和特色wordpress 是免费的吗
  • 河北建设集团在哪个网站采购北京微信公众号定制开发
  • 海安网站设计公司软件技术属于什么专业大类
  • 凌河锦州网站建设2018淘宝客网站开发
  • 江西网站建设与推广网站建设的用处
  • 商城网站开发模板百度还原
  • php 网站开发 pdf外贸网上营销的途径有哪些
  • 济宁网站建设哪家好三只松鼠的网站建设理念
  • 上海建设工程质监站网站网站营销定义
  • 重庆网站建设培训公司如何做网络推广
  • 利用微博网站做淘客河北地图
  • 网站做代理服务器仿站怎么修改成自己的网站
  • 附近装修设计公司搜索引擎优化的英文缩写是什么
  • 网站备案负责人修改排名前十的设计公司
  • 公司网站开发比选湖南郴州市区号
  • 西安网站架设公司网站建设的培训的感受
  • 广州网站建设开发电子商务网站安全性能主要包括
  • htm5网站建设html网页设计代码购物网站
  • 怎么知道网站被百度k了公司网站建设需要哪些方面
  • 中国建设企业协会网站赣州做网站多少钱
  • 怎么样进行网站建设微信答题小程序制作
  • 网站建设排行网站视频主持人网
  • 企业建站公司实力对比手机网站Com
  • 试描述一下网站建设的基本流程建网站做淘宝客
  • 手机手机端网站建设别人做网站要把什么要过来
  • 深圳做网站推广公司网站开发网站开发设计
  • 做电商自建网站怎样开发网站需要多少人
  • 关于手机的网站有哪些内容吗湛江市微信网站建设企业
  • 长沙网站建设推广服务在一呼百应上做网站行吗