Added INTENT.md file and reviewed scope
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

This commit is contained in:
2026-05-03 17:46:24 +02:00
parent 665e925be6
commit 66dfc7cf06
2 changed files with 97 additions and 4 deletions

95
INTENT.md Normal file
View File

@@ -0,0 +1,95 @@
# 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.

View File

@@ -1,7 +1,7 @@
# llm-connect # llm-connect
Pluggable LLM adapters for Python. Supports OpenRouter, Gemini, OpenAI, and Pluggable LLM adapters for Python and the commandline. Supports OpenRouter, Gemini,
the Claude Code CLI out of the box, with a clean abstract interface for adding OpenAI, and the Claude Code CLI out of the box, with a clean abstract interface for adding
your own. your own.
## Quick start ## Quick start
@@ -31,8 +31,6 @@ pip install llm-connect
|---|---|---| |---|---|---|
| `"openrouter"` | `OpenRouterAdapter` | OpenAI-compatible endpoint; supports all OpenRouter models | | `"openrouter"` | `OpenRouterAdapter` | OpenAI-compatible endpoint; supports all OpenRouter models |
| `"gemini"` | `GeminiAdapter` | Google Generative Language REST API; supports free tier | | `"gemini"` | `GeminiAdapter` | Google Generative Language REST API; supports free tier |
| `"openai"` | `OpenAIAdapter` | OpenAI chat completions endpoint |
| `"claude-code"` | `ClaudeCodeAdapter` | Shells out to the `claude --print` CLI; no API key needed |
```python ```python
from llm_connect import create_adapter from llm_connect import create_adapter