From c63cfe0de6affc0118fba28bf942f3a1af5b1dd2 Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Sun, 8 Dec 2024 17:43:00 -0500 Subject: [PATCH] Boom. It works. modified: Dockerfile modified: app.py --- Dockerfile | 5 +++++ app.py | 28 +++++++++++++++++++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5e4dc0b..3c85c43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,6 +31,11 @@ COPY . . RUN pip install --no-cache-dir -r requirements.lock +RUN playwright install --with-deps && \ + python -c "from unstructured.nlp.tokenize import download_nltk_packages; download_nltk_packages()" && \ + python -c "import nltk;nltk.download('punkt_tab'); nltk.download('averaged_perceptron_tagger_eng')" && \ + python -c "from unstructured.partition.model_init import initialize; initialize()" + EXPOSE 8001 CMD ["python", "app.py"] diff --git a/app.py b/app.py index 39203c4..f12fa25 100644 --- a/app.py +++ b/app.py @@ -35,19 +35,17 @@ from langchain_openai import ChatOpenAI from llama_index.core.schema import Document as LlamaDocument from llama_parse import LlamaParse as _LlamaParse from llama_parse.utils import Language, ResultType -#from megaparse_sdk.schema.languages import Language as MP_Language from pydantic import BaseModel, Field, ValidationError, validator +from unstructured.partition.auto import partition + # Load environment variables load_dotenv() -# ---------------------- Langauges -------------------------- - -from enum import Enum - +# ---------------------- Langs -------------------------- class Language(str, Enum): BAZA = "abq" @@ -136,6 +134,26 @@ class Language(str, Enum): MP_Language = Language +class FileExtension(str, Enum): + """Supported file extension enumeration.""" + + PDF = ".pdf" + DOCX = ".docx" + DOC = ".doc" + TXT = ".txt" + OTF = ".odt" + EPUB = ".epub" + HTML = ".html" + XML = ".xml" + CSV = ".csv" + XLSX = ".xlsx" + XLS = ".xls" + PPTX = ".pptx" + PPT = ".ppt" + JSON = ".json" + MD = ".md" + MARKDOWN = ".markdown" + # --------------------- Exception Classes --------------------- class HTTPModelNotSupported(HTTPException):