Spaces:
Sleeping
Sleeping
| import nh3 | |
| from fastapi import FastAPI, Request | |
| from doc_searcher import DocSearcher | |
| from suggestion_searcher import SuggestionSearcher | |
| from huggingface_hub import login | |
| from config import HUGGING_FACE_API_KEY, COLLECTION_NAME, API_KEY, COLLECTION_NAME_SUGGESTION | |
| from fastapi.responses import StreamingResponse | |
| import httpx | |
| login(HUGGING_FACE_API_KEY) | |
| app = FastAPI() | |
| doc_searcher = DocSearcher(collection_name=COLLECTION_NAME) | |
| suggestion_searcher = SuggestionSearcher(collection_name=COLLECTION_NAME_SUGGESTION) | |
| ALLOWED_API_KEY = str(API_KEY) | |
| async def search(q: str): | |
| # q: str, type: int, lt: str | None = None, offset: int = 0 | |
| query = q.lower() | |
| xss = nh3.clean(query) | |
| # data = await doc_searcher.search(text=xss,type=type,law_type=lt,offset=offset) | |
| data = await doc_searcher.search_temp(text=xss) | |
| return data | |
| async def get_suggestions(q: str, type: int): | |
| query = q.lower() | |
| xss = nh3.clean(query) | |
| data = await suggestion_searcher.search(text=xss,type=type) | |
| return data | |
| # @app.middleware("http") | |
| # async def api_key_authentication(request: Request, call_next): | |
| # api_key = request.headers.get("X-API-KEY") | |
| # if api_key != ALLOWED_API_KEY: | |
| # return JSONResponse( | |
| # status_code=403, | |
| # content={"message": "Forbidden."} | |
| # ) | |
| # return await call_next(request) |