Skip to main content

A synthetic data generator pipeline

Project description

Synda

[!WARNING] This project is in its very early stages of development and should not be used in production environments.

[!NOTE] PR are more than welcome. Check the roadmap if you want to contribute or create discussion to submit a use-case.

Synda (synthetic data) is a package that allows you to create synthetic data generation pipelines. It is opinionated and fast by design, with plans to become highly configurable in the future.

Installation

poetry add synda

Usage

  1. Create a YAML configuration file (e.g., config.yaml) that defines your pipeline:
input:
  type: csv
  properties:
    path: tests/stubs/simple_pipeline/source.csv
    target_column: content
    separator: "\t"

pipeline:
  - type: split
    method: chunk
    parameters:
      size: 500

  - type: generation
    method: llm
    parameters:
      provider: openai
      model: gpt-4o-mini
      template: |
        Ask a question regarding the content.
        content: {chunk}

        Instructions :
        1. Use english only
        2. Keep it short

        question:

  - type: ablation
    method: llm-judge-binary
    parameters:
      provider: openai
      model: gpt-4o-mini
      consensus: all
      criteria:
        - Is the text written in english?
        - Is the text consistent?

output:
  type: csv
  properties:
    path: tests/stubs/simple_pipeline/output.csv
    separator: "\t"
  1. Run the following command:
poetry run synda -i config.yaml

Pipeline Structure

The Nebula pipeline consists of three main parts:

  • Input: Data source configuration
  • Pipeline: Sequence of transformation and generation steps
  • Output: Configuration for the generated data output

Available Steps

  • split: Breaks down data into chunks of defined size
  • generation: Generates content using LLM models
  • ablation: Filters data based on defined criteria

Roadmap

The following features are planned for future releases:

  • Implement a Proof of Concept
  • Implement a common interface (Node) for input and output of each step
  • Add SQLite support
  • Add setter command for .env variable (open ai key, etc.)
  • Trace each synthetic data with his historic
  • Store each execution and step in DB
  • Allow pausing and resuming pipelines
  • Enable caching of each step's output
  • Implement scriptable step for developer
  • Design other step & methods

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

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

synda-0.1.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

synda-0.1.2-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synda-0.1.2.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.1 Darwin/24.1.0

File hashes

Hashes for synda-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5374205104da0c9e6b11896c06ef8a4cd390dad4c6d5b4084087939ab9235fa9
MD5 d58721e2abda453e9d9ca0cfd0abe919
BLAKE2b-256 74c84f5a6e2dc3719930a8d3a7f4f2671c0061950b543b33e7c3cf64c645d646

See more details on using hashes here.

File details

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

File metadata

  • Download URL: synda-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.1 Darwin/24.1.0

File hashes

Hashes for synda-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 87e88174a837e5207c89d2262386cc6e7871be412adec9b07ca73fdef152df2a
MD5 18e9a6ddd28ed0c5137f98c864d15e27
BLAKE2b-256 a14a1299df370ba5c8a901699a6f14ddb47714bce7bb4a78ddbdf4b30186cfa7

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