diff --git a/aucourt_ingest/main.py b/aucourt_ingest/main.py index 0accdf6..15e3ce9 100644 --- a/aucourt_ingest/main.py +++ b/aucourt_ingest/main.py @@ -319,14 +319,8 @@ def cmd_serve(args): database=config.storage.neo4j_database, ) - # VectorIndex requires ChromaDB directory — skip for memory backend in tests - vector_index = None - if backend != "memory": - from aucourt_ingest.storage.vector_index import VectorIndex - vector_index = VectorIndex(str(config.storage.chromadb_dir)) - else: - from aucourt_ingest.storage.vector_index import VectorIndex - vector_index = VectorIndex(str(config.storage.chromadb_dir)) + from aucourt_ingest.storage.vector_index import VectorIndex + vector_index = VectorIndex(str(config.storage.chromadb_dir)) from aucourt_ingest.api.app import create_app app = create_app(graph_db, vector_index, max_tokens) @@ -336,10 +330,7 @@ def cmd_serve(args): uvicorn.run(app, host=host, port=port) -async def async_main(): - parser = build_parser() - args = parser.parse_args() - +async def async_main(args): if not args.mode: parser.print_help() return @@ -354,13 +345,18 @@ async def async_main(): await cmd_audit(args) elif args.mode == "process": await cmd_process(args) - elif args.mode == "serve": - cmd_serve(args) def main(): logging.basicConfig(level=logging.INFO, format="%(asctime)s %(name)s %(levelname)s %(message)s") - asyncio.run(async_main()) + parser = build_parser() + args = parser.parse_args() + + if args.mode == "serve": + cmd_serve(args) + return + + asyncio.run(async_main(args)) if __name__ == "__main__":