Skip to main content

Building blocks for rapid development of GenAI applications

Project description

Ragbits

Building blocks for rapid development of GenAI applications

Documentation | Contact

PyPI - License PyPI - Version PyPI - Python Version


Features

🔨 Build Reliable & Scalable GenAI Apps

📚 Fast & Flexible RAG Processing

  • Ingest 20+ formats – Process PDFs, HTML, spreadsheets, presentations, and more. Process data using unstructured or create a custom provider.
  • Handle complex data – Extract tables, images, and structured content with built-in VLMs support.
  • Connect to any data source – Use prebuilt connectors for S3, GCS, Azure, or implement your own.
  • Scale ingestion – Process large datasets quickly with Ray-based parallel processing.

🚀 Deploy & Monitor with Confidence

  • Real-time observability – Track performance with OpenTelemetry and CLI insights.
  • Built-in testing – Validate prompts with promptfoo before deployment.
  • Auto-optimization – Continuously evaluate and refine model performance.
  • Visual testing UI (Coming Soon) – Test and optimize applications with a visual interface.

What's Included?

  • Core - Fundamental tools for working with prompts and LLMs.
  • Document Search - Handles vector search to retrieve relevant documents.
  • CLI - The ragbits shell command, enabling tools such as GUI prompt management.
  • Guardrails - Ensures response safety and relevance.
  • Evaluation - Unified evaluation framework for Ragbits components.
  • Flow Controls - Manages multi-stage chat flows for performing advanced actions (coming soon).
  • Structured Querying - Queries structured data sources in a predictable manner (coming soon).
  • Caching - Adds a caching layer to reduce costs and response times (coming soon).

Installation

To use the complete Ragbits stack, install the ragbits package:

pip install ragbits

Alternatively, you can use individual components of the stack by installing their respective packages: ragbits-core, ragbits-document-search, ragbits-cli.

Quickstart

First, create a prompt and a model for the data used in the prompt:

from pydantic import BaseModel
from ragbits.core.prompt import Prompt

class Dog(BaseModel):
    breed: str
    age: int
    temperament: str

class DogNamePrompt(Prompt[Dog, str]):
    system_prompt = """
    You are a dog name generator. You come up with funny names for dogs given the dog details.
    """

    user_prompt = """
    The dog is a {breed} breed, {age} years old, and has a {temperament} temperament.
    """

Next, create an instance of the LLM and the prompt:

from ragbits.core.llms.litellm import LiteLLM

llm = LiteLLM("gpt-4o")
example_dog = Dog(breed="Golden Retriever", age=3, temperament="friendly")
prompt = DogNamePrompt(example_dog)

Finally, generate a response from the LLM using the prompt:

response = await llm.generate(prompt)
print(f"Generated dog name: {response}")

How Ragbits documentation is organized

  • Quickstart - Get started with Ragbits in a few minutes
  • How-to guides - Learn how to use Ragbits in your projects
  • CLI - Learn how to run Ragbits in your terminal
  • API reference - Explore the underlying API of Ragbits

License

Ragbits is licensed under the MIT License.

Contributing

We welcome contributions! Please read CONTRIBUTING.md for more information.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ragbits-0.11.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

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

ragbits-0.11.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file ragbits-0.11.0.tar.gz.

File metadata

  • Download URL: ragbits-0.11.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for ragbits-0.11.0.tar.gz
Algorithm Hash digest
SHA256 2206d7eb610d2418303e20d0617e542f27da0072832dc348878e6b9ba060d314
MD5 a1bc725ea6973f9ad238d6d2db6f603b
BLAKE2b-256 5938139a4d35cb01b5679d30b5ad8ebca4cfb43ccfc4c2c2984885480e7c35d2

See more details on using hashes here.

File details

Details for the file ragbits-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: ragbits-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for ragbits-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92274d9c32981dc6294afb1158e6b66f3eba87478e98a19b66195e2a172f8a1d
MD5 5c3714e95e71add65cee9b8fa3daee8e
BLAKE2b-256 adda21558e86f746562b3793607e4ad7eb94e7f32b55e7b2ade163a8f582d9c1

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