Skip to main content

Backend of a system to explore RAG operations

Project description

raglab

Backend of a system to explore RAG operations.

To install: pip install raglab

IMPORTANT NOTE: This is work-in-progress and shouldn't be used, yet.

raglab is meant to be a medley of interoperable functionalities around retrieval (or "search") and generation (with LLMs). It's architecture is structured so that operations can be done in python, at the command line, through a web service (or any OpenAPI language binders) or from a GUI, where each layer's interface is mapped from the other in a consistent (and usually automatic) manner.

Work-in-progress notes

Simple resources CRUD

Some functionalities/operations can simply be described as (1) a set of operations (2) over a kind of data

We'll sometimes lazily say CRUD for the "set of operations", but we don't always mean Create-Read-Update-Delete. In fact, most of the time we don't mean those four operations. Instead, since python is our backend language and we aim at using base interfaces as much as possible, our "set of operations" will often be inspired from python's Collections Abstract Base Classes.

So many concrete use cases of this abstraction are parametrized by

  • the set of operation (example, read, write, list, delete...)
  • a name designating the kind/type of data
  • optionally a schema that describes what the structure and contents of that kind of data must be

Further, by making the interface consistent (for example, and preferably, with the interfaces of Collections Abstract Base Classes), it makes it possible to automate how the python interface maps to a REST API interface (see Mapping python collections builtin methods to REST API patterns) and/or a UI interface (see Collections Operations UI Design Patterns).

Examples

  • permissions (keyed by users, groups of users, projects etc.)
  • datasets (again keyed by users etc.)
  • prompt_templates
  • embedders
  • dataset_query_results
  • query_results_aggregators
  • query_results_aggregates
  • tag: For example tag, dataset, tag, group_of_datasets, tag, anything_really. Note that tagging, or annotating can be applied to any kind of data, and is a dual of "grouping", and subsumes hierarchical organization. See Persisting groups of items (tagging stuff) for designs regarding this.

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

raglab-0.1.2.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

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

raglab-0.1.2-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file raglab-0.1.2.tar.gz.

File metadata

  • Download URL: raglab-0.1.2.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for raglab-0.1.2.tar.gz
Algorithm Hash digest
SHA256 931881d8b9eaf9340984c9e506a0e20239083d0f265b0e0f0193736435324d39
MD5 0cccf667177dd4dec72d6d62d7464b2d
BLAKE2b-256 ad8a8a64501305eeb9497402e7b948f87ff6bbf583cd6a0cc76eb9fb987ce16d

See more details on using hashes here.

File details

Details for the file raglab-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: raglab-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for raglab-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b896801da0fc0c40bbac49c0596ab9d220367cede880a89a90bf27144d0bc6d5
MD5 7585d1004ad8f006d294e5b0dd5dbcc0
BLAKE2b-256 f367d2c925b62b97cf861c2db3e37b94a628929be9d33c14aeda994f285760a2

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