Skip to main content

RAG dataset generator

Project description

RAGGen - RAG Dataset Generator

A universal tool for converting files into high-quality RAG datasets.

Features

  • Supports a variety of commonly used formats for storing textual data.
  • Robust PDF parsing with OCR utilizing marker library.
  • Preserves headers, supports fixing header levels using LLM (OpenAI API).
  • Respects tables, does not split them into chunks.
  • Supports embedding metadata directly into chunk text.
  • Supports adding custom metadata for each input.
  • Multiple outputs formats including pandas DataFrames and Langchain documents.
  • Checksum-based result caching.

Supported formats

Installation

pip install raggen

Usage

from raggen import RAGGen, RAGInput

# Initialize RAGGen
gen = RAGGen(cache_dir="cache")

# Define inputs
inputs = ["sample1.pdf", "sample2.html", "sample3.md"]

# Input with custom metadata
inputs.append(RAGInput(
    path = "sample4.docx",
    metadata = {"title": "Doc title"}
))

# Generate RAG dataset as list
data = gen(inputs, output_format="df", flatten=True)

TODO

  • Save images
  • Add proper documentation
  • Add more usage examples
  • Add txt support
  • Add Power Point support
  • Add Excel support
  • Add support for reading files from buffer

Contribution

Feel free to fork this repo and make pull requests.

If you like my work, please, support me:

BTC: 32F3zAnQQGwZzsG7R35rPUS269Xz11cZ8B

Lisense

Free to use under Apache-2.0. See LICENSE for more information.

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

raggen-0.1.6.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

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

raggen-0.1.6-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file raggen-0.1.6.tar.gz.

File metadata

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

File hashes

Hashes for raggen-0.1.6.tar.gz
Algorithm Hash digest
SHA256 e27a95fd4252e1cfe2606f15f8aa69ba32b83e0c252018e38d4cc7418704f9ea
MD5 e3ec7721b1a589bcd8148117ea590077
BLAKE2b-256 bca71dc226ac466b357533c965c955b0e64f557b7fb0ee0f4308b96eb28e8200

See more details on using hashes here.

File details

Details for the file raggen-0.1.6-py3-none-any.whl.

File metadata

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

File hashes

Hashes for raggen-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 95c94be0fe06fc668bfb6d21339b09f60f559bb7beae145718f9f29a37756b19
MD5 6c25f56b9057c76690be732f97e57c19
BLAKE2b-256 cb8108bb2ffceb9fb9e49d5eef332842c9547cb2153579f9a0aef8a752075b15

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