File size: 707 Bytes
325b94c e8ba9e0 325b94c | 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 | import base64
from mistralai import Mistral
import os
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
print("MISTRAL_API_KEY =", os.getenv("MISTRAL_API_KEY"))
def extract_text_from_pdf(pdf_path: str) -> str:
with open(pdf_path, "rb") as f:
pdf_bytes = f.read()
b64 = base64.b64encode(pdf_bytes).decode("utf-8")
resp = client.ocr.process(
model="mistral-ocr-latest",
document={
"type": "document_url",
"document_url": f"data:application/pdf;base64,{b64}",
},
include_image_base64=False,
)
pages_text = []
for page in resp.pages:
pages_text.append(page.markdown)
return "\n\n".join(pages_text)
|