ADR 002 · Accepted

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:

  • CompletionService: Text generation with format control.

  • EmbeddingService: Vector operations with caching.

  • VisionService: Image analysis with specialized prompts.

  • TranslationService: Language translation with quality scoring.

Each service:

  • Uses LlmServiceManager internally.

  • 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)

← All ADRs