首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏后台公论

    Faiss: 入门导读

    Faiss支持的不止是文本的相似检索,它支持多媒体文档。图片,视频都可以,只要把它们向量化就行。 本文主要是解读一下Faiss的官方Get Started文档中的Demo代码: https://github.com/facebookresearch/faiss/wiki/Getting-started import faiss # make faiss available index = faiss.IndexFlatL2(d) # build the index 包(需要事先安装哦,建议使用conda安装) faiss.IndexFlatL2(d) faiss.IndexFlatL2(d)创建了一个IndexFlatL2类型的索引。 faiss支持丰富的索引类型,这里创建的只是最简单的索引,它进行暴力的L2距离搜索。

    82510编辑于 2021-12-08
  • 来自专栏小鹏的专栏

    基于faiss的搜索

    /TextMatch python tests/tools_test/faiss_test.py tests/tools_test/faiss_test.py import sys import json import time import faiss import numpy as np from faiss import normalize_L2 from textmatch.config.constant = FaissSearch( res, sport_mode=False ) faiss_res = faiss_search.predict( test ) print( "faiss_res :", faiss_res ) ''' faiss kmeans result times 8.0108642578125e-05 faiss_res: [{0: 0.7833399 faiss_res = faiss_search.predict( test ) print( "faiss_res:", faiss_res ) ''' faiss kmeans

    64230发布于 2020-10-29
  • 来自专栏大数据智能实战

    facebook faiss的安装测试

    Faiss 是由 Facebook AI Research(FAIR)开发的一个用于有效的相似性搜索(similarity search)和稠密矢量聚类(clustering of dense vectors Faiss 是用 C ++编写的,带有 Python / numpy 的完整包装。其中最有用的一些算法是在 GPU 上实现的。 针对这个开源的好东西,非常想测试一下,于是从开源地址:https://github.com/facebookresearch/faiss下载了源码进行查看和编译 主要安装过程参照github上faiss Faiss is compiled via a Makefile. 再看了下FAISS原理,Faiss 是围绕一种存储了一个向量集的索引类型(index type)而构建的,并且提供了一个使用 L2 和/或点积向量比较在其中进行搜索的函数。

    2.4K80发布于 2018-01-09
  • 来自专栏Zephery

    商品推荐系统-FAISS召回

    FAISS(Facebook AI Similarity Search)就是这样一款解决大规模向量检索难题的利器。 第二环节:构建与优化FAISS召回系统 4.1 为什么选FAISSfaiss.read_index(index_path) print("Loaded FAISS index from disk.") except Exception: quantizer = faiss.IndexFlatIP(dim) nlist = 4096 index = faiss.IndexIVFFlat index.add(embeddings) faiss.write_index(index, index_path) print("Trained and saved FAISS

    75200编辑于 2025-06-11
  • 来自专栏xiaosen

    Faiss向量数据库

    在推荐系统中,Faiss可以用于快速查找用户可能感兴趣的物品或寻找具有相似兴趣的用户。  在信息检索领域,Faiss可以用于构建文档或图像的相似性搜索引擎。 安装Faiss: cpu版本: conda install -c pytorch faiss-cpu gpu版本: conda install -c pytorch faiss-gpu Faiss 处理固定维数 Faiss 仅使用 32 位浮点矩阵。 Faiss支持将索引保存到磁盘文件中,并在需要时重新加载它们。 = faiss.read_index('index.faiss')

    1.7K10编辑于 2024-09-05
  • 来自专栏AI科技时讯

    Faiss: 选择合适的索引Index

    Faiss(Facebook AI相似性搜索)是一个流行的索引解决方案,它允许我们存储向量并在Faiss索引中使用“查询”向量进行搜索。 了解了相似性搜索的基本概念后,接下来将探讨如何选择正确的Faiss索引,以及如何调整索引参数以优化搜索性能。 Faiss索引的选择 Faiss 提供了多种索引类型,这些类型可以相互组合,以构建多层级的索引结构。在选择索引时,需考虑不同的因素,如搜索速度、质量或索引内存的需求。 Faiss CPU速度。 实现 Flat 索引 要初始化一个 Flat 索引需要准备数据和 Faiss,选择合适的平面索引,如 IndexFlatL2 或 IndexFlatIP。

    2.2K10编辑于 2024-06-19
  • 来自专栏《C++与 AI:个人经验分享合集》

    《探索 Faiss:原理与应用解析》

    Faiss 作为一款强大的工具,为我们提供了在高维空间中进行快速相似度搜索的能力。本文将深入探讨 Faiss 的原理与使用方法,带您领略其魅力所在。 一、Faiss 简介 Faiss 是一个专为大规模相似性搜索和聚类而设计的库,它在处理高维向量数据方面表现出色。无论是在文本处理、图像识别还是其他领域,Faiss 都有着广泛的应用。 二、Faiss 原理 (一)向量表示 Faiss 处理的是高维向量数据,这些向量通常是对数据的特征提取结果。 (二)索引构建 Faiss 通过构建高效的索引结构来加速搜索过程。 (三)搜索算法 在搜索时,Faiss 根据索引结构快速定位相近的向量,并进行精确或近似搜索。 三、Faiss 的使用 (一)安装与导入 首先,需要安装 Faiss 库,并在代码中导入相关模块。 (二)文本相似性比较 在大规模文本数据中,利用 Faiss 可以快速找出相似的文本片段。 (三)推荐系统 Faiss 可用于推荐系统中,根据用户的兴趣向量找到相似的推荐内容。

    49510编辑于 2024-12-09
  • 来自专栏大数据智能实战

    facebook Faiss的基本使用示例(逐步深入)

    针对上一篇文章,安装完毕之后,可以对faiss进行基本的案例学习,具体步骤如下: step1:构造实验数据 step2:为向量集构建IndexFlatL2索引,它是最简单的索引类型,只执行强力L2距离搜索 为了扩展到非常大的数据集,Faiss提供了基于产品量化器的有损压缩来压缩存储的向量的变体。压缩的方法基于乘积量化。

    3.9K50发布于 2018-01-09
  • 来自专栏《C++与 AI:个人经验分享合集》

    深入理解 Faiss:原理与使用总结

    Faiss 作为一个高效的相似度搜索库,为解决这一问题提供了强大的支持。本文将深入探讨 Faiss 的原理和使用方法,并结合实际案例进行分析,希望能帮助读者更好地理解和应用这一工具。 Faiss 库的出现为解决这些问题提供了新的思路和方法。通过对向量进行编码和压缩,以及利用高效的索引结构和搜索策略,Faiss 能够在大规模数据上实现快速的相似度搜索。 二、Faiss 原理 (一)向量编码与压缩 Faiss 采用了多种向量编码和压缩技术,将高维向量转换为低维表示,以减少存储空间和计算成本。 三、Faiss 使用总结 (一)安装与部署 使用 Faiss 前需要先进行安装,可以通过 conda 或 pip 进行安装。 安装完成后,可以通过 Python 接口调用 Faiss 库进行相似度搜索。 (二)数据准备 在使用 Faiss 进行相似度搜索前,需要对数据进行预处理。

    1.2K10编辑于 2024-12-09
  • 来自专栏机器学习与生成对抗网络

    使用Faiss进行海量特征的相似度匹配

    本文从最基本的特征比对开始讲解,中间详细讲解Faiss的环境配置以及使用步骤,最后落脚到为什么我们需要Faiss,以及Faiss上提供的在特征比对之外的功能。 Faiss就是Facebook维护的一个高效的特征相似度匹配和聚类的库。 本文将从最基本的特征比对说起,然后落脚到我们为什么需要Faiss,以及Faiss上提供的在特征比对之外的功能。 这就是Faiss库存在的意义。Faiss:Facebook AI Similarity Search。 /site-packages/faiss-1.6.3-py3.7.egg/faiss/ Faiss的简单使用:Flat 我们先定义两个变量xb和xq。 在项目仓库的faiss/contrib/目录下,Faiss提供了rpc.py,一个小型的RPC库。

    4.3K20发布于 2021-01-08
  • 来自专栏Python与算法之美

    10分钟入门faiss相似向量检索

    一,faiss简介 faiss全称 Facebook AI Similarity Search,是FaceBook的AI团队针对大规模向量 进行 TopK 相似向量 检索 的一个工具,使用C++编写 使用faiss 搭配合适的model和embedding函数,可以帮助我们 构建 人脸识别,相似图片检索,LLM知识库问答,推荐系统召回模块 等应用。 faiss的主要原理是构建base vectors向量数据的index索引,然后利用索引对search vectors 实现 TopK 相似向量检索。 faiss支持许多不同的构建索引的方式,以下是一些较推荐使用的类型。 1,Flat:暴力精确检索,全局最优,适合数十万级。 二,Faiss安装 pip install faiss-cpu # faiss-gpu (一般来说cpu足够快了) 三,代码范例 import faiss import numpy as np #

    4.9K30编辑于 2023-09-05
  • 使用NVIDIA cuVS增强Faiss的GPU向量搜索

    Python代码示例集成cuVS和Faiss有什么好处? 轻松的CPU-GPU互操作性通过cuVS加速Faiss中的GPU索引,开启了CPU-GPU互操作性的新水平。借助Faiss,您可以在GPU上构建索引,然后将其部署到CPU上。 这使Faiss用户能够利用GPU加速索引构建,同时保持其CPU搜索架构。这一切都可以在Faiss库中无缝完成。 IVF:cuVS对比Faiss GPU经典版本我们首先对IVF索引IVF-Flat和IVF-PQ进行基准测试,比较Faiss经典GPU实现与新的支持cuVS的Faiss变体:构建时间:使用cuVS构建IVF-PQ = faiss.IndexIVFPQ(quantizer,96, 1024, 96, 8, faiss.METRIC_L2)index_cpu.train(xt)co = faiss.GpuClonerOptions

    18110编辑于 2026-01-29
  • 来自专栏机器学习

    AI 文档搜索系统:基于 LangChain + FAISS 的智能搜索

    "公司财务情况" 搜索引擎返回所有包含 "公司"、"财务"、"情况" 的文档 无法识别 "盈利情况"、"年度财报" 这些相关内容 AI 语义搜索: 使用 向量化索引,将文档转换为向量,存储在 FAISS 数据库 通过 嵌入模型(Embedding Model) 计算语义相似度 返回与 "公司财务情况" 语义最接近的文档 2.2 LangChain + FAISS 语义搜索工作流 文档解析:读取 PDF 数据库,实现高效索引 语义搜索:用户输入查询语句,向量化后在 FAISS 数据库中进行最近邻搜索,返回最相关的文档 结果展示:显示匹配的文档及相关段落,提升搜索体验 3. 语义索引FAISS 是 Facebook 开源的高效向量搜索库,适用于 大规模文本检索。 通过 LangChain 解析文档,FAISS 进行语义索引,嵌入模型向量化文本,实现高效、精准的 AI 文档搜索。

    1.4K01编辑于 2025-03-30
  • 来自专栏自然语言处理

    【RAG入门必备技能】Faiss框架使用与FaissRetriever实现

    ,可支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库 官方资源地址https://github.com/facebookresearch/faiss Faiss基础依赖 1)矩阵计算框架:Faiss Faiss的核心 Faiss本质上是一个向量(矢量)数据库。进行搜索时,基础是原始向量数据库,基本单位是单个向量,默认输入一个向量x,返回和x最相似的k个向量。 使用方法 Faiss是为稠密向量提供高效相似度搜索的框架(Facebook AI Research),选择索引方式是faiss的核心内容,faiss 三个最常用的索引是:IndexFlatL2, IndexIVFFlat Faiss应用 - 召回框架 FAISS 用法 Tutorial: semantic search using Faiss & MPNet Introduction to Facebook AI Similarity Search (Faiss) 算法工程-Faiss原理和使用总结

    4.6K20编辑于 2024-06-06
  • 来自专栏DeepHub IMBA

    使用Sentence Transformers和Faiss构建语义搜索引擎

    首选的方法是使用Faiss,一个有效的相似度搜索和聚类密集向量库。Faiss提供了大量的索引和复合索引。此外,给定一个GPU, Faiss可扩展到数十亿个向量! 用Transformers 和Faiss构建一个基于向量的搜索引擎 在这个实际的例子中,我们将使用真实的数据。 用Faiss索引文档 Faiss包含的算法可以在任意大小的向量集合中搜索,甚至是那些无法放入RAM的向量。要了解更多关于Faiss的信息,你可以在arXiv阅读他们的论文。 Faiss是围绕索引对象构建的,索引对象包含可搜索向量,有时还对其进行预处理。它处理一个固定维数d的向量集合,通常是几个10到100。 Faiss只使用32位浮点矩阵。 结论 在本教程中,我们使用Sentence Transformers和Faiss构建了一个基于矢量的搜索引擎。我们的索引效果很好,并且相当简单。

    2.9K20发布于 2020-11-17
  • 来自专栏DeepHub IMBA

    开源向量数据库比较:Chroma, Milvus, Faiss,Weaviate

    Faiss Faiss 是由 Facebook AI Research(FAIR)开发的一个高效的库。 以下是 Faiss 的一些关键特性: 高效的索引结构:Faiss 提供多种索引结构和搜索算法,包括扁平(flat)索引、倒排文件(IVF)索引和基于量化的索引(如 PQ 和 OPQ)。 GPU加速:Faiss 还提供了GPU版本,可以利用GPU强大的并行处理能力来进一步加速向量搜索和聚类计算。 易于集成和使用:Faiss 可以与 Python 紧密集成,通过提供的 Python 接口,用户可以方便地在 Python 环境中使用 Faiss 进行数据处理和分析。 上面的四个库也不例外 Faiss使用最开放的MIT,其他的库也都对商业使用友好。

    37.4K31编辑于 2024-04-25
  • 来自专栏Elastic Stack专栏

    Elasticsearch BBQ与OpenSearch FAISS:向量搜索性能对比

    -2.19-faiss10-200-20047.91155.160.95OpenSearch-2.19-faiss10-2000-2000232.1431.840.96OpenSearch-2.19-faiss10 -2.19-faiss10-750-750104.1975.490.96召回@50 - 简化在该召回水平,Elasticsearch BBQ的速度最多比OpenSearch FAISS快5倍(平均快4.2 -1000-1000125.3562.530.96OpenSearch-2.19-faiss50-1200-1200143.8754.750.96OpenSearch-2.19-faiss50-150- -2.19-faiss50-2000-2000216.7336.380.96OpenSearch-2.19-faiss50-250-25053.52142.440.93OpenSearch-2.19-faiss50 -2.19-faiss100-250-25057.08131.230.87OpenSearch-2.19-faiss100-300-30062.76120.100.89OpenSearch-2.19-faiss100

    78121编辑于 2025-04-22
  • 来自专栏AI研习社

    揭开Faiss的面纱 探究Facebook相似性搜索工具的原理

    本月初 AI 研习社报道,Facebook 开源了 AI 相似性搜索工具 Faiss。而在一个月之后的今天,Facebook 发布了对 Faiss 的官方原理介绍。 这听起来太技术流,因此 Faiss 的文件会向开发者提供指导:如何根据需要选择最恰当的索引类型。 索引类型确定之后,就可以开始索引。FAISS 算法库对这十亿个矢量进行处理,并把他们放入索引。 Faiss 做了许多关注工程细节的痛苦工作。 █ 上手 Faiss Faiss 用 C++ 实现,支持 Python。 想要上手的各位,请到 GitHub 获取 Faiss,进行编译,然后把 Faiss 模块导入到 Python。 /faiss-a-library-for-efficient-similarity-search/

    9.8K102发布于 2018-03-29
  • 来自专栏DeepHub IMBA

    向量搜索升级指南:FAISS 到 Qdrant 迁移方案与代码实现

    FAISS 在实验阶段确实好用,速度快、上手容易,notebook 里跑起来很顺手。 /my_index.faiss' DATA_PATH = '.. faiss_index = faiss.read_index(FAISS_INDEX_PATH) # Connect to Qdrant (The "New Way") print("Connecting faiss_input = np.array([query_vector], dtype='float32') _, _ = faiss_index.search(faiss_input 用 FAISS 时有次跑了个索引脚本处理大批数据,耗时40分钟,占了12GB内存。快完成时 SSH 连接突然断了,进程被杀,因为 FAISS 只是个跑在内存里的库一切都白费了。

    18410编辑于 2025-12-30
  • 来自专栏AI科技时讯

    深入解析HNSW:Faiss中的层次化可导航小世界图

    在文章的最后,将探讨如何使用 Faiss 实现 HNSW,并讨论哪些参数设置可以实现所需的性能。 HNSW的基础 我们可以将ANN算法分为三个不同的类别;树、哈希和图。HNSW属于图类别。 在Faiss库中,M_max和M_max0这两个参数在索引初始化时通过set_default_probas方法自动配置。 此外,还可以识别出哪个向量是作为图的入口点: index.hnsw.entry_point # 118295 以上是对Faiss风格的HNSW图的高层次概览。 在进行索引性能测试之前,深入了解Faiss如何构建这一结构至关重要。 Faiss实现确保总是有至少一个顶点在最高层,以作为图的入口点。

    5.3K10编辑于 2024-07-15
领券