【Easy-VectorDB】Faiss核心功能进阶

Faiss核心功能进阶

向量归一化和相似度匹配

核心原理:COSINE相似度与归一化关系
  • COSINE相似度用于衡量两个向量在方向上的一致性
  • 归一化后的向量之间的COSINE相似度直接等于他们的内积
  • 结论
    • 计算COSINE相似度时,必须先对向量进行L2归一化处理(即将向量的长度规范为1)
    • 使用COSINE相似度进行检索时,可以选择内积L2距离作为度量标准,前提是已对向量进行归一化。
核心API: faiss.normalize_L2
python 复制代码
### 对矩阵的每行(向量)做L2归一化
faiss.normalize_L2(x)

# 示例
x = np.array([[1,2,3], [4,5,6]], dtype=np.float32)
faiss.noramlize_L2(x)
实战:归一化前后检索结果对比

索引的保存与加载:适配工程化部署

索引训练耗时长(百万级别需分钟级),需将训练好的索引"持久化"保存,在线服务时直接加载使用,避免重复训练。

核心API与保存格式
  • faiss.write_index(index, 'index.path') , 将索引序列化保存至本地文件。注意"文件格式为二进制,不可编辑"
  • faiss.read_index('index.path'), 从本地文件加载索引,返回索引对象。注意"加载后可直接调用search方法,无需重新训练"。

注意

  • 索引需完成训练和数据添加后保存
  • 保存路径需有写入权限,建议用.index作为后缀标识
实战:离线训练索引,在线加载检索

案例代码使用的是本地运行离线数据集方式,如果要在ModelScope提供的CPU环境上执行,下载并上上传数据集方式引用。

在魔搭社区创建数据集(使用此数据集有问题,待处理)
  • 访问 魔搭数据集中心
  • 点击 「创建数据集」
    填写信息:
    数据集名称:例如 sift1m-fvecs
    命名空间:你的用户名(如 yourname)
    可见性:私有(默认)或公开(需审核)
    数据格式:选择「其他」或「向量检索」
    描述:说明包含 .fvecs/.ivecs,用于 ANN benchmark
  • 点击 「上传文件」,将上述 3 个文件上传
  • 点击 「提交」→ 「发布版本」(如 v1.0)
替换其他数据集,修改代码逻辑尝试
  • 在魔搭里找到一些开源数据集,参考使用方式 + 数据集文件,进行修改处理。
  • 魔搭数据集

后续补充,先记录

参考文档

Faiss核心功能进阶

相关推荐
综合资讯几秒前
2026年打开设备ETF的产品清单:八只同类,两只能买
人工智能·科技·芯片·半导体·科创
声讯电子2 分钟前
A-59 双麦双通道语音处理模块:重新定义全双工通话的极限性能
人工智能·语音识别·ai降噪·usb接口·回音消除
菜鸟‍5 分钟前
【论文学习】Frontiers in Physics 2024 || Cap2Seg:基于文本描述生成的 COVID-19 医学图像分割性能提升方法
人工智能·学习
陕西企来客6 分钟前
生成式引擎优化(GEO)行业白皮书:从流量分配到认知占有的战略跃迁
人工智能·算法·机器学习·技术好geo优化
梦想的颜色8 分钟前
飞书 CLI + Skill 完全硬核指南|让 AI Agent 全自动操控飞书(消息 / 文档 / 日历 / 多维表)
人工智能·飞书·办公自动化·飞书 skill·飞书全自动工作流·agent 工具集成
蓝速科技13 分钟前
蓝速科技丨 AI 双屏翻译机:动静双模解放双手的商务沟通实测
人工智能·科技
武子康17 分钟前
VLA 已经能输出动作,为什么机器人仍需要多时间尺度闭环
人工智能·机器人·agent
阿里云云原生22 分钟前
AI Agent 上线容易稳定难?阿里云 AgentLoop 推出“经验自进化”闭环治理方案
人工智能·阿里云·mybatis·agentscope
魔力女仆27 分钟前
【RUST AI】把 TTS 搬进浏览器:kokoroi-rs 的 WASM 实践
人工智能·rust·wasm
Y38153266228 分钟前
2026 年 7 月,SERP API 调用的稳定性实战:超时、重试、降级
开发语言·数据库·人工智能·php