Spaces:
Runtime error
Runtime error
| from datetime import datetime | |
| import logging | |
| import fastapi | |
| from fastapi import Body, Depends | |
| import uvicorn | |
| from fastapi import HTTPException , status | |
| from fastapi.responses import JSONResponse | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from fastapi import FastAPI as Response | |
| from sse_starlette.sse import EventSourceResponse | |
| from starlette.responses import StreamingResponse | |
| from starlette.requests import Request | |
| from pydantic import BaseModel | |
| from enum import Enum | |
| from typing import List, Dict, Any, Generator, Optional, cast, Callable | |
| from indexer import * | |
| async def catch_exceptions_middleware( | |
| request: Request, call_next: Callable[[Request], Any] | |
| ) -> Response: | |
| try: | |
| return await call_next(request) | |
| except Exception as e: | |
| return JSONResponse(content={"error": repr(e)}, status_code=500) | |
| app = fastapi.FastAPI(title="Maya Persistence") | |
| app.middleware("http")(catch_exceptions_middleware) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| api_base="/api/v1" | |
| async def get_matching_docs(inStr: str ) -> Any: | |
| """ | |
| Gets the query embeddings and uses metadata appropriately and gets the matching docs for query | |
| TODO: Add parameter for type of query and number of docs to return | |
| TODO: Add parameter to return the source information as well | |
| """ | |
| return getRelevantDocs(inStr) | |
| async def add_text_document(inStr: str,metadata: dict ) -> Any: | |
| """ | |
| Add text and metadata to the db | |
| """ | |
| return addText(inStr,metadata) | |
| print(__name__) | |
| if __name__ == '__main__' or __name__ == "src.main": | |
| uvicorn.run(app, host="0.0.0.0", port=8000) |