cache me outside
Browse files- App/Embedding/EmbeddingRoutes.py +4 -0
- App/app.py +7 -0
- requirements.txt +1 -0
App/Embedding/EmbeddingRoutes.py
CHANGED
|
@@ -2,17 +2,20 @@ from fastapi import APIRouter, BackgroundTasks
|
|
| 2 |
|
| 3 |
from .utils.Initialize import TextSearch, IdSearch
|
| 4 |
from .Schemas import SearchRequest, AddDocumentRequest
|
|
|
|
| 5 |
|
| 6 |
embeddigs_router = APIRouter(tags=["embeddings"])
|
| 7 |
|
| 8 |
|
| 9 |
# create
|
| 10 |
@embeddigs_router.post("/add_document")
|
|
|
|
| 11 |
async def create_embeddings(req: AddDocumentRequest):
|
| 12 |
pass
|
| 13 |
|
| 14 |
|
| 15 |
@embeddigs_router.post("/search_id")
|
|
|
|
| 16 |
async def search_id(
|
| 17 |
req: SearchRequest,
|
| 18 |
background_tasks: BackgroundTasks,
|
|
@@ -21,5 +24,6 @@ async def search_id(
|
|
| 21 |
|
| 22 |
|
| 23 |
@embeddigs_router.post("/search_text")
|
|
|
|
| 24 |
async def search_text(req: SearchRequest):
|
| 25 |
return TextSearch(query=req.query)
|
|
|
|
| 2 |
|
| 3 |
from .utils.Initialize import TextSearch, IdSearch
|
| 4 |
from .Schemas import SearchRequest, AddDocumentRequest
|
| 5 |
+
from fastapi_cache.decorator import cache
|
| 6 |
|
| 7 |
embeddigs_router = APIRouter(tags=["embeddings"])
|
| 8 |
|
| 9 |
|
| 10 |
# create
|
| 11 |
@embeddigs_router.post("/add_document")
|
| 12 |
+
@cache(namespace="cache1")
|
| 13 |
async def create_embeddings(req: AddDocumentRequest):
|
| 14 |
pass
|
| 15 |
|
| 16 |
|
| 17 |
@embeddigs_router.post("/search_id")
|
| 18 |
+
@cache(namespace="cache2")
|
| 19 |
async def search_id(
|
| 20 |
req: SearchRequest,
|
| 21 |
background_tasks: BackgroundTasks,
|
|
|
|
| 24 |
|
| 25 |
|
| 26 |
@embeddigs_router.post("/search_text")
|
| 27 |
+
@cache(namespace="cache3")
|
| 28 |
async def search_text(req: SearchRequest):
|
| 29 |
return TextSearch(query=req.query)
|
App/app.py
CHANGED
|
@@ -8,6 +8,8 @@ from .Embedding.EmbeddingRoutes import embeddigs_router
|
|
| 8 |
|
| 9 |
from fastapi.middleware.cors import CORSMiddleware
|
| 10 |
|
|
|
|
|
|
|
| 11 |
|
| 12 |
import logging
|
| 13 |
|
|
@@ -33,6 +35,11 @@ app.add_middleware(
|
|
| 33 |
app.add_middleware(GZipMiddleware, minimum_size=1000)
|
| 34 |
|
| 35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
@app.get("/")
|
| 37 |
async def landing_page():
|
| 38 |
return {"code": 200, "message": "we are back!"}
|
|
|
|
| 8 |
|
| 9 |
from fastapi.middleware.cors import CORSMiddleware
|
| 10 |
|
| 11 |
+
from fastapi_cache import FastAPICache
|
| 12 |
+
from fastapi_cache.backends.inmemory import InMemoryBackend
|
| 13 |
|
| 14 |
import logging
|
| 15 |
|
|
|
|
| 35 |
app.add_middleware(GZipMiddleware, minimum_size=1000)
|
| 36 |
|
| 37 |
|
| 38 |
+
@app.on_event("startup")
|
| 39 |
+
async def startup():
|
| 40 |
+
FastAPICache.init(InMemoryBackend())
|
| 41 |
+
|
| 42 |
+
|
| 43 |
@app.get("/")
|
| 44 |
async def landing_page():
|
| 45 |
return {"code": 200, "message": "we are back!"}
|
requirements.txt
CHANGED
|
@@ -6,4 +6,5 @@ langchain
|
|
| 6 |
uvicorn[standard]
|
| 7 |
pydantic
|
| 8 |
requests
|
|
|
|
| 9 |
|
|
|
|
| 6 |
uvicorn[standard]
|
| 7 |
pydantic
|
| 8 |
requests
|
| 9 |
+
fastapi-cache2[memcache]
|
| 10 |
|