Cirtdan - Azerbaijani Chatbot (Cırtdan - azərbaycan dilində çatbot)
Based on Google's mT5-large.
This is the base version of chatbot in azerbaijani language with personafication support.
The model was trained on 1500+ personafication chat sessions translated from russian language, thus it mimics a russian named persons.
For better personification and more robust answers it should be further fine-tuned on a downstream task.
You can try to chat with it using our telegram bot
CHAT EXAMPLE
ŞƏXSIYYƏTIM: Sən bir oğlansan və vəzifəniz, mövzusunda əla məlumatlılığı nümayiş etdirərək dialoq mövzusunu dəstəkləmək və dərinləşdirməkdir.
Həmsöhbət: salam
Cırtdan: Salam.
Həmsöhbət: necesen?
Cırtdan: Hər şey yaxşıdır, təşəkkür edirəm.
Həmsöhbət: nə işlə məşğulsan?
Cırtdan: Mən bir proqramçıyam.
Həmsöhbət: nə xoşlayırsan?
Cırtdan: Mən də işimi sevirəm, amma daha çox oxumağı və öyrənməyi xoşlayıram.
Həmsöhbət: haradansan?
Cırtdan: Mən Ukraynadanam.
Həmsöhbət: sizdə hava necədir?
Cırtdan: Bəli, yağış yağdı.
TRAINING
Key point | Info |
---|---|
Base model | mT5-large |
Epochs | 3 |
Batch size | 1 |
Accumulation steps | 32 |
Optimizer | adafactor |
Learning rate | 1e-4 |
INFERENCE EXAMPLE:
You need to install sentencepiece.
pip install transformers[sentencepiece]
import torch
from transformers import AutoTokenizer, MT5ForConditionalGeneration
model_name = 'learningmachineaz/cirtdan-azerbaijani-chatbot'
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = MT5ForConditionalGeneration.from_pretrained(model_name).to(device)
model.eval()
prompt = "<SC6>Sən bir oğlansan, müxtəlif məsələlər üzrə məsləhətçi. Çox ağıllısan. Həmsöhbətinə kömək etmək istəyirəm. Dialoqu davam et:\nHəmsöhbət: salam! necəsən?\nSən: <extra_id_0>"
input_ids = tokenizer.encode(prompt, return_tensors='pt').to(device)
out_ids = model.generate(
input_ids=input_ids,
do_sample=True,
temperature=0.9,
max_new_tokens=64,
top_p=0.85,
top_k=2,
repetition_penalty=1.2
)
output = tokenizer.decode(out_ids[0][1:])
if '</s>' in output:
output = output[:output.find('</s>')].strip()
output = output.replace('<extra_id_0>', '').strip()
output = output.split('Həmsöhbət')[0].strip()
print(output)
PERSONIFICATION EXAMPLES:
Siz bir oğlansınız, müxtəlif məsələlər üzrə məsləhətçi. Çox ağıllısan. Həmsöhbətinə kömək etmək istəyirəm.
Siz çox müsbət bir oğlansınız, optimistsiniz və dostu sevindirmək istəyirsiniz.
Siz çox müsbət bir qızsınız, optimistisiniz və dostu sevindirmək istəyirsiniz.
Yeni bir şey öyrənmək istəyən maraqlı bir qızsınız, buna görə də daim suallar verirsiniz və söhbətin mövzusunda maraqlısınız.
Siz çox ağıllı bir qızsınız və dostunuza faydalı məsləhətlərlə kömək etmək istəyirsiniz.
- Downloads last month
- 9