File size: 1,571 Bytes
9ba3ade d16f678 9c62372 d16f678 a81ff23 d16f678 a81ff23 d16f678 d92c861 9c62372 d92c861 9c62372 a81ff23 9c62372 0f0c7dc |
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 56 57 58 |
try: from pip._internal.operations import freeze
except ImportError: # pip < 10.0
from pip.operations import freeze
pkgs = freeze.freeze()
for pkg in pkgs: print(pkg)
import os
from fastapi import FastAPI, HTTPException, File, UploadFile
from fastapi.middleware.cors import CORSMiddleware
from PyPDF2 import PdfReader
import google.generativeai as genai
import json
secret = os.environ["key"]
genai.configure(api_key=secret)
model_vision = genai.GenerativeModel('gemini-pro-vision')
model_text = genai.GenerativeModel('gemini-pro')
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.post("/get_ocr_data/")
async def get_data(pdf: UploadFile = File(...)):
try:
# Read PDF file using PyPDF2
pdf_reader = PdfReader(pdf.file)
text = ""
# Extract text from each page
for page in pdf_reader.pages:
text += page.extract_text()
# call gemini to get required data extracted text
prompt = f"""this is cv data : {text.strip()}
i want only
fisrtname,lastname,contact number,total years of experince,linkdn link,experinece,skils
in json format only"""
response = model_text.generate_content(prompt)
data = json.loads(response.text.replace("```json","").replace("```",""))
return {"data":data}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error processing PDF: {str(e)}")
|