autointent.generation.utterances.UtteranceGenerator#
- class autointent.generation.utterances.UtteranceGenerator(generator, prompt_maker, async_mode=False)#
Basic generation of new utterances from existing ones.
This augmentation method simply prompts LLM to look at existing examples and generate similar. Additionally, it can consider some aspects of style, punctuation, and length of the desired generations.
- Parameters:
generator (autointent.generation.Generator) – Generator instance for generating utterances.
prompt_maker (autointent.generation.chat_templates.BaseSynthesizerTemplate) – Prompt maker instance for generating prompts.
async_mode (bool) – Whether to use asynchronous mode for generation.
Usage#
from autointent import Dataset from autointent.generation import Generator from autointent.generation.utterances import UtteranceGenerator from autointent.generation.chat_templates import RussianSynthesizerTemplate dataset = Dataset.from_json(path_to_json) generator = Generator() prompt = RussianSynthesizerTemplate(dataset) augmenter = UtteranceGenerator(generator, prompt_maker=prompt) augmenter.augment(dataset)
- generator#
- prompt_maker#
- async_mode = False#
- __call__(intent_data, n_generations)#
Call the generator to generate new utterances.
- Parameters:
intent_data (autointent.schemas.Intent) – Intent data for which to generate utterances.
n_generations (int) – Number of utterances to generate.
- Return type:
- augment(dataset, split_name=Split.TRAIN, n_generations=5, update_split=True, batch_size=4)#
Add LLM-generated samples to some split of dataset.
- Parameters:
dataset (autointent.Dataset) – Dataset object.
split_name (str) – Dataset split (default is TRAIN).
n_generations (int) – Number of utterances to generate per intent.
update_split (bool) – Whether to update the dataset split.
batch_size (int) – Batch size for async generation.
- Return type: