# SynthGenAI Documentation 📚

<center>
    <img src="./assets/logo_header.png" alt="Banner logo" style="height: 300px" />
    <br />
    *Making Synthetic Data Easy*
</center>

Welcome to the SynthGenAI documentation. SynthGenAI is a package for generating synthetic datasets using LLMs. This documentation will guide you through the installation, usage, and examples of how to use SynthGenAI.

## Overview 🧐

SynthGenAI is designed to be modular and can be easily extended to include different API providers for LLMs and new features.

## Why SynthGenAI? 🤔

Interest in synthetic data generation has surged recently, driven by the growing recognition of data as a critical asset in AI development. Synthetic data generation addresses challenges by allowing us to create diverse and useful datasets using current pre-trained Large Language Models (LLMs).

## Tools used for building SynthGenAI 🧰

The package is built using Python and the following libraries:

- [**uv**](https://docs.astral.sh/uv/)
- [**LiteLLM**](https://docs.litellm.ai/docs/)
- [**Langfuse**](https://langfuse.com/)
- [**Pydantic**](https://pydantic-docs.helpmanual.io/)
- [**Huggingface Hub**](https://huggingface.co/) & [**Datasets**](https://huggingface.co/docs/datasets/)

## Contributing 🤝

If you want to contribute to this project and make it better, your help is very welcome. Create a pull request with your changes and I will review it. If you have any questions, open an issue.

## License 📝

This project is licensed under the MIT License - see the LICENSE.txt file for details.
