Spaces:
Runtime error
Runtime error
| """API v1 route handlers.""" | |
| from fastapi import APIRouter, Response | |
| from typing import Dict, List | |
| from src.modules.transporter import publish_message | |
| from src.modules.models.index import embed_text | |
| import io | |
| # Create v1 router | |
| router = APIRouter(prefix='/v1', tags=['v1']) | |
| import matplotlib.pyplot as plt | |
| async def hello_world(): | |
| """Hello world endpoint.""" | |
| publish_message("hello-python", "Hello from FastAPI!") | |
| embed = embed_text("Hello, world!") | |
| print(f"Generated embedding: {embed}") | |
| return {"message": "Hello, reloaded!", "embedding": list(embed)} | |
| async def health_check() -> Dict[str, str]: | |
| """Health check endpoint.""" | |
| return {"status": "healthy"} | |
| async def metrics() -> Dict[str, int]: | |
| """Application metrics endpoint.""" | |
| return { | |
| "total_routes": len(router.routes), | |
| "api_version": 1 | |
| } | |
| async def get_plot(): | |
| # Tạo biểu đồ | |
| plt.figure(figsize=(6, 4)) | |
| x = [1, 2, 3, 4, 5] | |
| y = [i ** 2 for i in x] | |
| plt.plot(x, y, label="y = x^2") | |
| plt.title("Sample Plot") | |
| plt.xlabel("x") | |
| plt.ylabel("y") | |
| plt.legend() | |
| # Lưu vào buffer | |
| buf = io.BytesIO() | |
| plt.savefig(buf, format="png") | |
| plt.close() | |
| buf.seek(0) | |
| # Trả về dưới dạng ảnh PNG | |
| return Response(content=buf.getvalue(), media_type="image/png") |