Refactor document handling and update Milvus collection settings
- Removed multiple failed document entries from `documents.json`. - Added a new document entry with updated metadata and changed the index name to `regulations_dense_1024_v2`. - Updated architecture documentation to reflect changes in the Milvus collection name. - Adjusted requirements by removing the sqlalchemy dependency. - Modified test cases to align with new document structure and naming conventions. - Introduced a new test file for Milvus vector index runtime recovery and error handling. - Updated assertions in various test files to ensure compatibility with the new schema.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
from contextlib import asynccontextmanager
|
||||
|
||||
from fastapi import FastAPI, Request
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.responses import JSONResponse
|
||||
from loguru import logger
|
||||
@@ -12,6 +13,7 @@ from app.api.routes import api_router
|
||||
from app.config.logging import setup_logging
|
||||
from app.config.settings import settings
|
||||
from app.shared.bootstrap import cleanup_runtime_dependencies, preload_runtime_dependencies
|
||||
from app.shared.errors import VectorStoreSchemaError
|
||||
# Keep module behavior explicit so the backend flow stays easy to audit.
|
||||
|
||||
|
||||
@@ -55,16 +57,33 @@ app.add_middleware(
|
||||
app.include_router(api_router, prefix="/api/v1")
|
||||
|
||||
|
||||
@app.exception_handler(VectorStoreSchemaError)
|
||||
async def vector_store_schema_exception_handler(request: Request, exc: VectorStoreSchemaError):
|
||||
"""Return a stable JSON response for vector store schema/runtime errors."""
|
||||
logger.error(f"向量库 schema 异常: {exc}")
|
||||
return JSONResponse(
|
||||
status_code=500,
|
||||
content=jsonable_encoder(
|
||||
ErrorResponse(
|
||||
error="VectorStoreSchemaError",
|
||||
message=str(exc),
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@app.exception_handler(Exception)
|
||||
async def global_exception_handler(request: Request, exc: Exception):
|
||||
"""Global exception handler."""
|
||||
logger.error(f"未处理的异常: {exc}")
|
||||
return JSONResponse(
|
||||
status_code=500,
|
||||
content=ErrorResponse(
|
||||
error="InternalServerError",
|
||||
message=str(exc),
|
||||
).model_dump(),
|
||||
content=jsonable_encoder(
|
||||
ErrorResponse(
|
||||
error="InternalServerError",
|
||||
message=str(exc),
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user