Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, Request | |
| from fastapi.responses import JSONResponse | |
| from src.do_pca_on_tfidf import query_docs | |
| from src.search_embeddings import sbert_query_docs | |
| import polars as pl | |
| #from jinja2 import Template | |
| app = FastAPI() | |
| def default(): | |
| return {"status": "ok", "version": 0.1} | |
| def sb(query: str): | |
| res_sbert = sbert_query_docs(query) | |
| return {"scores": str(res_sbert)} | |
| def tf(query: str): | |
| res_tfidf = query_docs(query) | |
| return {"scores": str(res_tfidf)} | |
| def square(x: int): | |
| return {"result": x * x} | |
| async def search(request: Request, q: str): | |
| res_tfidf = query_docs(q) | |
| res_sbert = sbert_query_docs(q) | |
| joined = res_sbert.join(res_tfidf, on='file', how = 'inner') | |
| res_combined = joined.with_columns((0.7 * pl.col("rank-sbert") + 0.3 * pl.col("rank-tfidf")).alias("rank-combined")).sort("rank-combined") | |
| return {"request": request, "results": str(res_combined)} | |
| #return {"request": request, "results": res_combined.to_dicts()} | |
| def echo(query: str): | |
| return {"echo": query} | |