File size: 1,640 Bytes
a52c5c7 d2100e7 a52c5c7 d2100e7 a52c5c7 d2100e7 a52c5c7 d2100e7 a52c5c7 | 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 46 47 48 49 50 51 52 53 54 55 | 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)
|