Spaces:
Running
Running
from flask import Flask, request, jsonify | |
from flask_cors import CORS | |
from chromadb.errors import ChromaError | |
from chromedb_service import ( | |
add_document, | |
search, | |
delete_document, | |
delete_collection, | |
add_image_to_chroma | |
) | |
app = Flask(__name__) | |
CORS(app) # Permettre les requêtes cross-origin | |
def delete(): | |
try: | |
delete_collection("D24F9DF2BB1C815C9A267C7DB5E3C9B9") | |
return "Collection supprimée avec succès !", 200 | |
except ChromaError as e: | |
return jsonify({"error": str(e)}), 500 | |
def embedding(): | |
data = request.json | |
collection_name = data.get("collectionName") | |
doc_id = data.get("id") | |
text = data.get("text") | |
metadata = data.get("metadata") | |
try: | |
add_document(collection_name, doc_id, text, metadata) | |
return jsonify({"message": "Document ajouté avec succès"}), 200 | |
except Exception as e: | |
return jsonify({"error": str(e)}), 500 | |
def image_embedding(): | |
data = request.json | |
collection_name = data.get("collectionName") | |
doc_id = data.get("id") | |
image_path = data.get("imagePath") | |
metadata = data.get("metadata") | |
try: | |
add_image_to_chroma(collection_name, doc_id, image_path, metadata) | |
return jsonify({"message": "Image ajoutée avec succès"}), 200 | |
except Exception as e: | |
return jsonify({"error": str(e)}), 500 | |
def search_query(): | |
data = request.json | |
query = data.get("query") | |
collection_name = data.get("collectionName") | |
metadata = data.get("metadata") | |
n_results = data.get("nResults", 10) | |
try: | |
results = search(collection_name, query, metadata, n_results) | |
return jsonify({"results": results}), 200 | |
except Exception as e: | |
return jsonify({"error": str(e)}), 500 | |
if __name__ == "__main__": | |
app.run(host="0.0.0.0",debug=True, port=7860) | |