Metadata-Version: 2.4
Name: semanticopz
Version: 0.1.0
Summary: A semantic optimization and chunking library.
Author-email: Author <author@example.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pypdf>=3.0.0
Requires-Dist: python-docx>=0.8.11
Provides-Extra: embeddings
Requires-Dist: openai>=1.0.0; extra == "embeddings"
Requires-Dist: sentence-transformers>=2.2.2; extra == "embeddings"
Provides-Extra: index
Requires-Dist: numpy>=1.20.0; extra == "index"
Requires-Dist: faiss-cpu>=1.7.0; extra == "index"
Provides-Extra: all
Requires-Dist: openai>=1.0.0; extra == "all"
Requires-Dist: sentence-transformers>=2.2.2; extra == "all"
Requires-Dist: numpy>=1.20.0; extra == "all"
Requires-Dist: faiss-cpu>=1.7.0; extra == "all"

# Semanticopz

Semantic optimization tools.

## Features

- **Document Loaders**: Extract text and metadata from PDF, DOCX, TXT, and Markdown files.
- **Text Chunkers**: Split documents into manageable pieces using standard size or recursive semantic boundaries (`CharacterChunker`, `RecursiveCharacterChunker`).
- **Embedders**: Convert text into vector embeddings using local models (`HuggingFaceEmbedder`) or external APIs (`OpenAIEmbedder`).
- **Vector Indices**: Store and search vectors efficiently in-memory (`InMemoryExactIndex`) or using Faiss (`FaissIndex`).
- **Semantic Search**: An orchestrator pipeline (`SemanticSearch`) that ties loaders, chunkers, embedders, and indices together into a one-stop interface.
## Installation

```bash
pip install -e .
```
