🚀 FloTorch-core
FloTorch-core is a modular and extensible Python framework for building LLM-powered RAG (Retrieval-Augmented Generation) pipelines. It offers plug-and-play components for embeddings, chunking, retrieval, gateway-based LLM calls, and RAG evaluation.
✨ Features
- 🧩 Text Chunking (Fixed-size, Hierarchical)
- 🧠 Embedding Models (Titan, Cohere, Bedrock)
- 🔍 Document Retrieval (OpenSearch + Vector Storage)
- 💻 Bedrock/sagemaker/gateway inferencer
- 🔌 Unified LLM Gateway (OpenAI, Bedrock, Ollama, etc.)
- 📏 RAG Evaluation (RAGAS Metrics)
- ☁️ AWS Integration (S3, DynamoDB, Lambda)
- 🧢 Built-in Testing Support
📆 Installation
pip install FloTorch-core
To install development dependencies:
pip install FloTorch-core[dev]
📂 Project Structure
flotorch/
├── inferencer/ # LLM gateway/bedrock/sagemaker interface
├── embedding/ # Embedding models
├── chunking/ # Text chunking logic
├── evaluator/ # RAG evaluation (RAGAS)
├── storage/ # Vector DB, S3, DynamoDB
├── util/ # Utilities and helpers
├── rerank/ # Ranking documents
├── guardrails/ # Enabling guardrails
├── reader/ # reader for json/pdf
📖 Usage Example
Reader
from flotorch_core.reader.json_reader import JSONReader
from flotorch_core.storage.s3_storage import S3StorageProvider
json_reader = JSONReader(S3StorageProvider(<S3 bucket>))
json_reader.read(<path>)
Embedding
from flotorch_core.embedding.embedding_registry import embedding_registry
embedding_class = embedding_registry.get_model(<model id>)
# model id example: amazon.titan-text-express-v1, amazon.titan-embed-text-v2:0, cohere.embed-multilingual-v3
Vector storage (opensearch)
from flotorch_core.storage.db.vector.open_search import OpenSearchClient
vector_storage_object = OpenSearchClient(
<opensearch_host>,
<opensearch_port>,
<opensearch_username>,
<opensearch_password>,
<index_id>,
<embedding object>
)
Vector storage (bedrock knowledgebase)
from flotorch_core.storage.db.vector.bedrock_knowledgebase_storage import BedrockKnowledgeBaseStorage
vector_storage_object = BedrockKnowledgeBaseStorage(
knowledge_base_id=<knowledge_base_id>,
region=<aws_region>
)
Guardrails over vector storage
from flotorch_core.storage.db.vector.guardrails_vector_storage import GuardRailsVectorStorage
base_guardrails = BedrockGuardrail(<guardrail_id>, <guardrail_version>, <aws_region>)
vector_storage_object = GuardRailsVectorStorage(
vector_storage_object,
base_guardrails,
<enable_prompt_guardrails(True/False)>,
<enable_context_guardrails(True/False)>
)
Inferencer
from flotorch_core.inferencer.bedrock_inferencer import BedrockInferencer
from flotorch_core.inferencer.gateway_inferencer import GatewayInferencer
from flotorch_core.inferencer.sagemaker_inferencer import SageMakerInferencer
inferencer = BedrockInferencer(
<model_id>,
<region>,
<number of n_shot_prompts>,
<temperature>,
<n_shot_prompt_guide_obj>
)
inferencer = GatewayInferencer(
model_id=<model_id>,
api_key=<api_key>,
base_url=<base_url>,
n_shot_prompts=<n_shot_prompts>,
n_shot_prompt_guide_obj=<n_shot_prompt_guide_obj>
)
inferencer = SageMakerInferencer(
<model_id>,
<region>,
<arn_role>,
<n_shot_prompts>,
<temperature>,
<n_shot_prompt_guide_obj>
)
GuardRail over inferencer
from flotorch_core.inferencer.guardrails.guardrails_inferencer import GuardRailsInferencer
inferencer = GuardRailsInferencer(inferencer, base_guardrails)
📬 Maintainer
Shiva Krishna
📧 Email: shiva.krishnaah@gmail.com
Adil Raza
📧 Email: adilraza.9752@gmail.com
📄 License
This project is licensed under the MIT License.
🌐 Links
Metadata
Release files for FloTorch-core 2.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flotorch_core-2.10.0.tar.gz | 65.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flotorch_core-2.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 163.3 kB
Release files / flotorch_core-2.10.0.tar.gz
| Download URL | flotorch_core-2.10.0.tar.gz |
|---|---|
| Size | 65.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d329082ac923e70c54c3e691bc255758a9e567cb60c46f4f44286174e4f4bd67
|
|
BLAKE2b-256 checksum How to use checksums |
ebe5f8ca052ba371e25337a3853e266e0db4b4d782c77400f01f99467ac2f785
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / flotorch_core-2.10.0-py3-none-any.whl
| Download URL | flotorch_core-2.10.0-py3-none-any.whl |
|---|---|
| Size | 97.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0443125b8585a5ceada49a8411d6833e8375b66de1d8d82003887bce516f90f
|
|
BLAKE2b-256 checksum How to use checksums |
9b13b4cc1c06910d8863cee9c1dbc23706738e04ef06125530dd0904909a0d62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|