Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, Query, HTTPException | |
| app = FastAPI() | |
| def search(query: str, n: int = Query(5, ge=1)): | |
| """ | |
| Endpoint for querying the search engine. | |
| Args: | |
| query (str): The search query. | |
| n (int): Number of results to return (default: 5). | |
| Returns: | |
| dict: Query results. | |
| """ | |
| if not query.strip(): | |
| raise HTTPException(status_code=400, detail="Query cannot be empty.") | |
| search_engine = app.state.search_engine | |
| if not search_engine: | |
| raise HTTPException(status_code=500, detail="Search engine not initialized.") | |
| try: | |
| results = search_engine.most_similar(query, n) | |
| except Exception as e: | |
| raise HTTPException( | |
| status_code=500, | |
| detail=f"An unexpected error occurred: {str(e)}" | |
| ) | |
| return {"query": query, "results": results} | |