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


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}")

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.4.0.tar.gz (4.6 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.4.0-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ragbits-0.4.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for ragbits-0.4.0.tar.gz
Algorithm Hash digest
SHA256 044d5e469d4d9fcbc848b34c3494e8b862541ba4da3d9a8c1af98d67fb8274b5
MD5 ed6683d9c857b050f8dd1cfcea0cf71c
BLAKE2b-256 06ef535f3b8e1e8ea90c4c9b3f2a24e5b4a3b655aa5ac4c27b37672781d60b0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ragbits-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for ragbits-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08fe95ef580f50970a5bb8c9f508ca5ed28f8c439fff5968d622f8647d876df1
MD5 e293c0a5ca3a42cbfded9b0136dcdf93
BLAKE2b-256 f792701581d8c2dc9ff7ed0b3dca1ebd112b30e44517fb7ebfc33126ddc32945

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