Files
Source/project/rag_app/backend/routers/api_router.py
T
cooney 06eb3c57ab fastAPI 심화
- Chart.js
- pdf, csv 파일 업로드 후 데이터 정제하여 llm으로 처리 후 결과 도출
- sqlite로 데이터 저장
- ORM - SQLAlchemy
2026-06-16 18:03:02 +09:00

33 lines
1.1 KiB
Python

from fastapi import APIRouter, Request, UploadFile
from backend.services.llm_service import question_and_answer
from backend.schemas.basic_schema import QuestionRequest
from backend.services.rag_service import upload_document, rag_chat, rag_chat_stream
from fastapi.responses import StreamingResponse
router = APIRouter(prefix="/api")
# http://127.0.0.1:8000/api/question
@router.post("/question")
async def question(req: QuestionRequest):
answer = question_and_answer(req.question)
return {"message" : answer}
# http://127.0.0.1:8000/api/rag/upload
@router.post("/rag/upload")
async def file_Upload(file: UploadFile):
# 서비스 호출
return upload_document(file)
# http://127.0.0.1:8000/api/rag/question
@router.post("/rag/question")
async def question(req: QuestionRequest):
answer = rag_chat(req.question)
return {"message" : answer}
@router.post("/rag/question/stream")
async def question_stream(req: QuestionRequest):
answer = rag_chat_stream(req.question)
return StreamingResponse(rag_chat_stream(req.question), media_type="text/plain")