faiss

GitHub

用于十亿级向量的高效相似性搜索与聚类。支持GPU加速、多种索引类型及纯向量检索,适用于高吞吐低延迟场景。无需元数据过滤时优于Chroma等数据库,适合大规模嵌入的k-NN搜索。

backend/cli/skills/llm-tools/faiss/SKILL.md synthetic-sciences/openscience

Trigger Scenarios

需要大规模向量相似性搜索 要求GPU加速或低延迟检索 纯向量匹配且无元数据过滤需求 处理十亿级向量数据集

Install

npx skills add synthetic-sciences/openscience --skill faiss -g -y
More Options

Non-standard path

npx skills add https://github.com/synthetic-sciences/openscience/tree/main/backend/cli/skills/llm-tools/faiss -g -y

Use without installing

npx skills use synthetic-sciences/openscience@faiss

指定 Agent (Claude Code)

npx skills add synthetic-sciences/openscience --skill faiss -a claude-code -g -y

安装 repo 全部 skill

npx skills add synthetic-sciences/openscience --all -g -y

预览 repo 内 skill

npx skills add synthetic-sciences/openscience --list

SKILL.md

Frontmatter
{
    "name": "faiss",
    "tags": [
        "RAG",
        "FAISS",
        "Similarity Search",
        "Vector Search",
        "Facebook AI",
        "GPU Acceleration",
        "Billion-Scale",
        "K-NN",
        "HNSW",
        "High Performance",
        "Large Scale"
    ],
    "author": "Synthetic Sciences",
    "license": "MIT",
    "version": "1.0.0",
    "category": "llm-tools",
    "description": "Facebook's library for efficient similarity search and clustering of dense vectors. Supports billions of vectors, GPU acceleration, and various index types (Flat, IVF, HNSW). Use for fast k-NN search, large-scale vector retrieval, or when you need pure similarity search without metadata. Best for high-performance applications.",
    "dependencies": [
        "faiss-cpu",
        "faiss-gpu",
        "numpy"
    ]
}

FAISS - Efficient Similarity Search

Facebook AI's library for billion-scale vector similarity search.

When to use FAISS

Use FAISS when:

  • Need fast similarity search on large vector datasets (millions/billions)
  • GPU acceleration required
  • Pure vector similarity (no metadata filtering needed)
  • High throughput, low latency critical
  • Offline/batch processing of embeddings

Metrics:

  • 31,700+ GitHub stars
  • Meta/Facebook AI Research
  • Handles billions of vectors
  • C++ with Python bindings

Use alternatives instead:

  • Chroma/Pinecone: Need metadata filtering
  • Weaviate: Need full database features
  • Annoy: Simpler, fewer features

Quick start

Installation

# CPU only
pip install faiss-cpu

# GPU support
pip install faiss-gpu

Basic usage

import faiss
import numpy as np

# Create sample data (1000 vectors, 128 dimensions)
d = 128
nb = 1000
vectors = np.random.random((nb, d)).astype('float32')

# Create index
index = faiss.IndexFlatL2(d)  # L2 distance
index.add(vectors)             # Add vectors

# Search
k = 5  # Find 5 nearest neighbors
query = np.random.random((1, d)).astype('float32')
distances, indices = index.search(query, k)

print(f"Nearest neighbors: {indices}")
print(f"Distances: {distances}")

Index types

1. Flat (exact search)

# L2 (Euclidean) distance
index = faiss.IndexFlatL2(d)

# Inner product (cosine similarity if normalized)
index = faiss.IndexFlatIP(d)

# Slowest, most accurate

2. IVF (inverted file) - Fast approximate

# Create quantizer
quantizer = faiss.IndexFlatL2(d)

# IVF index with 100 clusters
nlist = 100
index = faiss.IndexIVFFlat(quantizer, d, nlist)

# Train on data
index.train(vectors)

# Add vectors
index.add(vectors)

# Search (nprobe = clusters to search)
index.nprobe = 10
distances, indices = index.search(query, k)

3. HNSW (Hierarchical NSW) - Best quality/speed

# HNSW index
M = 32  # Number of connections per layer
index = faiss.IndexHNSWFlat(d, M)

# No training needed
index.add(vectors)

# Search
distances, indices = index.search(query, k)

4. Product Quantization - Memory efficient

# PQ reduces memory by 16-32×
m = 8   # Number of subquantizers
nbits = 8
index = faiss.IndexPQ(d, m, nbits)

# Train and add
index.train(vectors)
index.add(vectors)

Save and load

# Save index
faiss.write_index(index, "large.index")

# Load index
index = faiss.read_index("large.index")

# Continue using
distances, indices = index.search(query, k)

GPU acceleration

# Single GPU
res = faiss.StandardGpuResources()
index_cpu = faiss.IndexFlatL2(d)
index_gpu = faiss.index_cpu_to_gpu(res, 0, index_cpu)  # GPU 0

# Multi-GPU
index_gpu = faiss.index_cpu_to_all_gpus(index_cpu)

# 10-100× faster than CPU

LangChain integration

from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings

# Create FAISS vector store
vectorstore = FAISS.from_documents(docs, OpenAIEmbeddings())

# Save
vectorstore.save_local("faiss_index")

# Load
vectorstore = FAISS.load_local(
    "faiss_index",
    OpenAIEmbeddings(),
    allow_dangerous_deserialization=True
)

# Search
results = vectorstore.similarity_search("query", k=5)

LlamaIndex integration

from llama_index.vector_stores.faiss import FaissVectorStore
import faiss

# Create FAISS index
d = 1536
faiss_index = faiss.IndexFlatL2(d)

vector_store = FaissVectorStore(faiss_index=faiss_index)

Best practices

  1. Choose right index type - Flat for <10K, IVF for 10K-1M, HNSW for quality
  2. Normalize for cosine - Use IndexFlatIP with normalized vectors
  3. Use GPU for large datasets - 10-100× faster
  4. Save trained indices - Training is expensive
  5. Tune nprobe/ef_search - Balance speed/accuracy
  6. Monitor memory - PQ for large datasets
  7. Batch queries - Better GPU utilization

Performance

Index Type Build Time Search Time Memory Accuracy
Flat Fast Slow High 100%
IVF Medium Fast Medium 95-99%
HNSW Slow Fastest High 99%
PQ Medium Fast Low 90-95%

Resources

Version History

  • e9844a4 Current 2026-07-11 17:26

Dependencies

  • required faiss-cpu
  • required faiss-gpu
  • required numpy

Same Skill Collection

.openscience/skill/bun-file-io/SKILL.md
backend/cli/skills/biology/anndata/SKILL.md
backend/cli/skills/biology/benchling-integration/SKILL.md
backend/cli/skills/biology/bioimage-analysis/SKILL.md
backend/cli/skills/biology/bioservices/SKILL.md
backend/cli/skills/biology/cancer-genomics-analysis/SKILL.md
backend/cli/skills/biology/clinical-imaging/SKILL.md
backend/cli/skills/biology/clinical-reports/SKILL.md
backend/cli/skills/biology/cobrapy/SKILL.md
backend/cli/skills/biology/curated-bio-datasets/SKILL.md
backend/cli/skills/biology/deeptools/SKILL.md
backend/cli/skills/biology/dnanexus-integration/SKILL.md
backend/cli/skills/biology/etetoolkit/SKILL.md
backend/cli/skills/biology/flow-cytometry-analysis/SKILL.md
backend/cli/skills/biology/flowio/SKILL.md
backend/cli/skills/biology/gget/SKILL.md
backend/cli/skills/biology/glycobiology/SKILL.md
backend/cli/skills/biology/histolab/SKILL.md
backend/cli/skills/biology/immunology-assays/SKILL.md
backend/cli/skills/biology/latchbio-integration/SKILL.md
backend/cli/skills/biology/microbial-dynamics/SKILL.md
backend/cli/skills/biology/molecular-cloning/SKILL.md
backend/cli/skills/biology/neurokit2/SKILL.md
backend/cli/skills/biology/neuropixels-analysis/SKILL.md
backend/cli/skills/biology/omero-integration/SKILL.md
backend/cli/skills/biology/opentrons-integration/SKILL.md
backend/cli/skills/biology/pathml/SKILL.md
backend/cli/skills/biology/pharmacology-wetlab/SKILL.md
backend/cli/skills/biology/protocolsio-integration/SKILL.md
backend/cli/skills/biology/pydeseq2/SKILL.md
backend/cli/skills/biology/pyhealth/SKILL.md
backend/cli/skills/biology/pylabrobot/SKILL.md
backend/cli/skills/biology/pysam/SKILL.md
backend/cli/skills/biology/scanpy/SKILL.md
backend/cli/skills/biology/scikit-bio/SKILL.md
backend/cli/skills/biology/scikit-survival/SKILL.md
backend/cli/skills/biology/scvi-tools/SKILL.md
backend/cli/skills/biology/synthetic-biology/SKILL.md
backend/cli/skills/biology/treatment-plans/SKILL.md
backend/cli/skills/chemistry/admet-prediction/SKILL.md
backend/cli/skills/chemistry/admet-reasoning/SKILL.md
backend/cli/skills/chemistry/binding-affinity/SKILL.md
backend/cli/skills/chemistry/datamol/SKILL.md
backend/cli/skills/chemistry/deepchem/SKILL.md
backend/cli/skills/chemistry/denovo-design/SKILL.md
backend/cli/skills/chemistry/diffdock/SKILL.md
backend/cli/skills/chemistry/drug-design/SKILL.md
backend/cli/skills/chemistry/hypogenic/SKILL.md
backend/cli/skills/chemistry/matchms/SKILL.md
backend/cli/skills/chemistry/medchem/SKILL.md
backend/cli/skills/chemistry/molecular-docking/SKILL.md
backend/cli/skills/chemistry/molecular-optimization/SKILL.md
backend/cli/skills/chemistry/molecular-rag/SKILL.md
backend/cli/skills/chemistry/molecule-visualization/SKILL.md
backend/cli/skills/chemistry/molfeat/SKILL.md
backend/cli/skills/chemistry/pocket-detection/SKILL.md
backend/cli/skills/chemistry/pyopenms/SKILL.md
backend/cli/skills/chemistry/pytdc/SKILL.md
backend/cli/skills/chemistry/rdkit/SKILL.md
backend/cli/skills/chemistry/smiles-validation/SKILL.md
backend/cli/skills/chemistry/structure-prediction/SKILL.md
backend/cli/skills/chemistry/torchdrug/SKILL.md
backend/cli/skills/cloud-compute/fireworks-ai/SKILL.md
backend/cli/skills/cloud-compute/lambda-labs/SKILL.md
backend/cli/skills/cloud-compute/modal-ml-training/SKILL.md
backend/cli/skills/cloud-compute/modal-research-gpu/SKILL.md
backend/cli/skills/cloud-compute/modal/SKILL.md
backend/cli/skills/cloud-compute/skypilot/SKILL.md
backend/cli/skills/cloud-compute/tensorpool/SKILL.md
backend/cli/skills/cloud-compute/tinker-training-cost/SKILL.md
backend/cli/skills/cloud-compute/tinker/SKILL.md
backend/cli/skills/cloud-compute/together-ai/SKILL.md
backend/cli/skills/coding/arboreto/SKILL.md
backend/cli/skills/coding/audiocraft/SKILL.md
backend/cli/skills/coding/denario/SKILL.md
backend/cli/skills/coding/gtars/SKILL.md
backend/cli/skills/coding/multi-objective-optimization/SKILL.md
backend/cli/skills/coding/networkx/SKILL.md
backend/cli/skills/coding/pymc/SKILL.md
backend/cli/skills/coding/pymoo/SKILL.md
backend/cli/skills/coding/scikit-learn/SKILL.md
backend/cli/skills/coding/simpy/SKILL.md
backend/cli/skills/coding/slime/SKILL.md
backend/cli/skills/coding/statistical-analysis/SKILL.md
backend/cli/skills/coding/statsmodels/SKILL.md
backend/cli/skills/coding/torch_geometric/SKILL.md
backend/cli/skills/coding/umap-learn/SKILL.md
backend/cli/skills/data-engineering/aeon/SKILL.md
backend/cli/skills/data-engineering/dask/SKILL.md
backend/cli/skills/data-engineering/hdf5-pde-data-loading/SKILL.md
backend/cli/skills/data-engineering/hugging-face-datasets/SKILL.md
backend/cli/skills/data-engineering/polars/SKILL.md
backend/cli/skills/data-engineering/vaex/SKILL.md
backend/cli/skills/data-engineering/zarr-python/SKILL.md
backend/cli/skills/databases/alphafold-database/SKILL.md
backend/cli/skills/databases/biorxiv-database/SKILL.md
backend/cli/skills/databases/brenda-database/SKILL.md
backend/cli/skills/databases/cellxgene-census/SKILL.md
backend/cli/skills/databases/chembl-database/SKILL.md
backend/cli/skills/databases/clinicaltrials-database/SKILL.md
backend/cli/skills/databases/clinpgx-database/SKILL.md
backend/cli/skills/databases/clinvar-database/SKILL.md
backend/cli/skills/databases/cosmic-database/SKILL.md
backend/cli/skills/databases/datacommons-client/SKILL.md
backend/cli/skills/databases/drugbank-database/SKILL.md
backend/cli/skills/databases/ena-database/SKILL.md
backend/cli/skills/databases/ensembl-database/SKILL.md
backend/cli/skills/databases/fda-database/SKILL.md
backend/cli/skills/databases/gene-database/SKILL.md
backend/cli/skills/databases/gwas-database/SKILL.md
backend/cli/skills/databases/hmdb-database/SKILL.md
backend/cli/skills/databases/imaging-data-commons/SKILL.md
backend/cli/skills/databases/kegg-database/SKILL.md
backend/cli/skills/databases/metabolomics-workbench-database/SKILL.md
backend/cli/skills/databases/openalex-database/SKILL.md
backend/cli/skills/databases/opentargets-database/SKILL.md
backend/cli/skills/databases/pdb-database/SKILL.md
backend/cli/skills/databases/pubchem-database/SKILL.md
backend/cli/skills/databases/pubmed-database/SKILL.md
backend/cli/skills/databases/reactome-database/SKILL.md
backend/cli/skills/databases/string-database/SKILL.md
backend/cli/skills/databases/uniprot-database/SKILL.md
backend/cli/skills/databases/zinc-database/SKILL.md
backend/cli/skills/document-parsing/liteparse/SKILL.md
backend/cli/skills/llm-tools/autogpt/SKILL.md
backend/cli/skills/llm-tools/blip-2/SKILL.md
backend/cli/skills/llm-tools/chroma/SKILL.md
backend/cli/skills/llm-tools/clip/SKILL.md
backend/cli/skills/llm-tools/constitutional-ai/SKILL.md
backend/cli/skills/llm-tools/crewai/SKILL.md
backend/cli/skills/llm-tools/dspy/SKILL.md
backend/cli/skills/llm-tools/guidance/SKILL.md
backend/cli/skills/llm-tools/hugging-face-cli/SKILL.md
backend/cli/skills/llm-tools/hugging-face-tool-builder/SKILL.md
backend/cli/skills/llm-tools/huggingface-tokenizers/SKILL.md
backend/cli/skills/llm-tools/instructor/SKILL.md
backend/cli/skills/llm-tools/langchain/SKILL.md
backend/cli/skills/llm-tools/langsmith/SKILL.md
backend/cli/skills/llm-tools/llamaguard/SKILL.md
backend/cli/skills/llm-tools/llamaindex/SKILL.md
backend/cli/skills/llm-tools/llava/SKILL.md
backend/cli/skills/llm-tools/llm-as-judge-evaluation/SKILL.md
backend/cli/skills/llm-tools/long-context/SKILL.md
backend/cli/skills/llm-tools/nemo-guardrails/SKILL.md
backend/cli/skills/llm-tools/outlines/SKILL.md
backend/cli/skills/llm-tools/pinecone/SKILL.md
backend/cli/skills/llm-tools/qdrant/SKILL.md
backend/cli/skills/llm-tools/segment-anything/SKILL.md
backend/cli/skills/llm-tools/sentence-transformers/SKILL.md
backend/cli/skills/llm-tools/sentencepiece/SKILL.md
backend/cli/skills/llm-tools/stable-diffusion/SKILL.md
backend/cli/skills/llm-tools/transformers/SKILL.md
backend/cli/skills/llm-tools/whisper/SKILL.md
backend/cli/skills/ml-inference/gguf/SKILL.md
backend/cli/skills/ml-inference/groq/SKILL.md
backend/cli/skills/ml-inference/llama-cpp/SKILL.md
backend/cli/skills/ml-inference/miles/SKILL.md
backend/cli/skills/ml-inference/phoenix/SKILL.md
backend/cli/skills/ml-inference/sglang/SKILL.md
backend/cli/skills/ml-inference/speculative-decoding/SKILL.md
backend/cli/skills/ml-inference/tensorrt-llm/SKILL.md
backend/cli/skills/ml-inference/vllm/SKILL.md
backend/cli/skills/ml-training/accelerate/SKILL.md
backend/cli/skills/ml-training/awq/SKILL.md
backend/cli/skills/ml-training/axolotl/SKILL.md
backend/cli/skills/ml-training/bigcode-evaluation-harness/SKILL.md
backend/cli/skills/ml-training/bitsandbytes/SKILL.md
backend/cli/skills/ml-training/colab-finetuning/SKILL.md
backend/cli/skills/ml-training/deepspeed/SKILL.md
backend/cli/skills/ml-training/flash-attention/SKILL.md
backend/cli/skills/ml-training/geniml/SKILL.md
backend/cli/skills/ml-training/gptq/SKILL.md
backend/cli/skills/ml-training/grpo-rl-training/SKILL.md
backend/cli/skills/ml-training/hqq/SKILL.md
backend/cli/skills/ml-training/hugging-face-evaluation/SKILL.md
backend/cli/skills/ml-training/knowledge-distillation/SKILL.md
backend/cli/skills/ml-training/litgpt/SKILL.md
backend/cli/skills/ml-training/llama-factory/SKILL.md
backend/cli/skills/ml-training/lm-evaluation-harness/SKILL.md
backend/cli/skills/ml-training/mamba/SKILL.md
backend/cli/skills/ml-training/megatron-core/SKILL.md
backend/cli/skills/ml-training/ml-benchmark-evaluation/SKILL.md
backend/cli/skills/ml-training/mlflow/SKILL.md
backend/cli/skills/ml-training/model-economics/SKILL.md
backend/cli/skills/ml-training/model-merging/SKILL.md
backend/cli/skills/ml-training/model-pruning/SKILL.md
backend/cli/skills/ml-training/moe-training/SKILL.md
backend/cli/skills/ml-training/nanogpt/SKILL.md
backend/cli/skills/ml-training/nemo-curator/SKILL.md
backend/cli/skills/ml-training/nnsight/SKILL.md
backend/cli/skills/ml-training/openrlhf/SKILL.md
backend/cli/skills/ml-training/peft/SKILL.md
backend/cli/skills/ml-training/prime-intellect-lab/SKILL.md
backend/cli/skills/ml-training/pufferlib/SKILL.md
backend/cli/skills/ml-training/pytorch-fsdp/SKILL.md
backend/cli/skills/ml-training/pytorch-lightning/SKILL.md
backend/cli/skills/ml-training/pyvene/SKILL.md
backend/cli/skills/ml-training/rwkv/SKILL.md
backend/cli/skills/ml-training/saelens/SKILL.md
backend/cli/skills/ml-training/simpo/SKILL.md
backend/cli/skills/ml-training/stable-baselines3/SKILL.md
backend/cli/skills/ml-training/tensorboard/SKILL.md
backend/cli/skills/ml-training/torchforge/SKILL.md
backend/cli/skills/ml-training/torchtitan/SKILL.md
backend/cli/skills/ml-training/training-data-pipeline/SKILL.md
backend/cli/skills/ml-training/transformer-lens/SKILL.md
backend/cli/skills/ml-training/trl-fine-tuning/SKILL.md
backend/cli/skills/ml-training/unsloth/SKILL.md
backend/cli/skills/ml-training/verl/SKILL.md
backend/cli/skills/other/hugging-face-trackio/SKILL.md
backend/cli/skills/other/labarchive-integration/SKILL.md
backend/cli/skills/other/skill-installer/SKILL.md
backend/cli/skills/physics/astropy/SKILL.md
backend/cli/skills/physics/autoregressive-neural-pde-solver/SKILL.md
backend/cli/skills/physics/bayesian-inference/SKILL.md
backend/cli/skills/physics/conservation-law-discovery/SKILL.md
backend/cli/skills/physics/dimensional-analysis/SKILL.md
backend/cli/skills/physics/dynamical-systems/SKILL.md
backend/cli/skills/physics/fluid-dynamics/SKILL.md
backend/cli/skills/physics/fluidsim/SKILL.md
backend/cli/skills/physics/hamiltonian-mechanics/SKILL.md
backend/cli/skills/physics/neural-operator/SKILL.md
backend/cli/skills/physics/ode-solver/SKILL.md
backend/cli/skills/physics/pde-solver/SKILL.md
backend/cli/skills/physics/physics-databases/SKILL.md
backend/cli/skills/physics/physics-fitting/SKILL.md
backend/cli/skills/physics/physics-visualization/SKILL.md
backend/cli/skills/physics/pinn-training/SKILL.md
backend/cli/skills/physics/shock-capturing-neural-operators/SKILL.md
backend/cli/skills/physics/sindy-identification/SKILL.md
backend/cli/skills/physics/spectral-analysis/SKILL.md
backend/cli/skills/physics/statistical-mechanics/SKILL.md
backend/cli/skills/physics/symbolic-regression/SKILL.md
backend/cli/skills/physics/wave-propagation/SKILL.md
backend/cli/skills/quantum/cirq/SKILL.md
backend/cli/skills/quantum/pennylane/SKILL.md
backend/cli/skills/quantum/qiskit/SKILL.md
backend/cli/skills/quantum/qutip/SKILL.md
backend/cli/skills/research/hypothesis-generation/SKILL.md
backend/cli/skills/research/initialize-atlas-graph/SKILL.md
backend/cli/skills/research/market-research-reports/SKILL.md
backend/cli/skills/research/peer-review/SKILL.md
backend/cli/skills/research/research-grants/SKILL.md
backend/cli/skills/research/research-lookup/SKILL.md
backend/cli/skills/research/scientific-brainstorming/SKILL.md
backend/cli/skills/research/scientific-critical-thinking/SKILL.md
backend/cli/skills/visualization/dna-visualization/SKILL.md
backend/cli/skills/visualization/matplotlib/SKILL.md
backend/cli/skills/visualization/plotly/SKILL.md
backend/cli/skills/visualization/protein-diagram/SKILL.md
backend/cli/skills/visualization/scientific-visualization/SKILL.md
backend/cli/skills/visualization/seaborn/SKILL.md
backend/cli/skills/writing/citation-management/SKILL.md
backend/cli/skills/writing/hugging-face-paper-publisher/SKILL.md
backend/cli/skills/writing/latex-posters/SKILL.md
backend/cli/skills/writing/literature-review/SKILL.md
backend/cli/skills/writing/ml-paper-writing/SKILL.md
backend/cli/skills/writing/pptx-posters/SKILL.md
backend/cli/skills/writing/scientific-writing/SKILL.md
backend/cli/skills/writing/venue-templates/SKILL.md
backend/cli/skills/biology/clinical-decision-support/SKILL.md
backend/cli/skills/biology/esm/SKILL.md
backend/cli/skills/biology/lamindb/SKILL.md
backend/cli/skills/biology/pydicom/SKILL.md
backend/cli/skills/coding/exploratory-data-analysis/SKILL.md
backend/cli/skills/coding/matlab/SKILL.md
backend/cli/skills/coding/shap/SKILL.md
backend/cli/skills/coding/sympy/SKILL.md
backend/cli/skills/data-engineering/geopandas/SKILL.md
backend/cli/skills/ml-training/hugging-face-model-trainer/SKILL.md
backend/cli/skills/other/get-available-resources/SKILL.md
backend/cli/skills/other/hugging-face-jobs/SKILL.md
backend/cli/skills/other/iso-13485-certification/SKILL.md

Metadata

Files
0
Version
e9844a4
Hash
0765c25e
Indexed
2026-07-11 17:26

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-15 06:56
浙ICP备14020137号-1 $Map of visitor$