HelpDev / app /main.py
Dewasheesh's picture
Update app/main.py
64ce359 verified
from pydantic import BaseModel
from fastapi import FastAPI, UploadFile, File
from app.pdf_handler import process_pdf, process_image_pdf, process_image_pdf_dummy
from app.rag_pipeline import generate_answer, generate_answer_am
from app.test import query_test
from fastapi import FastAPI, File, UploadFile
from PIL import Image
import pytesseract
import io
app = FastAPI()
class ChatRequest(BaseModel):
query: str
top_k: int = 3
@app.post("/chat/")
async def chat(request: ChatRequest):
return generate_answer(request.query, request.top_k)
@app.post("/am/chat/")
async def chat(request: ChatRequest):
return generate_answer_am(request.query, request.top_k)
@app.post("/upload/")
async def upload_pdf(file: UploadFile = File(...)):
return process_pdf(file)
@app.post("/upload/imgpdf/")
async def upload_pdf_image(file: UploadFile = File(...)):
return process_image_pdf(file)
@app.post("/upload/imgpdf/dummy/")
async def upload_pdf_image_dummy(f):
return process_image_pdf_dummy()
@app.post("/test/")
async def chat(query: str, top_k: int = 3):
return query_test(query)
@app.post("/ocr/")
async def extract_text(file: UploadFile = File(...)):
image_data = await file.read()
image = Image.open(io.BytesIO(image_data))
text = pytesseract.image_to_string(image)
return {"extracted_text": text}