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

哪个网站上做ppt比较好看网站建设更新

哪个网站上做ppt比较好看,网站建设更新,电子商务网站功能,个人如何做免费网站向量检索常见面试篇 一、向量检索库总结 1.1 Annoy 1.1.1 Annoy 介绍1.1.2 Annoy 使用 1.2 Faiss 1.2.1 Faiss 介绍1.2.2 Faiss 主要特性1.2.3 Faiss 使用 1.3 Milvus1.4 ElasticSearch 1.4.1 ElasticSearch 介绍1.4.2 什么是倒排索引呢?1.4.3 ES机制 一、…
  • 向量检索常见面试篇
    • 一、向量检索库总结
      • 1.1 Annoy
        • 1.1.1 Annoy 介绍
        • 1.1.2 Annoy 使用

      • 1.2 Faiss
        • 1.2.1 Faiss 介绍
        • 1.2.2 Faiss 主要特性
        • 1.2.3 Faiss 使用

      • 1.3 Milvus
      • 1.4 ElasticSearch
        • 1.4.1 ElasticSearch 介绍
        • 1.4.2 什么是倒排索引呢?
        • 1.4.3 ES机制

一、向量检索库总结

  1. Annoy
    github:https://github.com/spotify/annoy
    1. Annoy 介绍
      Annoy是高维空间求近似最近邻的一个开源库。全称:Approximate Nearest Neighbors Oh Yeah,是一种适合实际应用的快速相似查找算法。
      Annoy构建一个二叉树,查询时间为O(logn)。
    2. Annoy 使用
      直接通过pip install annoy安装。
      上面的例子为官方github提供的例子。向量检索时用到的函数
  • a.get_nns_by_item(i, n, search_k=-1, include_distances=False): 返回最接近 i 的n个item。查询过程中,将检查search_k个节点,默认为n_trees* n。serarch_k实现了准确性和速度之间的运行时间权衡。include_distances为True时将返回一个包含两个列表的2元素元组:第二个包含 所有相应的距离。
  • a.get_nns_by_vector(v, n, search_k=-1, include_distances=False): 和上面的根据item查询一样,只不过这里时给定一个查询向量v,比如给定一个用户embedding, 返回n个最近邻的item, 一般这样用的时候, 后面的距离会带着,可能作为精排那面的强特。
  • a.get_item_vector(i): 返回索引i对应的向量。
  • a.get_distance(i, j): 返回item_i和item_j的平方距离。索引属性函数
  • a.get_n_items(): 返回索引中的items个数,即词典大小。
  • a.get_n_trees(): 索引树的个数。
    annoy接口中一般需要调整的参数有两个:树的数量n_trees和搜索过程中检查的节点数量search_k
  • n_trees: 在构建期间提供,影响构建时间和索引大小。值越大,结果越准确,但索引越大。
  • search_k: 在运行时提供,并影响搜索性能。值越大,结果越准确,但返回的时间越长。如果不提供,就是n_trees * n, n是最近邻的个数。

  1. Faiss
  • github:https://github.com/facebookresearch/faiss
  • tutorial:https://github.com/facebookresearch/faiss/wiki/Getting-started
  1. Faiss 介绍
    Faiss库是由 Facebook 开发的适用于稠密向量匹配的开源库,支持 c++ 与 python 调用。Faiss提供了高效的索引类库。是向量化检索开山鼻祖的应用。
    Faiss 支持多种向量检索方式,包括内积、欧氏距离等,同时支持精确检索与模糊搜索。
  2. Faiss 主要特性
  • 支持相似度检索和聚类;
  • 支持多种索引方式;
  • 支持CPU和GPU计算;
  • 支持Python和C++调用;

  1. Faiss 使用

直接通过pip install faiss-cpu --no-cache进行安装。faiss的使用方法也比较简单,归纳为以下三个步骤:

  1. 构建向量库,对已知的数据进行向量,最终以矩阵的形式表示
  2. 为矩阵选择合适的index,将第一步得到的矩阵add到index中
  3. import numpy as np import faiss
    d = 64
    nb = 100000 nq = 10000
    # 构建向量库
    xb = np.random.random((nb, d)).astype('float32') xb[:, 0] += np.arange(nb) / 1000.
    xq = np.random.random((nq, d)).astype('float32') xq[:, 0] += np.arange(nq) / 1000.
    # 关键步骤,build index
    index = faiss.IndexFlatL2(d) index.add(xb)
    k = 4
    D, I = index.search(xq[:5], k) # 分别返回距离和索引
    search得到最终结果
  4. Milvus

Milvus的更多介绍可以查看:https://gitee.com/milvus-io/mil

Milvus 是一款开源的特征向量相似度搜索引擎,使用方便、实用可靠、易于扩展、稳定高效和搜索迅速。

  • 高性能:涵盖如Faiss、Annoy和hnswlib等主流第三方索引库,性能高,支持对海量向量数据进 行相似搜索。
  • 高可用、高可靠:Milvus支持使用Kubernetes部署,支持在云上扩展。其容灾能力能够保证服 务的高可用。Milvus依照日志及数据的理念,使用如Pulsar、Kafka等消息队列的技术实现组件 间的通信,对组件进行解耦,拥抱云原生。
  • 混合查询:Milvus支持在向量检索过程中进行标量字段过滤,实现混合查询。
  • 开发者友好:支持多语言、多工具的Milvus生态。如今Milvus已经支持Python、Java、Go和Node.js,未来可能还会扩展对更多语言的支持。Milvus提供了如Attu等工具,帮助用户简化操 作。
  1. ElasticSearch
    1. ElasticSearch 介绍
      Elasticsearch 是⼀个分布式可扩展的实时搜索和分析引擎,⼀个建⽴在全⽂搜索引擎 Apache Lucene(TM)基础上的搜索引擎,当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全⽂搜索功能,还可以进行以下⼯作:
  • 分布式实时⽂件存储,并将每⼀个字段都编入索引,使其可以被搜索。
  • 实时分析的分布式搜索引擎。
  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
    ES本质上是一个支持全文搜索的分布式内存数据库,特别适用于构建搜索系统,比如内容检索、 文本检索、日志检索。其原因是采用了倒排索引。

    1. 什么是倒排索引呢?
      倒排索引是一种特别为搜索而设计的索引结构。
      先对需要索引的字段进行分词,然后以分词为索引组成一个查找树,这样就把一个全文匹配的查找 转换成了对树的查找。
      倒排索引相比于一般数据库采用B树索引,其写入和更新的性能比较差,因此倒排索引只适合全文 搜索,不适合更新频繁的交易类数据。
    2. ES机制

Elasticsearch的⽂件存储, Elasticsearch是⾯向⽂档型数据库,⼀条数据在这⾥就是⼀个⽂档,

{

"name" : "John",

"sex" : "Male", "age" : 25,

"birthDate": "1990/05/01",

"about" : "I love to go rock climbing", "interests": [ "sports", "music" ]

}

⽤JSON作为⽂档序列化的格式,比如下面这条用户数据:

也就是说Elasticsearch比较适合存储非结构化或半结构化数据。

⽤Mysql这样的数据库存储就会容易想到建⽴⼀张User表,有⽤户信息的字段等,在Elasticsearch

⾥这就是⼀个⽂档,当然这个⽂档会属于⼀个User的类型,各种各样的类型存在于⼀个索引当中。 这⾥有⼀份将Elasticsearch和关系型数据术语对照表:

关系数据库【数据库关系系统】 ⇒ 数据库 ⇒ 表 ⇒ ⾏ ⇒ 列(Columns) Elasticsearch ⇒ 索引(Index) ⇒ 类型(type) ⇒ ⽂档(Docments) ⇒ 字段(Fields)

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

相关文章:

  • 网站中的ppt链接怎么做广元城乡建设部网站首页
  • 网站自适应 如何做杭州互联网大厂
  • 做网站英文编辑有前途吗余姚做网站
  • 查备案网站两学一做 答题 网站
  • 网站托管平台东莞营销型高端网站建设
  • 运营一个网站的成本友情链接搜读
  • 网站数据库建设access做电视的视频网站
  • 遵义网站优化青岛网站建设咨询
  • 网上如何做网站洪梅镇仿做网站
  • 济南企业建站改行做网站
  • 企业官网门户网站管理系统网站菜单导航怎么做
  • 做商务网站公司代码实现wordpress百度地图
  • 做网站深圳企业网站公告怎么做
  • 青岛做网站推广网站开发 教材
  • 如何创建自己的网站黄页网站推广公司
  • 沈阳网站建设哪家做得好如何推广网站运营
  • 免费图片制作网站模板夜晚必备直播软件
  • 上海网站建设公司wordpress 播放
  • 网站搭建技术方案网站运营 宣传团队建设
  • 科技企业网站建设抖音seo排名优化软件
  • 网站创建数据库wordpress 响应式教程
  • 专业微信网站建设wordpress通过id获取文章
  • 工业设计外包平台网络seo优化服务
  • 网站搭建免费企业网站推广 知乎
  • 石家庄建设局网站网站建设齐齐哈尔
  • 自己可以做拼单网站吗域名网站建设
  • 企业网站数据库网站正在建设中模板 html
  • 海关总署2018年海关网站建设上交所互动平台
  • 建设网站iss建企业网站要多少钱
  • mc做图的网站如何弄一个自己的网站