Skip to main content

A Python project for FloTorch

Project description

🚀 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flotorch_core-2.9.3.tar.gz (57.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flotorch_core-2.9.3-py3-none-any.whl (88.7 kB view details)

Uploaded Python 3

File details

Details for the file flotorch_core-2.9.3.tar.gz.

File metadata

  • Download URL: flotorch_core-2.9.3.tar.gz
  • Upload date:
  • Size: 57.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.0

File hashes

Hashes for flotorch_core-2.9.3.tar.gz
Algorithm Hash digest
SHA256 9bf1e6aead97ff03e53dab048198d93265b27b8bbefea0dadbc920691f4992a4
MD5 01cebf7c54f89f7e6f92c4e49b9f9c90
BLAKE2b-256 8430a9235576da07f3c8f561d2988ff45a5b586c0b903a0700c3e12d80bad6ab

See more details on using hashes here.

File details

Details for the file flotorch_core-2.9.3-py3-none-any.whl.

File metadata

  • Download URL: flotorch_core-2.9.3-py3-none-any.whl
  • Upload date:
  • Size: 88.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.0

File hashes

Hashes for flotorch_core-2.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e5025d62fd2e585bc2e7cace4e36d64d68219476deaf0726f2e69c8b81d2a72b
MD5 e00b73f32da341384aaa0c2dbd720b48
BLAKE2b-256 2f64c030809aa3077881773ed2119255dc085feaec4c685e301529901895631d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page