convmodel

convmodel provides a conversation model based on decoders models.


Keywords
conversational-ai, language-model, pytorch
License
MIT
Install
pip install convmodel==0.3.0

Documentation

convmodel

convmodel provides a conversation model based on transformers GPT-2 model 😉

✨ Features ✨

  • Utilizes GPT2 model to generate response
  • Handles multi-turn conversation
  • Provides useuful interfaces to fine-tune model and generate a response from a given context

A simple example of fine-tune GPT-2 model and generate a response:

from convmodel import ConversationModel
from convmodel import ConversationExample

# Load model on GPU
model = ConversationModel.from_pretrained("gpt2")

# Define training/validation examples
train_iterator = [
    ConversationExample(conversation=[
        "Hello",
        "Hi, how are you?",
        "Good, thank you, how about you?",
        "Good, thanks!"
    ]),
    ConversationExample(conversation=[
        "I am hungry",
        "How about eating pizza?"
    ]),
]
valid_iterator = [
    ConversationExample(conversation=[
        "Tired...",
        "Let's have a break!",
        "Nice idea!"
    ]),
]

# Fine-tune model
model.fit(train_iterator=train_iterator, valid_iterator=valid_iterator)

# Generate response
model.generate(context=["Hello", "How are you"], do_sample=True, top_p=0.95, top_k=50)
# Output could be like below if sufficient examples were given.
# => ConversationModelOutput(responses=['Good thank you'], context=['Hello', 'How are you'])

Please refer to document for more details of installation, model architecture and usage.

Enjoy talking with your conversational AI 😉