{"id":23707,"library":"fast-plaid","title":"Fast Plaid","description":"Fast Plaid is a GPU-accelerated approximate nearest neighbor search library for high-dimensional embeddings, designed for fast indexing and search with support for incremental updates, filtering, and deletions. Current version 1.4.6, requires Python >=3.10. Released irregularly.","status":"active","version":"1.4.6.2110","language":"python","source_language":"en","source_url":"https://github.com/lightonai/fast-plaid","tags":["approximate-nearest-neighbor","gpu","vector-search","embeddings","pytorch"],"install":[{"cmd":"pip install fast-plaid","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency for tensor operations and GPU acceleration","package":"torch","optional":false}],"imports":[{"note":"FastPlaid is in the search submodule, not the root package","wrong":"from fast_plaid import FastPlaid","symbol":"FastPlaid","correct":"from fast_plaid.search import FastPlaid"},{"note":"The search module contains FastPlaid and helper functions","symbol":"search","correct":"from fast_plaid import search"}],"quickstart":{"code":"import torch\nfrom fast_plaid.search import FastPlaid\n\n# Create random embeddings (100 documents, 128 dimensions)\ndocs = torch.randn(100, 128)\nqueries = torch.randn(5, 128)\n\n# Build index\nplaid = FastPlaid()\nplaid.create(docs)\n\n# Search\nscores, indices = plaid.search(queries, top_k=3)\nprint(indices)","lang":"python","description":"Basic index creation and search with random embeddings"},"warnings":[{"fix":"Upgrade fast-plaid to 1.4.5 or later: pip install 'fast-plaid>=1.4.5'","message":"Pytorch's native quantile() can cause 'input tensor is too large' panic on large datasets. Versions before 1.4.5 are affected. Upgrade to >=1.4.5.","severity":"breaking","affected_versions":"<1.4.5"},{"fix":"Use FastPlaid() without arguments for creation, then call .create(docs) or use FastPlaid(index='path') to load an existing index.","message":"Older code uses 'create(index='...')' incorrectly; index parameter in FastPlaid() constructor is for loading an existing index, not for creation.","severity":"deprecated","affected_versions":"all"},{"fix":"Pass a list of document IDs (e.g., [2, 5, 10]) to the subset parameter in search().","message":"The `subset` filtering parameter expects a list of integer IDs, not boolean masks or tensors.","severity":"gotcha","affected_versions":">=1.2.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from fast_plaid.search import FastPlaid' instead of 'from fast_plaid import FastPlaid'.","cause":"FastPlaid class is in the search submodule, not the root package.","error":"ImportError: cannot import name 'FastPlaid' from 'fast_plaid'"},{"fix":"Upgrade to fast-plaid >=1.4.5, which replaces quantile with kthvalue-based approach.","cause":"The internal quantile computation fails on large datasets due to PyTorch size limits in versions <1.4.5.","error":"PanicException: input tensor is too large"},{"fix":"Upgrade to fast-plaid >=1.2.3: pip install 'fast-plaid>=1.2.3'","cause":"The delete method was introduced in version 1.2.3; using an older version.","error":"AttributeError: 'FastPlaid' object has no attribute 'delete'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}