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

江门网站建设推广黑帽seo技术有哪些

江门网站建设推广,黑帽seo技术有哪些,营销推广平台都干什么的,app定制软件开发哪家好目录 语义搜索Semantic_Search代码详解 为甚麽用Pinecone做向量索引?优点是什么? 有哪些常见向量索引方法? Pinecone做向量索引怎么用? 向量索引全解:含原理解析: 语义搜索Semantic_Search代码详解 1…

目录

语义搜索Semantic_Search代码详解

为甚麽用Pinecone做向量索引?优点是什么?

有哪些常见向量索引方法?

Pinecone做向量索引怎么用?

向量索引全解:含原理解析:


语义搜索Semantic_Search代码详解

1.导入各个库

import warnings
warnings.filterwarnings('ignore')
from datasets import load_dataset
from sentence_transformers import SentenceTransformer
from pinecone import Pinecone, ServerlessSpec
from DLAIUtils import Utils
import DLAIUtilsimport os
import time
import torch

2.导入quora的数据集dataset,并划分数据集

dataset = load_dataset('quora', split='train[240000:290000]')

3.设置模型:使用'all-MiniLM-L6-v2'语言模型,SentenceTransformer

device = 'cuda' if torch.cuda.is_available() else 'cpu'
if device != 'cuda':print('Sorry no cuda.')
model = SentenceTransformer('all-MiniLM-L6-v2', device=device)
  • SentenceTransformer 是一个用于处理文本嵌入的库,它提供了预训练的语义文本嵌入模型。
  • 'all-MiniLM-L6-v2' 是一个特定模型的名称,表示使用的是预训练模型的某个版本。这个模型的选择可能基于你的任务和数据,因为不同的预训练模型在捕捉语义信息方面有不同的性能。
  • device=device 是一个可选参数,用于指定在哪个设备上运行模型。在这里,它根据你的设备是否支持CUDA(GPU加速)来选择在CPU还是GPU上运行模型。

4.将数据进行编码,编码方式(以模型为主)

query = 'which city is the most populated in the world?'
xq = model.encode(query)
xq.shape

5.设置向量索引方法,调用api

utils = Utils()
PINECONE_API_KEY = utils.get_pinecone_api_key()

使用提供的 API 密钥(PINECONE_API_KEY)创建了一个 Pinecone 实例。这个密钥可能是从 Pinecone 获取的,用于验证和授权 API 请求。

一 定义索引名称:

INDEX_NAME = utils.create_dlai_index_name('dl-ai')

变量 INDEX_NAME 被赋予一个由 utils 模块中的 create_dlai_index_name 函数生成的值。这似乎是创建一个与深度学习和人工智能相关的索引名称,基础名称为 'dl

二 检查现有索引并删除:

if INDEX_NAME in [index.name for index in pinecone.list_indexes()]:pinecone.delete_index(INDEX_NAME)

此块检查是否已存在指定名称的索引(INDEX_NAME)。如果存在,则使用 pinecone.delete_index() 删除索引。这一步确保在创建新索引时没有冲突,可以保持一个干净的状态。

三 创建新索引:

pinecone.create_index(name=INDEX_NAME,dimension=model.get_sentence_embedding_dimension(),metric='cosine',spec=ServerlessSpec(cloud='aws', region='us-west-2')
)

在这里,使用 pinecone.create_index() 创建了一个新索引。它指定了索引名称(name)、从某个模型中获取的嵌入维度(dimension)、相似性度量(在本例中为 'cosine')和服务器规格(云提供商和地区)。

6.批量插入向量到 Pinecone:

for i in tqdm(range(0, len(questions), batch_size)):# 找到批次的结束位置i_end = min(i + batch_size, len(questions))# 创建批次的 IDsids = [str(x) for x in range(i, i_end)]# 创建批次的元数据metadatas = [{'text': text} for text in questions[i:i_end]]# 创建嵌入向量xc = model.encode(questions[i:i_end])# 为 upsert 创建记录列表records = zip(ids, xc, metadatas)# upsert 到 Pineconeindex.upsert(vectors=records)
  • 使用 tqdm 模块创建了一个循环,按批次处理问题列表。
  • 找到了每个批次的结束位置 i_end
  • 创建了批次的 IDs 列表。
  • 为批次的每个文本创建了元数据(这里是以'text'为键的字典)。
  • 使用模型 model 编码了批次中的问题,得到嵌入向量 xc
  • 创建了包含 IDs、嵌入向量和元数据的记录列表 records
  • 使用 index.upsert() 将记录列表插入到 Pinecone 索引中。

问题:

为甚麽用Pinecone做向量索引?优点是什么?

Pinecone 是一个托管的向量数据库服务,专注于高效的相似性搜索。向量索引是一种在高维向量空间中组织和存储向量的结构,使得对于给定查询向量,可以快速找到相似的向量。以下是 Pinecone 向量索引的一些优势:

  1. 高效的相似性搜索: Pinecone 提供了高效的相似性搜索功能,能够快速找到与查询向量相似的向量。这对于许多应用场景,如推荐系统、搜索引擎、聚类等都非常有用。

  2. 托管服务: Pinecone 是一个云端托管的服务,无需用户担心底层基础设施的管理和维护。它简化了向量数据库的使用,让用户可以专注于应用开发而不必担心硬件和网络配置。

  3. 弹性伸缩: Pinecone 提供弹性伸缩的能力,可以处理大规模的向量数据。无论是小规模的应用还是大规模的生产系统,Pinecone 都能适应不同的需求。

  4. 支持多种应用场景: Pinecone 的向量索引适用于各种应用场景,包括自然语言处理、计算机视觉、推荐系统等。用户可以根据具体的需求上传和查询向量,从而支持多种应用。

  5. 内置距离度量: Pinecone 内置了多种距离度量,包括余弦相似度、欧氏距离等。用户可以根据具体的应用选择合适的度量来进行相似性比较。

使用 Pinecone 向量索引的目的是将一批文本数据的嵌入向量上传到 Pinecone 索引中,以便后续进行相似性搜索。这对于需要快速检索与给定查询文本相似的文本数据的应用非常有用,比如文本搜索、推荐系统等。 Pineacone 的索引服务提供了有效的相似性搜索功能,可以大大简化开发者在这方面的工作。

有哪些常见向量索引方法?
  1. 树结构(如 KD 树、Ball 树): 这些树结构允许数据集在树的节点中进行分割,每个节点存储一个向量。查询时,树结构允许系统跳过某些节点,只遍历那些可能包含相似项的节点,从而缩小搜索范围。

  2. 局部敏感哈希(Locality-Sensitive Hashing,LSH): LSH 是一种哈希技术,它在向量空间中对相似的向量映射到相同的哈希桶的概率更高。这样的设计可以在哈希桶中找到可能相似的向量,从而进行近似搜索。

  3. 分级索引: 将向量空间划分为多个级别,每个级别上建立一个索引。首先在粗略级别上进行搜索,然后在更细致的级别上进行搜索,以逐渐缩小候选集合。

  4. 递进式索引: 使用递进式索引,先从一个较小的索引开始搜索,然后根据需要逐步增加索引的大小。这种方式可以在保证搜索效率的同时,降低计算成本。

Pinecone做向量索引怎么用?

Pinecone 是一个云端的向量索引服务,用于存储和检索高维向量,支持高效的相似性搜索。以下是使用 Pinecone 进行向量索引的基本步骤:

  1. 创建 Pinecone 帐户: 首先,你需要在 Pinecone 官方网站上创建一个账户(Pinecone 官方网站)。

  2. 获取 API Key: 登录 Pinecone 后,在控制台中生成 API Key,该 Key 将用于访问 Pinecone 服务。

  3. 安装 Pinecone Python 客户端库: 在你的 Python 环境中安装 Pinecone 客户端库。可以使用以下命令:

pip install pinecone-client
  1. 导入 Pinecone 客户端库: 在 Python 脚本或 Jupyter 环境中导入 Pinecone 客户端库:

    import pinecone
  2. 设置 API Key: 使用你在 Pinecone 控制台生成的 API Key 进行身份验证:

    pinecone.init(api_key="YOUR_API_KEY")
  3. 创建索引: 创建一个新的索引以存储向量:

    index_name = "your_index_name" pinecone.create_index(index_name, dimension=YOUR_VECTOR_DIMENSION)

    这里的 YOUR_VECTOR_DIMENSION 是你的向量维度,需要根据你的数据进行设置。

  4. 插入向量: 将向量插入到索引中:

    vectors = [...] # 你的向量列表 
    pinecone.index(index_name).upsert(items=vectors)
  5. 进行相似性搜索: 使用查询向量进行相似性搜索:

    query_vector = [...] # 你的查询向量 
    results = pinecone.index(index_name).query(queries=[query_vector])

    results 包含了与查询向量相似的项的信息。

向量索引全解:含原理解析:
十分钟带你入门向量检索技术 - 知乎

http://www.hkea.cn/news/931850/

相关文章:

  • 青州网站制作哪家好aso优化哪家好
  • wordpress做网站优点郑州网站seo优化
  • 宝安做棋牌网站建设找哪家公司好湖南长沙疫情最新消息
  • 四川专业网站建设中国十大企业培训机构排名
  • 怎么切页面做网站灰色词首页排名接单
  • 网站右侧浮动广告代码百度推广代理公司广州
  • 固原建站公司旺道seo推广系统怎么收费
  • 适合做外链的网站海外广告联盟平台推广
  • 建筑模板规格型号郑州厉害的seo顾问
  • ppt做书模板下载网站有哪些内容国际婚恋网站排名
  • 上海网站建设内容更新网络营销策划目的
  • 重庆市建设信息网站关键词查询网
  • 做哪种网站流量大怎么打广告宣传自己的产品
  • 免费表白网站制作seo网络优化推广
  • 网站建设中可能升级中国科技新闻网
  • 网站制作内容文案网站如何快速被百度收录
  • 淘宝淘宝网页版登录入口免费seo公司
  • 竹溪县县建设局网站短视频营销
  • 好的网站有哪些搜索引擎seo是什么意思
  • 做音乐网站赚钱吗做小程序的公司
  • 坪地网站建设域名流量查询工具
  • 网站建设部署万能推广app
  • 网站的重要性怎么做个网站
  • 做网站的经验百度旗下有哪些app
  • 化工网站开发推广点击器
  • 怎么访问日本竹中建设网站外贸seo推广
  • 惠阳建设局网站引流推广接单
  • 北京通州网站建设公司如何建立公司网站网页
  • 网站换程序301seo优化按天扣费
  • html5 网站自适应长尾关键词挖掘爱站工具