Spaces:
Sleeping
Sleeping
Auto commit at 08-2025-08 23:15:46
Browse files- Dockerfile +6 -1
- lily_llm_api/app_v2.py +55 -29
Dockerfile
CHANGED
|
@@ -39,8 +39,13 @@ COPY . .
|
|
| 39 |
# νμν λλ ν 리 μμ±
|
| 40 |
RUN mkdir -p /app/data /app/logs /app/models /app/uploads /app/vector_stores /app/temp /app/cache/transformers /app/cache/huggingface
|
| 41 |
|
| 42 |
-
# κΆν μ€μ
|
| 43 |
RUN chmod +x /app/*.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
# Hugging Face μΊμ λλ ν 리 νκ²½ λ³μ μ€μ
|
| 46 |
ENV TRANSFORMERS_CACHE=/app/cache/transformers
|
|
|
|
| 39 |
# νμν λλ ν 리 μμ±
|
| 40 |
RUN mkdir -p /app/data /app/logs /app/models /app/uploads /app/vector_stores /app/temp /app/cache/transformers /app/cache/huggingface
|
| 41 |
|
| 42 |
+
# κΆν μ€μ - μΊμ λλ ν 리μ μ°κΈ° κΆν λΆμ¬
|
| 43 |
RUN chmod +x /app/*.py
|
| 44 |
+
RUN chmod -R 777 /app/cache
|
| 45 |
+
RUN chmod -R 777 /app/data
|
| 46 |
+
RUN chmod -R 777 /app/logs
|
| 47 |
+
RUN chmod -R 777 /app/uploads
|
| 48 |
+
RUN chmod -R 777 /app/temp
|
| 49 |
|
| 50 |
# Hugging Face μΊμ λλ ν 리 νκ²½ λ³μ μ€μ
|
| 51 |
ENV TRANSFORMERS_CACHE=/app/cache/transformers
|
lily_llm_api/app_v2.py
CHANGED
|
@@ -1778,8 +1778,8 @@ async def delete_latex_document(user_id: str, document_id: str):
|
|
| 1778 |
# """LaTeX-OCR + FAISS μμ€ν
μ΄κΈ°ν"""
|
| 1779 |
# global latex_ocr_faiss_simple, latex_ocr_faiss_integrated
|
| 1780 |
# try:
|
| 1781 |
-
|
| 1782 |
-
|
| 1783 |
# logger.info("β
LaTeX-OCR + FAISS μμ€ν
μ΄κΈ°ν μλ£")
|
| 1784 |
# except Exception as e:
|
| 1785 |
# logger.error(f"β LaTeX-OCR + FAISS μμ€ν
μ΄κΈ°ν μ€ν¨: {e}")
|
|
@@ -1801,18 +1801,26 @@ async def process_pdf_with_latex_faiss(
|
|
| 1801 |
content = await file.read()
|
| 1802 |
f.write(content)
|
| 1803 |
|
| 1804 |
-
# μμ€ν
μ ν
|
| 1805 |
-
if system_type == "simple":
|
| 1806 |
-
|
| 1807 |
-
|
| 1808 |
-
|
| 1809 |
-
else:
|
| 1810 |
-
|
| 1811 |
-
|
| 1812 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1813 |
|
| 1814 |
-
# PDF μ²λ¦¬
|
| 1815 |
-
result = system.process_pdf_with_latex(str(file_path), user_id)
|
| 1816 |
|
| 1817 |
if result["success"]:
|
| 1818 |
return DocumentUploadResponse(
|
|
@@ -1849,18 +1857,29 @@ async def search_latex_formulas(
|
|
| 1849 |
):
|
| 1850 |
"""μ μ₯λ LaTeX μμ κ²μ"""
|
| 1851 |
try:
|
| 1852 |
-
# μμ€ν
μ ν
|
| 1853 |
-
if system_type == "simple":
|
| 1854 |
-
|
| 1855 |
-
|
| 1856 |
-
|
| 1857 |
-
else:
|
| 1858 |
-
|
| 1859 |
-
|
| 1860 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1861 |
|
| 1862 |
-
# μμ κ²μ
|
| 1863 |
-
search_result = system.search_formulas(query, user_id, document_path, k)
|
| 1864 |
|
| 1865 |
if search_result["success"]:
|
| 1866 |
# κ²μ κ²°κ³Όλ₯Ό μλ΅ νμμΌλ‘ λ³ν
|
|
@@ -1905,13 +1924,20 @@ async def search_latex_formulas(
|
|
| 1905 |
async def get_latex_ocr_faiss_status():
|
| 1906 |
"""LaTeX-OCR + FAISS μμ€ν
μν νμΈ"""
|
| 1907 |
try:
|
| 1908 |
-
|
| 1909 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1910 |
|
| 1911 |
return {
|
| 1912 |
-
"simple_system_initialized":
|
| 1913 |
-
"integrated_system_initialized":
|
| 1914 |
-
"status": "
|
|
|
|
| 1915 |
}
|
| 1916 |
except Exception as e:
|
| 1917 |
logger.error(f"μν νμΈ μ€λ₯: {e}")
|
|
|
|
| 1778 |
# """LaTeX-OCR + FAISS μμ€ν
μ΄κΈ°ν"""
|
| 1779 |
# global latex_ocr_faiss_simple, latex_ocr_faiss_integrated
|
| 1780 |
# try:
|
| 1781 |
+
# latex_ocr_faiss_simple = LatexOCRFAISSSimple()
|
| 1782 |
+
# latex_ocr_faiss_integrated = LatexOCRFAISSIntegrated()
|
| 1783 |
# logger.info("β
LaTeX-OCR + FAISS μμ€ν
μ΄κΈ°ν μλ£")
|
| 1784 |
# except Exception as e:
|
| 1785 |
# logger.error(f"β LaTeX-OCR + FAISS μμ€ν
μ΄κΈ°ν μ€ν¨: {e}")
|
|
|
|
| 1801 |
content = await file.read()
|
| 1802 |
f.write(content)
|
| 1803 |
|
| 1804 |
+
# μμ€ν
μ ν (μ£Όμ μ²λ¦¬λ¨ - μμ λ λͺ¨λ)
|
| 1805 |
+
# if system_type == "simple":
|
| 1806 |
+
# if not latex_ocr_faiss_simple:
|
| 1807 |
+
# init_latex_ocr_faiss_systems()
|
| 1808 |
+
# system = latex_ocr_faiss_simple
|
| 1809 |
+
# else:
|
| 1810 |
+
# if not latex_ocr_faiss_integrated:
|
| 1811 |
+
# init_latex_ocr_faiss_systems()
|
| 1812 |
+
# system = latex_ocr_faiss_integrated
|
| 1813 |
+
|
| 1814 |
+
# μμ μ²λ¦¬ - κΈ°λ₯ λΉνμ±ν
|
| 1815 |
+
return DocumentUploadResponse(
|
| 1816 |
+
success=False,
|
| 1817 |
+
document_id="",
|
| 1818 |
+
message="LaTeX-OCR + FAISS κΈ°λ₯μ΄ νμ¬ λΉνμ±νλμ΄ μμ΅λλ€",
|
| 1819 |
+
error="μμ λ λͺ¨λλ‘ μΈν΄ κΈ°λ₯μ΄ λΉνμ±νλ¨"
|
| 1820 |
+
)
|
| 1821 |
|
| 1822 |
+
# PDF μ²λ¦¬ (μ£Όμ μ²λ¦¬λ¨)
|
| 1823 |
+
# result = system.process_pdf_with_latex(str(file_path), user_id)
|
| 1824 |
|
| 1825 |
if result["success"]:
|
| 1826 |
return DocumentUploadResponse(
|
|
|
|
| 1857 |
):
|
| 1858 |
"""μ μ₯λ LaTeX μμ κ²μ"""
|
| 1859 |
try:
|
| 1860 |
+
# μμ€ν
μ ν (μ£Όμ μ²λ¦¬λ¨ - μμ λ λͺ¨λ)
|
| 1861 |
+
# if system_type == "simple":
|
| 1862 |
+
# if not latex_ocr_faiss_simple:
|
| 1863 |
+
# init_latex_ocr_faiss_systems()
|
| 1864 |
+
# system = latex_ocr_faiss_simple
|
| 1865 |
+
# else:
|
| 1866 |
+
# if not latex_ocr_faiss_integrated:
|
| 1867 |
+
# init_latex_ocr_faiss_systems()
|
| 1868 |
+
# system = latex_ocr_faiss_integrated
|
| 1869 |
+
|
| 1870 |
+
# μμ μ²λ¦¬ - κΈ°λ₯ λΉνμ±ν
|
| 1871 |
+
return RAGResponse(
|
| 1872 |
+
success=False,
|
| 1873 |
+
response="LaTeX-OCR + FAISS κ²μ κΈ°λ₯μ΄ νμ¬ λΉνμ±νλμ΄ μμ΅λλ€",
|
| 1874 |
+
context="",
|
| 1875 |
+
sources=[],
|
| 1876 |
+
search_results=0,
|
| 1877 |
+
processing_time=0.0,
|
| 1878 |
+
error="μμ λ λͺ¨λλ‘ μΈν΄ κΈ°λ₯μ΄ λΉνμ±νλ¨"
|
| 1879 |
+
)
|
| 1880 |
|
| 1881 |
+
# μμ κ²μ (μ£Όμ μ²λ¦¬λ¨)
|
| 1882 |
+
# search_result = system.search_formulas(query, user_id, document_path, k)
|
| 1883 |
|
| 1884 |
if search_result["success"]:
|
| 1885 |
# κ²μ κ²°κ³Όλ₯Ό μλ΅ νμμΌλ‘ λ³ν
|
|
|
|
| 1924 |
async def get_latex_ocr_faiss_status():
|
| 1925 |
"""LaTeX-OCR + FAISS μμ€ν
μν νμΈ"""
|
| 1926 |
try:
|
| 1927 |
+
# μ£Όμ μ²λ¦¬λ¨ - μμ λ λͺ¨λ
|
| 1928 |
+
# simple_status = latex_ocr_faiss_simple is not None
|
| 1929 |
+
# integrated_status = latex_ocr_faiss_integrated is not None
|
| 1930 |
+
# return {
|
| 1931 |
+
# "simple_system_initialized": simple_status,
|
| 1932 |
+
# "integrated_system_initialized": integrated_status,
|
| 1933 |
+
# "status": "ready" if (simple_status or integrated_status) else "not_initialized"
|
| 1934 |
+
# }
|
| 1935 |
|
| 1936 |
return {
|
| 1937 |
+
"simple_system_initialized": False,
|
| 1938 |
+
"integrated_system_initialized": False,
|
| 1939 |
+
"status": "disabled",
|
| 1940 |
+
"message": "LaTeX-OCR + FAISS κΈ°λ₯μ΄ νμ¬ λΉνμ±νλμ΄ μμ΅λλ€"
|
| 1941 |
}
|
| 1942 |
except Exception as e:
|
| 1943 |
logger.error(f"μν νμΈ μ€λ₯: {e}")
|