参考文献生成项目,使用faiss实现
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.0 KiB

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
import numpy as np
import faiss
import json
from sentence_transformers import SentenceTransformer
d = 768 # dimension
zidonghua = np.load('zidonghua.npy')
model = SentenceTransformer('Dmeta-embedding-zh')
data = []
with open("data.json", encoding="utf-8") as f:
for i in f.readlines():
a = json.loads(i)
data.append(a)
mubiaoliebie = "自动化技术"
data_prompt = []
for i in data:
if str(i[1]) == "nan":
continue
leibie_list = i[1].split(";")
for leibie in leibie_list:
if leibie == mubiaoliebie:
data_prompt.append("标题:“{}”,摘要:“{}".format(i[0], i[2]))
# faiss.write_index(index, 'index.ivf')
index = faiss.read_index('zidonghua.ivf')
index.add(zidonghua) # add may be a bit slower as well
# D, I = index.search(xq, k) # actual search
# print(I[-5:]) # neighbors of the 5 last queries
print("=======================================")
index.nprobe = 2 # default nprobe is 1, try a few more
k = 4
biaoti = "工业机器人视觉导航系统的设计与实现"
zhaiyoa = "本研究致力于设计和实现工业机器人视觉导航系统,旨在提高工业生产中机器人的自主导航和定位能力。首先,通过综合考虑视觉传感器、定位算法和控制策略,设计了一种高效的机器人视觉导航系统框架。其次,利用深度学习技术对环境中的关键特征进行识别和定位,实现了机器人在复杂工作场景下的精确定位和路径规划。通过实验验证,本系统在提高机器人工作效率、减少人工干预以及降低操作误差等方面取得了显著的成果。因此,本研究为工业机器人在生产领域的应用提供了重要的技术支持,具有一定的实用和推广价值。"
prompt = "标题:“{}”,摘要:“{}".format(biaoti, zhaiyoa)
embs = model.encode([prompt], normalize_embeddings=True)
D, I = index.search(embs, k)
print(I)
for i in I[0]:
print(data_prompt[i])