managarten/services/mana-llm/requirements.txt
Till JS dff8629e1d feat(mana-llm): M1 — AliasRegistry + aliases.yaml SSOT
First milestone of the LLM-fallback plan (docs/plans/llm-fallback-aliases.md).
Introduces the `mana/<class>` namespace; the registry parses + validates
aliases.yaml at startup and reloads on demand. Schema-rejects empty
chains, missing provider prefixes, alias names outside the reserved
namespace, default→unknown references, etc.

Reload semantics: parse error keeps the previous good state in memory
so a typo + SIGHUP doesn't take the service down.

5 aliases ship with the initial config: fast-text, long-form, structured,
reasoning, vision. Each chain ends with a cloud provider so the system
keeps working when the GPU server is offline.

32 unit tests covering happy path, schema validation, namespace check,
reload safety, and a guard that the shipped aliases.yaml itself parses.
M2 (health-cache + probe-loop) and M3 (router fallback execution) build
on this; aliases are not yet wired into the request path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:23:51 +02:00

29 lines
382 B
Text

# Core
fastapi>=0.115.0
uvicorn[standard]>=0.32.0
pydantic>=2.10.0
pydantic-settings>=2.6.0
# HTTP Client
httpx>=0.28.0
# Streaming
sse-starlette>=2.2.0
# Caching (optional)
redis>=5.2.0
# Google Gemini
google-genai>=1.0.0
# Metrics
prometheus-client>=0.21.0
# Config (alias registry)
pyyaml>=6.0.2
# Dev
pytest>=8.3.0
pytest-asyncio>=0.24.0
pytest-httpx>=0.35.0
ruff>=0.8.0