-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathpyproject.toml
More file actions
124 lines (106 loc) · 2.89 KB
/
pyproject.toml
File metadata and controls
124 lines (106 loc) · 2.89 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[tool.poetry]
name = "aidial-rag"
version = "0.41.0rc"
description = "The Dial RAG answers user questions using information from the documents provided by user."
authors = ["EPAM RAIL <SpecialEPM-DIALDevTeam@epam.com>"]
homepage = "https://dialx.ai"
documentation = "https://docs.dialx.ai/"
license = "Apache-2.0"
readme = "README.md"
keywords = ["ai"]
classifiers = [
"Topic :: Software Development :: Libraries :: Python Modules"
]
repository = "https://github.com/epam/ai-dial-rag"
[tool.poetry.dependencies]
python = ">=3.11,<3.12"
fastapi = "^0.120.3"
uvicorn = "0.22.0"
openai = "^1.42.0"
docarray = "0.39.1"
langchain = "^0.3.21"
langchain-community = "^0.3.29"
langchain-openai = "^0.3.11"
aidial-sdk = {extras = ["telemetry"], version = "^0.21.0"}
pypdf = "^6.7.2"
beautifulsoup4 = "4.12.2"
rank-bm25 = "0.2.2"
sentence-transformers = {version = "3.3.1", extras = ["openvino"]}
tiktoken = "^0.7.0"
cachetools = "5.3.1"
unstructured = {version = "0.18.32", extras = ["doc", "docx", "pdf", "ppt", "pptx", "xlsx"]}
python-magic-bin = {version = "^0.4.14", platform = "win32"}
nltk = "^3.9.1"
humanfriendly = "10.0"
pyinstrument = "4.6.1"
more-itertools = "^10.1.0"
tqdm = "^4.67.1"
torch = "^2.7.0"
onnx = "^1.17.0"
jinja2 = "^3.1.6"
aiohttp = "^3.13.3"
python-multipart = "^0.0.22"
transformers = "^4.53.0"
openvino = "^2025.2.0"
starlette = "^0.49.1"
virtualenv = "^20.36.1"
langchain-huggingface = "^0.1.2"
pydantic-settings = "^2.8.1"
deepmerge = "^2.0"
pdfplumber = "^0.11.9"
[[tool.poetry.source]]
name = "PyPI"
priority = "primary"
[[tool.poetry.source]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
priority = "explicit"
[tool.poetry.group.test.dependencies]
pytest = "^8.2.0"
pytest-asyncio = "^0.24.0"
coverage = {extras = ["toml"], version = "^7.3.4"}
pytest-cov = "^4.1.0"
aioresponses = "^0.7.8"
[tool.poetry.group.doc.dependencies]
settings-doc = "^4.3.2"
[tool.poetry.group.nox.dependencies]
nox = "^2024.3.2"
[tool.poetry.group.eval]
optional = true
[tool.poetry.group.eval.dependencies]
aidial-rag-eval = "^0.2.0"
[tool.poetry.group.lint.dependencies]
pyright = "^1.1.400"
ruff = "^0.11.7"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
log_level = "INFO"
[tool.ruff]
target-version = "py311"
line-length = 80
[tool.ruff.lint]
select = [
"B", "B9", # flake8-bugbear
"C", # McCabe complexity
"E", "W", # pycodestyle
"F", # pyflakes
"I", # flake8-isort
"S", # flake8-bandit
]
ignore = [
"E501", # E501 string literal is too long
"E203", # E203 whitespace before ':' (triggered on list slices like xs[i : i + 5])
"S101", # S101 checks for uses of the `assert` keyword.
]
[tool.pyright]
typeCheckingMode = "basic"
reportUnusedVariable = "error"
reportIncompatibleMethodOverride = "error"
exclude = [
".git",
".venv",
".nox",
"**/__pycache__"
]