def make_recommendation(query, metadata=metadata): new_row = metadata.iloc[-1,:].copy() new_row.iloc[-1] = query metadata = metadata.append(new_row) count = CountVectorizer(stop_words='english') count_matrix = count.fit_transform(metadata['soup']) cosine_sim2 = cosine_similarity(count_matrix, count_matrix) sim_scores = list(enumerate(cosine_sim2[-1,:])) sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True) ranked_titles = [] for i in range(1, 11): indx = sim_scores[i][0] ranked_titles.append([metadata['title'].iloc[indx], metadata['imdb_id'].iloc[indx], metadata['runtime'].iloc[indx], metadata['release_date'].iloc[indx], metadata['vote_average'].iloc[indx]]) return ranked_titles @app.route("/get") @cross_origin() def get_recommendations(): userText = request.args.get('msg') response = make_recommendation(str(userText)) return jsonify(response)