Rabbook / app /runtime.py
Matcry's picture
Deploy snapshot
c76423f
Raw
History Blame Contribute Delete
1.38 kB
from core.config import DB_DIR, REGISTRY_PATH
from rag.registry import load_chunk_registry
from rag.retrieve import load_bm25_index, load_vectorstore
def get_bm25_index(app, *, get_chunk_registry, get_vectorstore):
bm25_index = getattr(app.state, "bm25_index", None)
if bm25_index is None:
bm25_index = load_bm25_index(
chunk_registry=get_chunk_registry(),
vectorstore=get_vectorstore(),
)
app.state.bm25_index = bm25_index
return bm25_index
def get_vectorstore(app, *, get_embeddings):
vectorstore = getattr(app.state, "vectorstore", None)
if vectorstore is None:
vectorstore = load_vectorstore(str(DB_DIR), get_embeddings())
app.state.vectorstore = vectorstore
return vectorstore
def get_chunk_registry(app):
chunk_registry = getattr(app.state, "chunk_registry", None)
if chunk_registry is None:
chunk_registry = load_chunk_registry(str(REGISTRY_PATH))
app.state.chunk_registry = chunk_registry
return chunk_registry
def refresh_runtime_state(app, *, get_embeddings):
app.state.vectorstore = load_vectorstore(str(DB_DIR), get_embeddings())
app.state.chunk_registry = load_chunk_registry(str(REGISTRY_PATH))
app.state.bm25_index = load_bm25_index(
chunk_registry=app.state.chunk_registry,
vectorstore=app.state.vectorstore,
)