from app import app from flask import request, jsonify CONFIG = { "day": { "eps": 0.2, "min_samples": 5 }, "week": { "eps": 0.15, "min_samples": 5 }, "month": { "eps": 0.15, "min_samples": 5, }, } @app.route('/api/cluster', methods=['POST']) def cluster(): data = request.get_json() embeddings = data['embeddings'] duration = data['duration'] from sklearn.cluster import DBSCAN import numpy as np try: dbscan = DBSCAN(eps=CONFIG[duration]['eps'], min_samples=CONFIG[duration]['min_samples'], metric='cosine', n_jobs=-1) embeddings_array = np.array(embeddings) labels = dbscan.fit_predict(embeddings_array) labels = labels.tolist() return jsonify({'labels': labels}) except Exception as e: return jsonify({'error': str(e)})