from sentence_transformers import SentenceTransformer from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware import uvicorn # Inicializar la API con FastAPI app = FastAPI() # Middleware para permitir acceso desde cualquier origen app.add_middleware( CORSMiddleware, allow_origins=["*"], # Permitir cualquier origen allow_credentials=True, allow_methods=["*"], # Permitir todos los métodos HTTP allow_headers=["*"], # Permitir todos los encabezados ) # Cargar el modelo de embeddings model = SentenceTransformer("models/all-MiniLM-L6-v2") # Cargar desde carpeta local @app.get("/embed") def get_embedding(text: str): """Devuelve el embedding de un texto dado.""" embedding = model.encode([text]).tolist() return {"embedding": embedding} # Endpoint para comprobar que la API está funcionando @app.get("/") def home(): return {"message": "Lexia-Simplificador API is running!"} # Endpoint para la documentación interactiva @app.get("/docs") def get_docs(): return {"docs_url": "/docs"} # Ejecutar la aplicación en Hugging Face automáticamente if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=7860)