|
|
|
|
|
from langchain.vectorstores import FAISS |
|
from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings |
|
|
|
|
|
|
|
|
|
embedding_function = SentenceTransformerEmbeddings(model_name="sentence-t5-xl") |
|
|
|
|
|
db = FAISS.load_local('./streamlit/plot_embeddings', embedding_function) |
|
|
|
|
|
|
|
def plot_simil(user_plot, num_recom=5): |
|
""" Find movies with plots similar to the one give by the user. |
|
|
|
:param user_plot: user plot |
|
:param num_recom: number of recommendations |
|
:return: list of lists indicating [Release year, Title] for every recommendation |
|
|
|
>>> plot_simil( |
|
" |
|
a time-travel adventure film that follows the story of Marty McFly, a high school student, and his eccentric |
|
scientist friend, Doc Brown. Doc has invented a time machine out of a DeLorean car, and one night, during a test |
|
run, Marty is accidentally transported from 1985 to 1955. In 1955, Marty encounters his younger parents, George |
|
and Lorraine, and inadvertently interferes with their meeting, putting his own existence at risk. Marty seeks the |
|
help of the younger Doc Brown from 1955 to repair the time machine and return to his own time. Along the way, he |
|
must ensure that his parents meet and fall in love, all while avoiding running into his younger self. Marty also |
|
has to contend with the school bully, Biff, who makes life difficult for his father. |
|
", |
|
3 |
|
) |
|
|
|
'[[1990, 'back to the future part iii'], |
|
[1989, 'back to the future part ii'], |
|
[1985, 'back to the future']]' |
|
""" |
|
|
|
docs = db.similarity_search(user_plot, num_recom) |
|
|
|
recom = [] |
|
for doc in docs: |
|
year = doc.metadata['Release Year'] |
|
title = doc.metadata['Title'] |
|
recom.append([year, title]) |
|
|
|
return recom |
|
|