import nh3 from fastapi import FastAPI, Request from doc_searcher import DocSearcher from doc_searcher_v2 import DocSearcherV2 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) doc_searcher_v2 = DocSearcherV2(collection_name=COLLECTION_NAME) suggestion_searcher = SuggestionSearcher(collection_name=COLLECTION_NAME_SUGGESTION) ALLOWED_API_KEY = str(API_KEY) @app.get("/api/search") async def search(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) return data @app.get("/api/v2/search") async def v2_search(q: str): query = q.lower() xss = nh3.clean(query) data = await doc_searcher_v2.search_temp(text=xss) return data