跳到主要内容

编译和开发

面向 Python 的开发环境搭建

推荐的 Faiss(Facebook AI 相似性搜索库)开发环境搭建方式是:先创建一个没有 Faiss但包含所有必须依赖项的 conda 环境。

在 Mac M1 芯片上的操作命令

详细步骤请参考原始链接: https://gist.github.com/mdouze/2b96e804ee2825e72323c0a296061c7e

提示

本章节主要介绍如何为 Mac M1(基于 ARM 架构)搭建 Faiss 的 Python 开发环境。其它平台(如 Intel Mac 或 Linux)可参考类似流程,但细节上可能略有不同。

创建并激活 Conda 环境

使用 conda 命令创建一个新的 Python 环境。例如:

conda create -n faiss-dev python=3.9
conda activate faiss-dev

安装必要依赖包

安装 Faiss 源代码编译所需的依赖项:

conda install cmake numpy scipy cython
conda install -c conda-forge swig
  • cmake:跨平台自动化构建工具
  • numpy, scipy:科学计算库
  • cython:实现 C/C++ 与 Python 的接口
  • swig:自动生成语言绑定工具
备注

有些依赖项如 swig 可能需要指定 conda-forge 频道。

下载并编译 Faiss 源码

假设你已经从 GitHub 克隆了 Faiss 仓库:

git clone https://github.com/facebookresearch/faiss.git
cd faiss

然后使用以下命令编译(以 Mac M1 为例):

cmake -B build -DFAISS_ENABLE_PYTHON=ON -DFAISS_ENABLE_C_API=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build -j 4 # -j 4 表示使用4个并行线程编译

构建并安装 Python 包

进入 Python 目录,使用 pip install 进行本地安装:

cd faiss/python
pip install .
important

确保你当前已激活 conda 环境,并具备写入权限。

编译完成后的测试

在 Python 命令行执行,验证是否成功安装:

import faiss
faiss.__version__

如果没有报错,说明 Faiss 已经安装成功,可开始开发和测试。

注意事项

备注
  • 对于不同的操作系统和芯片架构(如 Linux、x86 架构 Mac),实际依赖或编译参数可能有所不同,请根据实际情况适当调整。
  • 若遇到编译问题,可优先参考 Faiss 官方文档和常见问题解答

适用场景

  • 本地开发与功能调试
  • 定制 Faiss C++ 层算法并调用 Python 接口
  • 对 Faiss 代码有更深入的研究和性能优化需求
Faiss logo

【本节内容完】