from sentence_transformers import SentenceTransformer import faiss import os model = SentenceTransformer("BAAI/bge-small-zh-v1.5") with open("data/feng_family.txt", "r", encoding="utf-8") as f: text = f.read() blocks = [b.strip() for b in text.split("--- PERSON ---") if b.strip()] embeddings = model.encode(blocks, normalize_embeddings=True) index = faiss.IndexFlatIP(embeddings.shape[1]) index.add(embeddings) os.makedirs("index", exist_ok=True) faiss.write_index(index, "index/family.faiss") with open("index/blocks.txt", "w", encoding="utf-8") as f: for b in blocks: f.write(b.replace("\n", " ") + "\n===\n") print("向量库构建完成")