Spaces:
Runtime error
Runtime error
import pickle | |
from sentence_transformers import SentenceTransformer | |
import numpy as np | |
import faiss | |
def search_similar_commentary(query, vector_store_path, top_k=3): | |
# 전달된 경로 확인용 출력 | |
print("📂 전달된 벡터 저장소 경로:", vector_store_path) | |
# 저장된 FAISS index, 문장 목록, 모델 로드 | |
with open(vector_store_path, "rb") as f: | |
index, docs, model = pickle.load(f) | |
# 입력 쿼리 임베딩 | |
query_embedding = model.encode([query]) | |
query_embedding = np.array(query_embedding).astype("float32") | |
# FAISS 유사도 검색 | |
distances, indices = index.search(query_embedding, top_k) | |
# 가장 유사한 문장들 반환 | |
top_sentences = [docs[i] for i in indices[0]] | |
return top_sentences | |
def generate_commentary(query, vector_store_path): | |
similar_sentences = search_similar_commentary(query, vector_store_path) | |
if similar_sentences: | |
return similar_sentences[0] # 가장 유사한 문장만 사용 | |
else: | |
return "현재 상황에 대한 자막을 찾을 수 없습니다." | |