Python中怎么利用Faiss库实现向量近邻搜索
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Python中怎么利用Faiss库实现向量近邻搜索,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、读取预训练好的Embedding数据
千家信息网最后更新 2025年12月02日Python中怎么利用Faiss库实现向量近邻搜索
Python中怎么利用Faiss库实现向量近邻搜索,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、读取预训练好的Embedding数据
import pandas as pdimport numpy as npdf = pd.read_csv("./datas/movielens_sparkals_item_embedding.csv")# 提取要使用的电影ID列表,注意要转换成int64ids = df["id"].values.astype(np.int64)# 记录ID列表的大小ids_size = ids.shape[0]# 读取内容embedding数据,转换成二维arrayimport jsonimport numpy as npdatas = []for x in df["features"]:datas.append(json.loads(x))# 变成二维arraydatas = np.array(datas).astype(np.float32)# 记录数据维度dimension = datas.shape[1]
2、使用faiss建立索引
import faissindex = faiss.IndexFlatL2(dimension)index2 = faiss.IndexIDMap(index)index2.add_with_ids(datas, ids)
3、实现近邻搜索
# 读取user embedding数据df_user = pd.read_csv("./datas/user_embedding.csv")df_user.head()# 挑选一条user的embedding,转换成1行N列的二维arrayuser_embedding = np.array(json.loads(df_user[df_user["id"] == 10]["features"].iloc[0]))user_embedding = np.expand_dims(user_embedding, axis=0).astype(np.float32)user_embedding# 实现搜索,这里的I就是近邻ID列表tok = 30D, I = index.search(user_embedding, topk) # actual search
4、拼接得到内容列表
# 把搜索出来的ID变成Seriestarget_ids = pd.Series(I[0], name="MovieID")# 读取电影数据df_movie = pd.read_csv("./datas/ml-1m/movies.dat",sep="::", header=None, engine="python",names = "MovieID::Title::Genres".split("::"))# 实现内容JOINdf_result = pd.merge(target_ids, df_movie)
看完上述内容,你们掌握Python中怎么利用Faiss库实现向量近邻搜索的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
搜索
内容
数据
近邻
二维
向量
方法
更多
电影
问题
束手无策
为此
原因
大小
对此
就是
技能
篇文章
索引
经验
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
闵行区会计软件开发怎么样
数据库技术及应用人民邮电出版社
软件开发自我评价
荔湾定制软件开发
职业技能测试题网络技术笔试
linux刷新数据库缓存
ktc服务器装什么系统好
视频应用服务器配置
方舟服务器怎么进
千丁互联网科技有限公司沈阳
数据库修改后多久可以同步
寰球网络技术有限公司
电力系统信息网络安全演讲稿
浙江前端软件开发定做
瓦斯监控软件开发
数据库被谁改了可以查出来吗
图像识别软件开发平台
软件开发专业的实习岗
江西知名软件开发报价
中国数据库技术大会照片
湖南公共频道网络安全视频
电脑端软件开发
杨浦区会计网络技术咨询报价
学前网络安全会议内容
图片数据库可视化
2k服务器无法下载更新
嵌入式软件开发怎么收费
网络安全简易手抄报幼儿园
北京数据库培训
长沙app软件开发怎么样