Compare commits

..

2 Commits

Author SHA1 Message Date
aliakbar 6bf2690398 Fix dockrization problems 2026-06-30 14:55:02 +03:30
siavash 62e76f9044 Initial commit 2026-06-27 04:27:26 +00:00
6 changed files with 209 additions and 38 deletions
+180 -1
View File
@@ -1,3 +1,4 @@
<<<<<<< HEAD
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ __pycache__/
*.py[codz] *.py[codz]
@@ -209,4 +210,182 @@ __marimo__/
#custom #custom
data/* data/*
db/* db/*
instance/* instance/*
=======
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# Ruff stuff:
.ruff_cache/
# PyPI configuration file
.pypirc
>>>>>>> 62e76f904432a8905dc0c58c62c88090d88d038d
+6 -1
View File
@@ -1 +1,6 @@
# Meyar <<<<<<< HEAD
# Meyar
=======
# Meyar
>>>>>>> 62e76f904432a8905dc0c58c62c88090d88d038d
+11 -20
View File
@@ -2,32 +2,23 @@ FROM python:3.11-slim
WORKDIR /app WORKDIR /app
# Install system dependencies COPY requirements.txt .
RUN apt-get update && apt-get install -y \
gcc \ RUN apt-get update && apt-get install -y --no-install-recommends \
g++ \
build-essential \
curl \ curl \
wget \ wget \
git \ git \
&& rm -rf /var/lib/apt/lists/* build-essential \
cmake \
&& rm -rf /var/lib/apt/lists/* \
&& pip install --no-cache-dir --upgrade pip wheel setuptools \
&& pip install --no-cache-dir --upgrade langchain langchain-core langchain-community \
&& pip install --no-cache-dir -r requirements.txt \
&& apt-get purge -y --auto-remove build-essential cmake
# Copy requirements first for better caching
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir wheel setuptools && \
pip install --no-cache-dir -r requirements.txt && \
pip install fastapi==0.111.0
pip install torch==2.1.0 --index-url https://download.pytorch.org/whl/cpu
# Copy application code
COPY . . COPY . .
# Create necessary directories
RUN mkdir -p /app/faiss_index /root/.cache/huggingface RUN mkdir -p /app/faiss_index /root/.cache/huggingface
# Expose port
EXPOSE 8000 EXPOSE 8000
CMD ["python", "main.py"]
# Run the application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
+3 -3
View File
@@ -3,14 +3,14 @@ import signal
import threading import threading
application = Application()
def main(): def main():
app = Application()
try: try:
app.run_fastapi() application.run_fastapi()
except KeyboardInterrupt: except KeyboardInterrupt:
print("\nFastAPI server interrupted.") print("\nFastAPI server interrupted.")
finally: finally:
print("Application shutdown complete.") print("Application shutdown complete.")
if __name__ == "__main__": if __name__ == "__main__":
main() main()
+9 -13
View File
@@ -1,7 +1,3 @@
# Python Package Requirements (generated from conda 'nlp' environment)
# Note: System/Conda-specific packages (like cuda, blas, compilers) have been filtered out.
# It is recommended to use within a Python virtual environment.
# Core ML & Data Science # Core ML & Data Science
numpy==1.26.4 numpy==1.26.4
pandas==2.3.3 pandas==2.3.3
@@ -20,9 +16,9 @@ faiss-cpu==1.9.0
hnswlib==0.8.0 hnswlib==0.8.0
# LangChain Ecosystem # LangChain Ecosystem
langchain==0.3.27 langchain==0.3.30
langchain-core==0.3.79 langchain-core==0.3.85
langchain-community==0.3.27 langchain-community==0.3.30
langchain-openai==0.3.35 langchain-openai==0.3.35
langchain-anthropic==0.3.22 langchain-anthropic==0.3.22
langchain-huggingface==0.3.1 langchain-huggingface==0.3.1
@@ -31,6 +27,7 @@ langgraph==1.0.1
langgraph-checkpoint==3.0.1 langgraph-checkpoint==3.0.1
langgraph-sdk==0.2.9 langgraph-sdk==0.2.9
langsmith==0.4.32 langsmith==0.4.32
langmem==0.0.30
# LLM Libraries & APIs # LLM Libraries & APIs
openai==2.8.0 openai==2.8.0
@@ -41,9 +38,9 @@ sentence-transformers==5.1.2
llama-cpp-python==0.3.16 llama-cpp-python==0.3.16
# Web & Async # Web & Async
fastapi==0.111.0 fastapi==0.134.0
uvicorn==0.29.0 uvicorn==0.34.0
starlette==0.37.2 starlette==0.46.0
pydantic==2.12.3 pydantic==2.12.3
pydantic-core==2.41.4 pydantic-core==2.41.4
pydantic-settings==2.11.0 pydantic-settings==2.11.0
@@ -102,7 +99,7 @@ optree==0.17.0
typing-extensions==4.15.0 typing-extensions==4.15.0
importlib-metadata==8.7.0 importlib-metadata==8.7.0
packaging==25.0 packaging==25.0
requests==2.32.3 requests==2.32.5 # ⬅️ Upgraded from 2.32.3 to 2.32.5
urllib3==2.5.0 urllib3==2.5.0
certifi==2025.11.12 certifi==2025.11.12
charset-normalizer==3.4.4 charset-normalizer==3.4.4
@@ -113,7 +110,6 @@ argon2-cffi==21.3.0
python-multipart==0.0.20 python-multipart==0.0.20
trustcall==0.0.39 trustcall==0.0.39
dydantic==0.0.8 dydantic==0.0.8
langmem==0.0.30
distro==1.9.0 distro==1.9.0
webencodings==0.5.1 webencodings==0.5.1
zstandard==0.25.0 zstandard==0.25.0