skywalker023 / sodaverse

🥤🧑🏻‍🚀Code and dataset for our EMNLP 2023 paper - "SODA: Million-scale Dialogue Distillation with Social Commonsense Contextualization"
https://aclanthology.org/2023.emnlp-main.799/
MIT License
221 stars 13 forks source link
chatgpt commonsense dataset dataset-creation dialogue dialogue-generation dialogue-system gpt-3

Welcome to SODAverse 🌟

cosmo-in-soda

This is the official repository for our EMNLP paper:
SODA: Million-scale Dialogue Distillation with Social Commonsense Contextualization

🏆 SODA won the Outstanding Paper Award at EMNLP 2023!


@inproceedings{kim2023soda,
    title={SODA: Million-scale Dialogue Distillation with Social Commonsense Contextualization},
    author={Hyunwoo Kim and Jack Hessel and Liwei Jiang and Peter West and Ximing Lu and Youngjae Yu and Pei Zhou and Ronan Le Bras and Malihe Alikhani and Gunhee Kim and Maarten Sap and Yejin Choi},
    booktitle={EMNLP},
    year={2023}
}

For a brief summary of our paper, please see this tweet.

🫧 CO3

Environment setup

We recommend you create a conda environment as follows:

conda env create -f environment.yml

and activate it with

conda activate sodaverse

Running CO3

python co3.py --display-frequency 1 --model gpt-3.5-turbo-1106 --run-id first-run-with-chatgpt

This command will automatically download Atomic10x and start running the CO3 distillation to make SODA. All files will be saved under the data directory, which will also be created during the run.

Running on other large language models (LLMs)

Currently, this repository only supports GPT models. However, you can add other LLMs to the agents directory. All you need to do is create an agent class with the method interact().

🥤SODA

You can now load SODA from the HuggingFace hub as the following:

from datasets import load_dataset

dataset = load_dataset("allenai/soda")

🧑🏻‍🚀COSMO

You can now load COSMO-3B from the HuggingFace hub.

Have a chat with Cosmo!

🚨 Disclaimer: We would like to emphasize that COSMO is trained on SODA and ProsocialDialog mainly for academic/research purposes. We discourage using COSMO in real-world applications or services as is. Model outputs should not be used for advice for humans, and could be potentially offensive, problematic, or harmful. The model’s output does not necessarily reflect the views and opinions of the authors and their associated affiliations.

Running Cosmo

By running the command below, Cosmo will be automatically downloaded and you can have a chat!

python chat_with_cosmo.py

Limitations

Cosmo is mostly trained on social chitchat. Therefore, we do not encourage having knowledge-intensive conversations (e.g., science, medical issues, law). For detailed limitations, please refer to our paper.