faiss by davila7/claude-code-templates
npx skills add https://github.com/davila7/claude-code-templates --skill faissFacebook AI 用于十亿级向量相似性搜索的库。
在以下情况使用 FAISS:
指标 :
改用其他方案 :
# 仅 CPU
pip install faiss-cpu
# GPU 支持
pip install faiss-gpu
import faiss
import numpy as np
# 创建示例数据 (1000 个向量,128 维)
d = 128
nb = 1000
vectors = np.random.random((nb, d)).astype('float32')
# 创建索引
index = faiss.IndexFlatL2(d) # L2 距离
index.add(vectors) # 添加向量
# 搜索
k = 5 # 查找 5 个最近邻
query = np.random.random((1, d)).astype('float32')
distances, indices = index.search(query, k)
print(f"Nearest neighbors: {indices}")
print(f"Distances: {distances}")
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
# L2 (欧几里得) 距离
index = faiss.IndexFlatL2(d)
# 内积 (归一化后为余弦相似度)
index = faiss.IndexFlatIP(d)
# 最慢,最准确
# 创建量化器
quantizer = faiss.IndexFlatL2(d)
# 具有 100 个簇的 IVF 索引
nlist = 100
index = faiss.IndexIVFFlat(quantizer, d, nlist)
# 在数据上训练
index.train(vectors)
# 添加向量
index.add(vectors)
# 搜索 (nprobe = 要搜索的簇数)
index.nprobe = 10
distances, indices = index.search(query, k)
# HNSW 索引
M = 32 # 每层的连接数
index = faiss.IndexHNSWFlat(d, M)
# 无需训练
index.add(vectors)
# 搜索
distances, indices = index.search(query, k)
# PQ 可将内存减少 16-32 倍
m = 8 # 子量化器数量
nbits = 8
index = faiss.IndexPQ(d, m, nbits)
# 训练并添加
index.train(vectors)
index.add(vectors)
# 保存索引
faiss.write_index(index, "large.index")
# 加载索引
index = faiss.read_index("large.index")
# 继续使用
distances, indices = index.search(query, k)
# 单 GPU
res = faiss.StandardGpuResources()
index_cpu = faiss.IndexFlatL2(d)
index_gpu = faiss.index_cpu_to_gpu(res, 0, index_cpu) # GPU 0
# 多 GPU
index_gpu = faiss.index_cpu_to_all_gpus(index_cpu)
# 比 CPU 快 10-100 倍
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings
# 创建 FAISS 向量存储
vectorstore = FAISS.from_documents(docs, OpenAIEmbeddings())
# 保存
vectorstore.save_local("faiss_index")
# 加载
vectorstore = FAISS.load_local(
"faiss_index",
OpenAIEmbeddings(),
allow_dangerous_deserialization=True
)
# 搜索
results = vectorstore.similarity_search("query", k=5)
from llama_index.vector_stores.faiss import FaissVectorStore
import faiss
# 创建 FAISS 索引
d = 1536
faiss_index = faiss.IndexFlatL2(d)
vector_store = FaissVectorStore(faiss_index=faiss_index)
| 索引类型 | 构建时间 | 搜索时间 | 内存 | 精度 |
|---|---|---|---|---|
| Flat | 快 | 慢 | 高 | 100% |
| IVF | 中等 | 快 | 中等 | 95-99% |
| HNSW | 慢 | 最快 | 高 | 99% |
| PQ | 中等 | 快 | 低 | 90-95% |
每周安装量
160
代码仓库
GitHub 星标
22.6K
首次出现
2026 年 1 月 21 日
安全审计
安装于
opencode126
claude-code124
gemini-cli121
cursor115
codex110
github-copilot101
Facebook AI's library for billion-scale vector similarity search.
Use FAISS when:
Metrics :
Use alternatives instead :
# CPU only
pip install faiss-cpu
# GPU support
pip install faiss-gpu
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}")
# L2 (Euclidean) distance
index = faiss.IndexFlatL2(d)
# Inner product (cosine similarity if normalized)
index = faiss.IndexFlatIP(d)
# Slowest, most accurate
# 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)
# 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)
# 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 index
faiss.write_index(index, "large.index")
# Load index
index = faiss.read_index("large.index")
# Continue using
distances, indices = index.search(query, k)
# 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
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)
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)
| 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% |
Weekly Installs
160
Repository
GitHub Stars
22.6K
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode126
claude-code124
gemini-cli121
cursor115
codex110
github-copilot101
AI 代码实施计划编写技能 | 自动化开发任务分解与 TDD 流程规划工具
47,700 周安装
Cloudflare Vectorize 完整指南:全球分布式向量数据库,实现语义搜索与RAG应用
326 周安装
Cloudflare Agents SDK:构建AI驱动的自主智能体,支持可恢复流式传输与持久化状态
326 周安装
Snowflake平台技能:使用CLI、Cortex AI函数和Snowpark构建AI数据云应用
326 周安装
React + Cloudflare Workers 集成 Microsoft Entra ID 身份验证完整指南 | Azure Auth
327 周安装
workflow-init:Vercel Workflow DevKit 自动化初始化工具,支持 Next.js/Nuxt/SvelteKit 等主流框架
337 周安装
Cloudflare Images 图像托管与转换 API 使用指南 | 支持 AI 人脸裁剪与内容凭证
328 周安装