INNER CODE UNIT · Python
create_app
pathwaycom/llm-app · serviette/server/main.py:146
def create_app(
config: ServietteConfig,
*,
embedder: AsyncEmbedder | None = None,
accessor: AsyncVectorAccessor | None = None,
llm: AsyncLLM | None = None,
reranker: AsyncReranker | None = None,
) -> FastAPI:
"""Build the FastAPI app.
The ``embedder``/``accessor``/``llm``/``reranker`` overrides exist for
testing (inject a mock embedder and a DuckDB accessor); in production they
are built from the config.
"""
config.for_server()
# for_server() guarantees the sections; narrow them for the type checker.
assert config.vector_db is not None and config.embedder is not None