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_templatesembeddersdataset_query_resultsquery_results_aggregatorsquery_results_aggregatestag: For exampletag, 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
931881d8b9eaf9340984c9e506a0e20239083d0f265b0e0f0193736435324d39
|
|
| MD5 |
0cccf667177dd4dec72d6d62d7464b2d
|
|
| BLAKE2b-256 |
ad8a8a64501305eeb9497402e7b948f87ff6bbf583cd6a0cc76eb9fb987ce16d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b896801da0fc0c40bbac49c0596ab9d220367cede880a89a90bf27144d0bc6d5
|
|
| MD5 |
7585d1004ad8f006d294e5b0dd5dbcc0
|
|
| BLAKE2b-256 |
f367d2c925b62b97cf861c2db3e37b94a628929be9d33c14aeda994f285760a2
|