Livrare LOT 1 - Didi
This commit is contained in:
commit
5380c3fc63
990 changed files with 133308 additions and 0 deletions
82
ai_platform/modules/llm-inference/pyproject.toml
Normal file
82
ai_platform/modules/llm-inference/pyproject.toml
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
[project]
|
||||
name = "llm-inference"
|
||||
version = "0.1.0"
|
||||
description = "Unified LLM inference with multiple backends (LiteLLM, vLLM, llama.cpp)"
|
||||
requires-python = ">=3.10"
|
||||
readme = "README.md"
|
||||
|
||||
dependencies = [
|
||||
# Core dependencies (always installed)
|
||||
"litellm>=1.50.0,<2.0",
|
||||
"fastapi>=0.115.0,<0.116",
|
||||
"uvicorn[standard]>=0.32.0",
|
||||
"pydantic>=2.0,<3.0",
|
||||
"pydantic-settings>=2.0,<3.0",
|
||||
"httpx>=0.27.0,<1.0",
|
||||
"sse-starlette>=2.0,<3.0",
|
||||
"prometheus-client>=0.20.0",
|
||||
"prometheus-fastapi-instrumentator>=7.0.0",
|
||||
"opentelemetry-instrumentation-fastapi>=0.50b0",
|
||||
"opentelemetry-exporter-otlp-proto-grpc>=1.30.0",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
# vLLM backend (GPU inference via OpenAI-compatible API)
|
||||
vllm = [
|
||||
"openai>=1.50.0,<2.0",
|
||||
]
|
||||
|
||||
# llama.cpp backend (CPU/Metal inference via OpenAI-compatible API)
|
||||
llamacpp = [
|
||||
"openai>=1.50.0,<2.0",
|
||||
]
|
||||
|
||||
# All local inference backends
|
||||
local = [
|
||||
"llm-inference[vllm,llamacpp]",
|
||||
]
|
||||
|
||||
# Development dependencies
|
||||
dev = [
|
||||
"pytest>=8.0",
|
||||
"pytest-cov>=4.0",
|
||||
"pytest-asyncio>=0.24.0",
|
||||
"ruff>=0.8",
|
||||
"mypy>=1.0",
|
||||
"respx>=0.21.0",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
llm-inference = "llm_inference.cli:main"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["src/llm_inference"]
|
||||
|
||||
[tool.ruff]
|
||||
extend = "../../ruff.toml"
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
testpaths = ["tests"]
|
||||
addopts = "-v --tb=short"
|
||||
markers = [
|
||||
"e2e: End-to-end tests against real running server",
|
||||
"slow: Tests that make real LLM API calls (cost money, slower)",
|
||||
]
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.10"
|
||||
strict = true
|
||||
warn_return_any = true
|
||||
warn_unused_ignores = true
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"pytest>=9.0.2",
|
||||
"pytest-asyncio>=1.3.0",
|
||||
"ruff>=0.14.11",
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue