ADR-002: Feature Services Architecture
Status
Accepted (2024-02)
Context
Common LLM tasks (translation, image analysis, embeddings) require:
- Specialized prompts and configurations
- Pre/post-processing logic
- Caching strategies
- Quality control measures
Decision
Create dedicated Feature Services for high-level operations:
Completion: Text generation with format control.Service Embedding: Vector operations with caching.Service Vision: Image analysis with specialized prompts.Service Translation: Language translation with quality scoring.Service
Each service:
- Uses
Llminternally.Service Manager - Provides domain-specific methods.
- Handles caching and optimization.
- Returns typed response objects.
Consequences
Positive:
- ●● Clear separation of concerns.
- ● Reusable, tested implementations.
- ●● Consistent behavior across use cases.
- ● Built-in best practices (caching, prompts).
Negative:
- ◑ Additional classes to maintain.
- ◑ Potential duplication with manager methods.
- ◑ Learning curve for service selection.
Net Score: +6.5 (Strong positive impact - services provide high-level abstractions with best practices)