Generate augmented dialogs on one given dialog#

Use DialogAugmenter to augment an original dialog by paraphrasing its lines while maintaining the structure and flow of the conversation.

from langchain_openai import ChatOpenAI

from dialog2graph.datasets.augment_dialogs.augmentation import DialogAugmenter
from dialog2graph.pipelines.model_storage import ModelStorage

1. Create ModelStorage instance and add choosen LLMs for dialog generation (i.e. dialog augmentation) and formatting LLM’s output.

model_storage = ModelStorage()
model_storage.add(
        key="generation-llm",
        config={"model_name": "gpt-4o-mini-2024-07-18", "temperature": 0.7},
        model_type=ChatOpenAI
    )
model_storage.add(
        key="formatting-llm",
        config={"model_name": "gpt-3.5-turbo", "temperature": 0.7},
        model_type=ChatOpenAI
    )

2. Create DialogAugmenter instance and use invoke method to get augmented dialogs.

augmenter = DialogAugmenter(
        model_storage=model_storage,
        generation_llm="generation-llm",
        formatting_llm="formatting-llm"
    )
result = augmenter.invoke(
    dialog=dialog, # original dialog as a Dialog object
    topic=topic, # topic of the original dialog as a string
    prompt=augmentation_prompt # prompt for dialog augmentation as a string
    )