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.13.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.13-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: raggen-0.1.13.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.13.tar.gz
Algorithm Hash digest
SHA256 d411f29cd3fc524e50b239cdbeaaad6e63a96928f9ad5181a8068355c65206a3
MD5 095a018e50400de4ffae669e2cbad111
BLAKE2b-256 efc7b1cef6d41be2847ea61f9b2dca9f9c977972581d6c3aa9668e19ec10cc84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: raggen-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 17.7 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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 ae25c323c1ce0341e79ccd9821faf43a2e2b3fcf95b53f84dfdf9ec49b4f1bec
MD5 5b1052de6e32cab230ea8d3ca03824f6
BLAKE2b-256 a70a4a293b85dfe6d90f5f3d4730b9ab21eba32df8859a78c2db871ec994cfa7

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