Spaces:
Paused
Paused
File size: 1,203 Bytes
9174d0d 8856ca8 f35f208 9174d0d cbb7bf7 f35f208 9174d0d cbb7bf7 9174d0d 679b18c 9174d0d cbb7bf7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import yaml
import sys
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from .routes import router, init_router
from .utils.logging import setup_logger
from .utils.validation import validate_hf
def load_config():
"""Load configuration from yaml file"""
with open("main/config.yaml", "r") as f:
return yaml.safe_load(f)
def create_app():
config = load_config()
logger = setup_logger(config, "main")
validate_hf(setup_logger, config)
logger.info("Starting LLM API server")
app = FastAPI(
title="LLM API",
description="API for Large Language Model operations",
version=config["api"]["version"]
)
# Add CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=config["api"]["cors"]["origins"],
allow_credentials=config["api"]["cors"]["credentials"],
allow_methods=["*"],
allow_headers=["*"],
)
# Initialize routes with config
init_router(config)
app.include_router(router, prefix=f"{config['api']['prefix']}/{config['api']['version']}")
logger.info("FastAPI application created successfully")
return app
app = create_app() |