Rupali Ravindra Shetye commited on
Commit
f8caa38
·
1 Parent(s): a44fe8c

Fix langchain imports and add OpenCV dependencies

Browse files
Dockerfile CHANGED
@@ -6,6 +6,12 @@ WORKDIR /app
6
  RUN apt-get update && apt-get install -y \
7
  tesseract-ocr \
8
  poppler-utils \
 
 
 
 
 
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  # Copy requirements first for caching
@@ -15,11 +21,8 @@ RUN pip install --no-cache-dir -r requirements.txt
15
  # Copy application
16
  COPY . .
17
 
18
- # Create data directories
19
- RUN mkdir -p data/raw data/processed data/chroma_db
20
-
21
  # Expose port
22
  EXPOSE 7860
23
 
24
  # Run the app
25
- CMD ["streamlit", "run", "app/ui/streamlit_app.py", "--server.port=7860", "--server.address=0.0.0.0", "--server.enableCORS=false", "--server.enableXsrfProtection=false"]
 
6
  RUN apt-get update && apt-get install -y \
7
  tesseract-ocr \
8
  poppler-utils \
9
+ libgl1-mesa-glx \
10
+ libglib2.0-0 \
11
+ libsm6 \
12
+ libxext6 \
13
+ libxrender-dev \
14
+ libgomp1 \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
  # Copy requirements first for caching
 
21
  # Copy application
22
  COPY . .
23
 
 
 
 
24
  # Expose port
25
  EXPOSE 7860
26
 
27
  # Run the app
28
+ CMD ["streamlit", "run", "app/ui/streamlit_app.py", "--server.port=7860", "--server.address=0.0.0.0", "--server.enableCORS=false", "--server.enableXsrfProtection=false"]
app/ingestion/chunker.py CHANGED
@@ -1,6 +1,6 @@
1
- # Updated import for langchain 0.1.x
2
- from langchain.text_splitter import RecursiveCharacterTextSplitter
3
- from langchain.schema import Document
4
  from app.config import settings
5
  from typing import List, Dict, Any
6
  import hashlib
@@ -40,4 +40,4 @@ class SemanticChunker:
40
  ).hexdigest()
41
  chunk.metadata["chunk_size"] = len(chunk.page_content)
42
 
43
- return chunks
 
1
+ """Semantic chunking for documents."""
2
+ from langchain_text_splitters import RecursiveCharacterTextSplitter
3
+ from langchain_core.documents import Document
4
  from app.config import settings
5
  from typing import List, Dict, Any
6
  import hashlib
 
40
  ).hexdigest()
41
  chunk.metadata["chunk_size"] = len(chunk.page_content)
42
 
43
+ return chunks
app/ingestion/parsers/pdf_parser.py CHANGED
@@ -1,4 +1,4 @@
1
- # Updated import for langchain 0.1.x
2
  from langchain_community.document_loaders import PyPDFLoader, UnstructuredPDFLoader
3
  from typing import List, Dict, Any
4
  import os
@@ -26,4 +26,4 @@ class PDFParser:
26
  "doc_type": "pdf"
27
  })
28
 
29
- return documents
 
1
+ """PDF parser for document ingestion."""
2
  from langchain_community.document_loaders import PyPDFLoader, UnstructuredPDFLoader
3
  from typing import List, Dict, Any
4
  import os
 
26
  "doc_type": "pdf"
27
  })
28
 
29
+ return documents
requirements.txt CHANGED
@@ -3,6 +3,8 @@ streamlit
3
  langchain
4
  langgraph
5
  langchain-community
 
 
6
  chromadb
7
  sentence-transformers
8
 
 
3
  langchain
4
  langgraph
5
  langchain-community
6
+ langchain-text-splitters
7
+ langchain-core
8
  chromadb
9
  sentence-transformers
10