RAG_HF / app.py
tjrlgns09's picture
.
d2100e7
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):
"""
μ„œλ²„ μ‹œμž‘ μ‹œ λͺ¨λΈμ„ λ‘œλ“œν•˜κ³  μ’…λ£Œ μ‹œ μ •λ¦¬ν•©λ‹ˆλ‹€.
"""
# μŠ€μΌ€μ€„λŸ¬ μ‹œμž‘
#news_scheduler.start()
# μ„œλ²„κ°€ μš”μ²­ 처리λ₯Ό μ‹œμž‘ν•˜λ„λ‘ μ œμ–΄κΆŒμ„ λ„˜κ²¨μ€λ‹ˆλ‹€.
yield
# μŠ€μΌ€μ€„λŸ¬ μ’…λ£Œ
#news_scheduler.shutdown()
# FastAPI μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ΄ˆκΈ°ν™”
app = FastAPI(
title="RAG+LLM",
description="RAG+LLM ",
lifespan=lifespan_manager
)
# CORS μ„€μ • (λͺ¨λ“  도메인 ν—ˆμš©)
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__":
# --reload μ˜΅μ…˜μ„ μΆ”κ°€ν•˜μ—¬ μ½”λ“œκ°€ 변경될 λ•Œλ§ˆλ‹€ μžλ™ μž¬μ‹œμž‘λ˜κ²Œ μ„€μ •ν•©λ‹ˆλ‹€.
uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)