Files
llm-connect/INTENT.md
tegwick 66dfc7cf06
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
Added INTENT.md file and reviewed scope
2026-05-03 17:46:24 +02:00

96 lines
3.1 KiB
Markdown

# INTENT
## Purpose
This repository exists to provide a **provider-neutral interface for interacting with large language models (LLMs)** in Python.
It ensures that applications can use LLM capabilities without being tightly coupled to any specific provider, API, or execution environment.
---
## Primary Utility
The repository provides a **unified adapter layer** that:
* Abstracts over multiple LLM providers and execution modes
* Standardizes request, response, and configuration handling
* Enables interchangeable use of hosted APIs and local tooling (e.g. CLI-based models)
* Supports embeddings, token estimation, and related primitives
* Enables dynamic utility by cost optimizations
It transforms heterogeneous LLM ecosystems into a **consistent, composable programming interface**.
---
## Intended Users
* Application developers integrating LLM capabilities into their systems
* Library and framework authors requiring provider-agnostic LLM primitives
* Automation systems (`atm`) orchestrating LLM-assisted workflows
* LLM agents (`agt`) operating across different model providers
---
## Strategic Role in the System
This repository acts as the **LLM abstraction layer** within the broader system:
* It decouples **application logic from provider-specific implementations**
* It enables **runtime flexibility and provider switching without code changes**
* It supports architectures where LLM usage is **optional, replaceable, and testable**
It allows higher-level systems to treat LLMs as **pluggable capabilities rather than fixed dependencies**.
---
## Strategic Boundaries
This repository is **not** intended to:
* Provide application-level agent frameworks or workflows
* Define prompting strategies, routing policies, or domain-specific logic
* Manage secrets, credentials, or organizational access policies
* Own or implement LLM providers themselves
Its responsibility is limited to **clean abstraction and integration of LLM capabilities**.
---
## Design Principles
* **Abstraction over providers**
Consumers depend on a stable adapter interface, not on vendor APIs
* **Composability**
LLM functionality should be usable as a building block in larger systems
* **Replaceability**
Providers and execution modes must be interchangeable without affecting consumers
* **Deterministic integration boundaries**
Non-LLM logic must remain testable and independent of LLM variability
* **Minimal opinionation**
The library provides primitives, not policies
---
## Maturity Target
A mature version of this repository should:
* Provide a **stable, versioned core adapter contract** for LLM interaction
* Support a broad range of providers and execution environments
* Enable **seamless switching and fallback between providers**
* Offer consistent handling of **responses, errors, and usage metrics**
* Serve as the **default integration layer for LLM capabilities** across dependent systems
---
## Stability Note
Changes to this file represent a **deliberate shift in the abstraction boundaries or role** of this repository.
Such changes should be rare, as they affect all downstream systems relying on provider-neutral LLM integration.