Metadata-Version: 2.4
Name: rag-forge-core
Version: 0.2.3
Summary: RAG pipeline primitives: ingestion, retrieval, context management, and security
Project-URL: Homepage, https://github.com/hallengray/rag-forge
Project-URL: Repository, https://github.com/hallengray/rag-forge
Project-URL: Issues, https://github.com/hallengray/rag-forge/issues
Project-URL: Documentation, https://github.com/hallengray/rag-forge#readme
Author: Femi Adedayo
License-Expression: MIT
Keywords: chunking,embedding,llm,pipeline,rag,retrieval-augmented-generation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Requires-Dist: beautifulsoup4>=4.12
Requires-Dist: bm25s>=0.2
Requires-Dist: lxml>=5.0
Requires-Dist: openai>=1.30
Requires-Dist: opentelemetry-api>=1.20
Requires-Dist: pydantic>=2.0
Requires-Dist: pymupdf>=1.24
Requires-Dist: qdrant-client>=1.9
Requires-Dist: rich>=13.0
Requires-Dist: tiktoken>=0.7
Provides-Extra: cohere
Requires-Dist: cohere>=5.0; extra == 'cohere'
Provides-Extra: local
Requires-Dist: sentence-transformers>=3.0; extra == 'local'
Provides-Extra: presidio
Requires-Dist: presidio-analyzer>=2.2; extra == 'presidio'
Provides-Extra: redis
Requires-Dist: redis>=5.0; extra == 'redis'
Description-Content-Type: text/markdown

# rag-forge-core

RAG pipeline primitives for the RAG-Forge toolkit: ingestion, chunking, retrieval, context management, and security.

## Installation

```bash
pip install rag-forge-core
```

## Usage

This package provides the building blocks used by the `rag-forge` CLI. For end-user usage, see the [main RAG-Forge documentation](https://github.com/hallengray/rag-forge#readme).

```python
from rag_forge_core.chunking.factory import create_chunker
from rag_forge_core.chunking.config import ChunkConfig

chunker = create_chunker(ChunkConfig(strategy="recursive", chunk_size=512))
chunks = chunker.chunk("Some long document text...", source="doc.md")
```

## Modules

- `rag_forge_core.chunking` — Five chunking strategies (recursive, fixed, semantic, structural, llm-driven)
- `rag_forge_core.retrieval` — Dense, sparse, and hybrid retrieval with reranking
- `rag_forge_core.security` — InputGuard, OutputGuard, PII scanning, prompt injection detection
- `rag_forge_core.context` — Contextual enrichment and semantic caching
- `rag_forge_core.plugins` — Plugin registry for custom extensions

## License

MIT
