| from fastapi import FastAPI |
| from fastapi.middleware.cors import CORSMiddleware |
| import uvicorn |
| from contextlib import asynccontextmanager |
|
|
| from router import llamindex_router |
| from router import embedding_router |
| from router import image_embedding_router |
| from core.cronjob import news_scheduler |
|
|
| @asynccontextmanager |
| async def lifespan_manager(app: FastAPI): |
| """ |
| μλ² μμ μ λͺ¨λΈμ λ‘λνκ³ μ’
λ£ μ μ 리ν©λλ€. |
| """ |
| |
| |
| |
| |
| |
| yield |
| |
| |
| |
| |
| |
| app = FastAPI( |
| title="RAG+LLM", |
| description="RAG+LLM ", |
| lifespan=lifespan_manager |
| ) |
|
|
| |
| app.add_middleware( |
| CORSMiddleware, |
| allow_origins=["*"], |
| allow_credentials=True, |
| allow_methods=["*"], |
| allow_headers=["*"], |
| ) |
|
|
| app.include_router(llamindex_router.router, prefix="/llama_index") |
| app.include_router(embedding_router.router, prefix="/embedding") |
| app.include_router(image_embedding_router.router, prefix="/image_embedding") |
|
|
| |
| @app.get("/", summary="API ν¬μ€ 체ν¬") |
| def read_root(): |
| """API μλ²κ° μ μμ μΌλ‘ μλνλμ§ νμΈν©λλ€.""" |
| return {"message": "RAG+LLM API is running successfully."} |
|
|
| if __name__ == "__main__": |
| |
| uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True) |
|
|