from fastapi import APIRouter, Query from typing import Optional from app.service.lookbooks.query_service import query_lookbooks_service # 引入业务逻辑 router = APIRouter() @router.get("/query-lookbooks") async def query_lookbooks( tag: Optional[str] = Query(None, description="Tag to filter lookbooks"), year: Optional[str] = Query(None, description="Year to filter lookbooks"), n_results: int = Query(10, description="Number of results to return") ): """ 查询向量数据库,支持按 tag 和 year 查询 :param tag: 查询过滤的标签 :param year: 查询过滤的年份 :param n_results: 返回的结果数量 :return: 查询结果 """ try: # 调用业务逻辑层的查询服务 result_list = await query_lookbooks_service(tag, year, n_results) return {"status": "success", "data": result_list} except Exception as e: return {"status": "error", "message": str(e)}