ⵎⵉ ⴰⵔⴰ ⵜⵅⴻⴷⵎⴻⴹ ⴷⴻⴳ ⵓⵏⵏⴰⵔ ⵏ ⵜⵓⵙⵙⵏⴰ ⵏ ⵢⵉⵙⴻⴼⴽⴰ, ⵙ ⵓⵎⴰⵜⴰ, ⴰⴷ ⵜⴰⴼⴻⴹ ⵉⵎⴰⵏⵉⴽ ⵜⵇⵓⴱⵍⴻⴹ ⵢⵉⵡⴻⵏ ⵏ ⵡⵓⴳⵓⵔ ⴰⵎⴰⵢⵏⵓⵜ ⴷⴻⴼⴼⵉⵔ ⵎⴰ ⵜⴽⴻⵎⵍⴻⴹ ⵢⵉⵡⴻⵜ ⵏ ⵜⵃⴻⵎⵍⴰ ⵖⴻⵣⵣⵉⴼⴻⵏ ⵏ ⵓⵙⵙⵉⵍⴻⵖ, ⵏ ⵓⵙⵏⴻⴼⵍⵉ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵙ ⵜⵖⴰⵡⵍⴰ, ⴷ ⵓⵙⵏⴻⵔⵏⵉ. ⴰⵢⵓⵣ ⵙ ⵍⴻⴱⵏⵉ ⵏ ⵓⵎⴹⵉⵇ ⵏ ML ⵢⴻⵙⵄⴰⵏ ⴰⵅⴻⴷⴷⵉⵎ ⵢⴻⵍⵀⴰⵏ ⵢⴻⵔⵏⴰ ⵢⴻⵜⵜⴰⵔⵔⴰⴷ ⵖⴻⴼ ⵜⵖⴰⵡⵙⵉⵡⵉⵏⵉⴽ. ⵜⵓⵔⴰ ⴰⵖⴱⴻⵍ ⴰⵢ ⵜⴻⵙⵄⵉⴹ ⴷⴻⴳ ⵓⴼⵓⵙⵉⴽ ⴷ ⴰⵎⴻⴽ ⴰⵔⴰ ⴷⵜⴻⵙⵙⵉⵡⴻⴹ ⴰⵃⵔⵉⵛⴰ ⵢⴻⵍⵀⴰⵏ ⵏ teknoloji ⵉ ⵢⵉⵎⵙⴻⵇⴷⴰⵛⴻⵏ ⴰⵢ ⴷⵢⴻⵜⵜⵡⴰⵡⴻⵀⵀⴰⵏ? ⵏⴻⵖ ⴰⵀⴰⵜ ⴰⵎⴻⴽ ⴰⵔⴰ ⵜⴻⵙⵙⵉⵡⴹⴻⴹ ⵙ ⵜⵖⴰⵡⵍⴰ ⴰⴳⵎⵓⴹⵉⴽ ⵉ ⵢⵉⵎⴹⴻⴱⴱⵔⴻⵏ ⵏ ⵜⴽⴻⴱⴱⴰⵏⵉⵜⵉⴽ? ⵏⴻⵖ ⵓⵍⴰ ⴷ ⴰⵎⴻⴽ ⴰⵔⴰ ⵜⴱⴻⴹⵏⴻⴹ ⵉⴳⵎⴰⴹⵉⴽ ⵏ ⵍⴻⵎⵜⴻⵍ ⴷ ⵢⵉⵎⴻⴷⴷⵓⴽⴰⵍⵉⴽ ⵙ ⵜⵖⴰⵡⵍⴰ ⵉ ⵍⵎⴻⵏⴷ ⵏ ⵜⴰⵍⵍⴻⵍⵜ ⵢⴻⵍⵀⴰⵏ?
ⴰⵙⵙⴻⵇⴷⴻⵛ ⵏ ⵓⵍⵎⴰⴷ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⵉⵍⵉ ⵜⵉⴽⵡⴰⵍ ⴷ ⴰⵢⴻⵏ ⵉⵡⴻⵄⵔⴻⵏ ⵉⵎⵉ ⴰⵔⴰ ⵏⴻⵙⵙⴻⵅⴷⴻⵎ ⵜⵉⵥⵡⴰⵔ ⴷ ⵜⵜⴰⵡⵉⵍⴰⵜ ⵙⴻⴳ ⵜⵎⵓⵙⵙⵏⵉⵡⵉⵏ ⵏ ⵣⵉⴽ ⴰⵢ ⵢⴻⵙⵙⴻⴼⴽⴻⵏ ⵉ ⵍⴻⴱⵏⵉ ⵏ ⵢⵉⵎⵓⴽⴰⵏⵏⵏⵉ.
ⴷⴻⴳ ⵓⵎⴰⴳⵔⴰⴷⴰ, ⴰⴷ ⴷⵏⴰⴼ ⴰⴱⵔⵉⴷ ⵏ ⵓⵙⵏⴻⴼⵍⵉ ⵏ ⵢⵉⵎⵓⴽⴰⵏ ⵏ ⵓⵍⵎⴰⴷ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⴽⴰⵏ ⵏ python. ⵢⴻⵔⵏⴰ ⴷⴻⴳ ⵓⴱⵔⵉⴷ, ⴰⴷ ⵏⴻⴱⵏⵓ ⴰⵎⵣⵓⵏ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⵙ ⵜⵎⴰⵛⵉⵏⵉⵏ ⴷ ⵓⵙⴻⴱⵜⴻⵔ ⵡⴻⴱ.
ⵉⵀⵉ ⴰⵜⴰⵏ ⵍⵃⵉⵔⴼⴰⵜ ⴰⵔⴰ ⵏⵡⴰⵍⵉ:
-
Aseqdec ⵏ ⵢⵉⵎⵓⴽⴰⵏ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⵙ ⵜⵎⴰⵛⵉⵏⵉⵏ ⴰⵃⴻⴱⴱⵓⵙ.
-
Asekcem ⵏ Anvil ⴷ ⵍⴻⴱⵏⵉ ⵏ UI ⵡⴻⴱ ⵉ ⵍⴻⵎⵜⴻⵍⵏⵏⴻⵖ.
-
Acuddu ⵏ ⴱⴰⵛⴽⴻⵏⴷ ⴷ frontend ⴷ ⵓⵇⴻⴷⴷⵉⵛ ⵏ ⵓⵎⴰⴹⴰⵍ ⴷ ⴰⵅⴻⴷⴷⵉⵎⵏⵏⴻⵖ!
ⴱⵏⵓ ⴰⵎⵣⵓⵏ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⵏ ⵜⵎⴰⵛⵉⵏⵜ
ⵀⵓⴳⴳⵉⵏⴳⴼⴰⵛⴻ ⴷ ⵜⴰⵎⵏⴰⴹⵜ ⵏ AI ⴰⵢ ⵉⵅⴻⴷⴷⵎⴻⵏ ⴰⴽⴽⴻⵏ ⴰⴷ “ⵜⴻⵙⵙⵉⵡⴻⴹ ⵜⵓⴳⴷⵓⵜ (démocratie) ⵏ ⵓⵍⵎⴰⴷ ⵢⴻⵍⵀⴰⵏ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ”. ⴷⴷⴰⵡ ⵏ ⵜⵎⵓⵖⵍⵉⴰ, ⵜⵣⴻⵎⵔⴻⵎ ⴰⴷ ⵜⴰⴼⴻⵎ ⴰⵟⴰⵙ ⵏ ⵢⵉⵎⵓⴽⴰⵏ ⵢⴻⵜⵜⵡⴰⵙⵍⴻⵖⵎⴻⵏ ⵖⴻⴼ ⵜⵉⵖⴰⵡⵙⵉⵡⵉⵏ ⵢⴻⵎⴳⴻⵔⵔⴰⴷⴻⵏ ⵏ ⵓⵍⵎⴰⴷ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ: ⴰⴼⴻⵔⴷⵉⵙ ⵏ ⵜⵓⴳⵏⴰ, ⴰⴹⵔⵉⵙ ⵖⴻⵔ ⵡⴰⵡⴰⵍ, ⴰⵙⴻⵏⴼⴰⵔ ⵏ ⵓⴹⵔⵉⵙ... ⵢⴻⵔⵏⴰ ⴷⴰⵖⴻⵏ ⴰⵙⵓⵇⴻⵍ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ!
ⵜⴰⵙⵓⵇⵉⵍⵜ ⵏ ⵜⵎⴰⵛⵉⵏⵜ ⴷ ⵛⵛⵖⴻⵍ ⴽⴰⵏ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⴳⴰⵔ ⵙⵏⴰⵜ ⵏ ⵜⵓⵜⵍⴰⵢⵉⵏ ⴰⵢ ⴷⵢⴻⵜⵜⴳⴻⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵎⴻⵍ, ⴷⴻⴳ ⵜⴻⴳⵏⵉⵜⵏⵏⴻⵖ, ⴷ ⴰⵎⵣⵓⵏ ⵏ ⵓⵍⵎⴰⴷ ⵏ ⵜⵎⴰⵛⵉⵏⵜ ⴰⵢ ⴷⵢⴻⵍⵍⴰⵏ ⵙ ⵢⵉⵎⴻⵙⵏⵉⵍⴻⵏ (transformateurs).
Transformateur ⴷ ⵜⴰⵙⴻⴳⴷⴰ ⵏ ⵓⵍⵎⴰⴷ ⵍⵇⴰⵢⴻⵏ ⵉ ⴷⵢⴻⵙⴱⴻⴷⴷⴻⵏ ⵍⴱⴰⵍ. ⴰⴷ ⵜⵉⴷⵏⴻⵙⵙⵓⴼⴻⵖ ⴰⴷ ⵢⴻⴷⴷⵓ ⴷⴻⴳ ⵜⵎⴰⵛⵉⵏⵜⵉⴽ!
ⴰⴷ ⵏⴻⵙⵙⴻⵎⵔⴻⵙ ⵉⵎⵙⵓⴷⴷⵙⴻⵏ, ⵜⴰⵎⴽⴻⵔⴹⵉⵜ ⵏ python ⴰⴽⴽⴻⵏ ⴰⴷ ⴷⵏⴻⵙⵙⴻⴽⵛⴻⵎ ⴰⵎⵓⴷ ⵏ MT ⵢⴻⵔⵏⴰ ⴰⴷ ⵏⴻⵅⴷⴻⵎ ⵜⴰⵙⵓⵇⵉⵍⵜ.
pip install torch
pip install transformers
ⵙⴻⵏⴷ ⵎⴰ ⵜⴻⵙⴱⴻⴷⴷⴻⴹ ⵉⴼⴻⵔⴽⵉⵡⴻⵏ ⵉⵍⴰⵇⴻⵏ, ⵙⵙⴻⴽⵛⴻⵎ ⵉⵎⵓⴹⴰⵏⴰ:
from transformers import MarianTokenizer, MarianMTModel
from typing import List
ⴰⴷ ⴷⵏⴰⵡⵉ ⴰⵎⵣⵓⵏ ⴰⵔⴰ ⴷⵢⴻⵙⵙⵓⵇⵍⴻⵏ ⵜⴰⴼⵢⵉⵔⵜ ⵙⴻⴳ ⵜⴰⵍⵎⴰⵏⵉⵜ ⵖⴻⵔ ⵜⴻⴳⵍⵉⵣⵉⵜ. ⵏⴻⵃⵡⴰⴵ ⵉⵙⴻⵎ ⵏ ⵍⴻⵎⵜⴻⵍ:
src= "de"
trg= "en"
mname= f'Helsinki-NLP/opus-mt-{src}-{trg}'
ⵜⵓⵔⴰ ⴰⴷ ⴷⵏⴻⵙⵙⴻⴽⵛⴻⵎ ⴰⵎⵓⴷ ⵢⴻⵜⵜⵡⴰⵙⵍⴻⵖⵎⴻⵏ ⴷ ⵜⵎⴻⵥⴷⵉⵜ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵢⵉⴼⴻⵔⴷⵉⵙⴻⵏⴰ:
model = MarianMTModel.from_pretrained(mname)
tok = MarianTokenizer.from_pretrained(mname)
ⵜⴰⴳⵎⵓⴹⵜ ⵏ ⵓⵙⵏⵓⵍⴼⵓ ⵜⴻⵡⵡⴻⴹ ⴰⵣⴰⵍ ⵏ 300mb, ⴷⴻⴼⴼⵉⵔ ⵎⴰ ⵜⴽⴻⵎⵍⴻⴹ ⵜⵣⴻⵎⵔⴻⴹ ⴰⴷ ⵜⵃⴻⵔⵣⴻⴹ ⴰⵎⵓⴷ ⴷⴻⴳ ⵢⵉⵡⴻⵏ ⵏ ⵓⴹⵔⵉⵙ ⴰⴷⵉⴳⴰⵏ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵡⴰⵢⴻⵏ ⵉⴷⵉⵜⴻⴷⴷⵓⵏ:
model.save_pretrained("./models/de_en/")
tok.save_pretrained("./models/de_en/tok")
ⴰⴷ ⵏⴻⴼⴽ ⴰⵎⵣⵓⵏ:
text="ich habe keine ahnung"
gen = model.generate(**tok.prepare_seq2seq_batch(src_texts=[text], return_tensors="pt"))
words: List[str] = tok.batch_decode(gen, skip_special_tokens=True)
print(words[0])
ⵜⵓⵔⴰ ⵢⴻⵙⵙⴻⴼⴽ ⴰⴷ ⵜⴻⵙⵄⵓⴹ ⵜⴰⵙⵓⵇⵉⵍⵜ ⵜⴰⴳⵍⵉⵣⵉⵜ ⵏ ⵜⴻⴼⵢⵉⵔⵜ ⵢⴻⵜⵜⵡⴰⵃⴻⵔⵣⴻⵏ ⴷⴻⴳ words[0]
.
ⴰⴼⴻⴹ Anvil ⵓ ⴱⵏⵓ UI ⵏ ⵡⴻⴱ
Anvil ⴷ ⴰⴽⴰⵜⴰⵔ ⴷ ⵜⵎⴻⵥⴷⵉⵜ ⵏ ⵜⵉⴼⵔⴰⵜ ⴰⵔⴰ ⴽⵢⴻⴵⴵⴻⵏ ⴰⴷ ⵜⴻⴱⵏⵓⴹ ⵉⵙⴻⵏⴼⴰⵔⴻⵏ ⵡⴻⴱ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⴽⴰⵏ ⵏ ⵓⴹⵔⵉⵙ ⵏ python. ⵢⴻⵙⵄⴰ ⴰⵎⴻⵙⵏⵉⵍⴻⵙ ⵏ ⴷⵔⴰⴳ ⴰⵏⴷ drops ⵉ ⵍⴻⴱⵏⵉ ⵏ UI ⵡⴻⴱ ⵢⴻⵔⵏⴰ ⵢⴻⵜⵜⴰⴵⴵⴰⴽ ⴰⴷ ⵜⵛⵓⴷⴷⴻⴹ ⴰⴽⴰⵔⴰⵎ ⵙⴻⴳ ⵜⵎⴰⵛⵉⵏⵜⵉⴽ ⵜⴰⴷⵉⴳⴰⵏⵜ ⵙ UI ⵉ ⵜⴻⴱⵏⵉⴹ ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⴻⵙⵏⴻⴱⴳⵉⴹ ⴰⵙⴻⵏⴼⴰⵔⵉⴽ ⵙ ⵜⵉⴽⵛⵉ ⵏ ⵓⵙⵎⴻⵍ ⵉ ⵜⵣⴻⵎⵔⴻⴹ ⴰⴷ ⵜⵜⴻⴱⴹⵓⴹ.
ⵉⵀⵉ ⴰⴷ ⵏⴱⴷⵓ ⵙ ⵓⵙⵏⵓⵍⴼⵓ ⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵙⴻⴳ ⴷⴰⴳⵉ. ⴰⴼⵔⴰⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵜⴼⴻⵍⵡⵉⵜ ⵙⵢⴻⵏ ⵏ ⵓⵙⵏⵓⵍⴼⵓ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ.
ⵉⵍⴰⵇ ⴰⴷ ⵜⵡⴰⵍⵉⴹ ⴽⵔⴰ ⴰⵎ ⵡⴰ:
ⵜⵓⵔⴰ ⴰⴷ ⵃⴻⵙⴱⴻⵖ ⴼⴻⵍⵍⴰⴽ ⴰⴷ ⵜⴻⵙⵇⴻⴷⵛⴻⴹ ⴰⵎⴻⵙⴽⴰⵔ ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⴻⴱⵏⵓⴹ ⴽⵔⴰ ⵢⴻⵛⴱⴰⵏ ⴰⵢⴻⵏ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ:
ⴷⴻⴳ UIagi ⴰⴼⵔⴰⵔⴰⵢ, ⵏⴻⵙⵄⴰ ⵙⵉⵏ ⵏ DropDowns ⵉ ⵓⴼⵔⴰⵏ ⵏ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵖⴱⴰⵍⵓ ⴷ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵜⵖⴻⵔⵖⴻⵔⵜ. ⵏⴻⵙⵄⴰ ⴷⴰⵖⴻⵏ TextBox ⵉ ⵓⵙⵙⴻⴽⵛⴻⵎ ⵏ ⵓⴹⵔⵉⵙ ⵏ ⵓⵖⴱⴰⵍⵓ ⴷ ⵢⵉⵡⴻⵏ ⵏ ⵓⴼⴻⵔⴷⵉⵙ ⵔⵉⵛⵀText ⵉ ⵓⵙⴻⴽⵛⴻⵎ ⵏ ⵓⴹⵔⵉⵙ ⵢⴻⵜⵜⵡⴰⵙⵓⵇⵍⴻⵏ. ⵜⵣⴻⵎⵔⴻⴹ ⴷⴰⵖⴻⵏ ⴰⴷ ⵜⵡⴰⵍⵉⴹ Aḍebsi ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⴻⴱⴷⵓⴹ ⵛⵛⵖⴻⵍ ⵏ ⵜⵙⵓⵇⵉⵍⵜ.
ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⴻⵙⵏⵉⵍⴻⵙⴹ ⴰⴽⴽⴻⴷ ⵢⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵏ ⵓⴹⵔⵉⵙ ⴰⵔⴰ ⵜⵡⴰⵍⵉⴹ ⴷⴷⴰⵡⴰ, ⴻⴼⴽⴷ ⵢⵉⵡⴻⵏ ⵏ ID ⵉ ⵢⵉⴼⴻⵔⴷⵉⵙⴻⵏ. ⵓⴽⴻⵙⵙⴰⵔ ⵜⵣⴻⵎⵔⴻⴹ ⴰⴷ ⵜⴰⴼⴻⴹ ⴰⵎⴻⴷⵢⴰ ⴰⵏⴷⴰ ⴰⵔⴰ ⵜⴻⵙⴱⴻⴷⴷⴻⴹ ⵉⴷ ⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⴼⴻⵔⴷⵉⵙ:
ⵉⴷⵙ ⵉ ⵏⴻⵙⵙⴻⵅⴷⴰⵎ ⴷ:
<ⵜⵉⵍⵉⵙⴰ ⵏ ⵟⵟⴰⴱⵍⴰ="2">
<ⴰⵇⴻⵔⵔⵓ>
<ⵜⵔ>
<ⵡⵉⵙ>
ⴰⴼⴻⵔⴷⵉⵙ
</ⵜⵉⵙ>
<ⵡⵉⵙ>
ⵜⴰⵎⴰⴳⵉⵜ
</ⵜⵉⵙ>
</ⵜⵔ>
</ⴰⵇⴻⵔⵔⵓ>
<ⵜⴰⴼⴻⴽⴽⴰ>
<ⵜⵔ>
<ⵜⴷ ⵛⵍⴰⵙⵙ="ⴰⵍⴻⵎⵎⴰⵙ ⵏ ⵓⴹⵔⵉⵙ">ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵖⴱⴰⵍⵓ</ⵜⴷ>
<ⵜⴷ ⵜⴰⵖⵓⵍⵜ="ⴰⵍⴻⵎⵎⴰⵙ ⵏ ⵓⴹⵔⵉⵙ">ⵜⵓⵜⵍⴰⵢⵜ_taɣbalut</ⵜⴷ>
</ⵜⵔ>
<ⵜⵔ>
<ⵜⴷ ⵛⵍⴰⵙⵙ="ⴰⵍⴻⵎⵎⴰⵙ ⵏ ⵓⴹⵔⵉⵙ">ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵙⵎⴻⵍ</ⵜⴷ>
<ⵜⴷ ⵜⴰⵖⵓⵍⵜ="ⴰⵍⴻⵎⵎⴰⵙ ⵏ ⵓⴹⵔⵉⵙ">ⵜⵓⵜⵍⴰⵢⵜ_ⵜⴰⵎⴻⵣⵡⴰⵔⵓⵜ</ⵜⴷ>
</ⵜⵔ>
<ⵜⵔ>
<ⵜⴷ ⵛⵍⴰⵙⵙ="ⴰⵍⴻⵎⵎⴰⵙ ⵏ ⵓⴹⵔⵉⵙ">ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵖⴱⴰⵍⵓ Tafelwit ⵏ ⵓⴹⵔⵉⵙ</ⵜⴷ>
<ⵜⴷ class="ⴰⴹⵔⵉⵙ-ⴰⵍⴻⵎⵎⴰⵙ">ⴰⴹⵔⵉⵙ_ⴰⵖⴱⴰⵍⵓ</ⵜⴷ>
</ⵜⵔ>
<ⵜⵔ>
<ⵜⴷ ⵛⵍⴰⵙⵙ="ⴰⴹⵔⵉⵙⴰⵍⴻⵎⵎⴰⵙ">ⴰⴹⵔⵉⵙ ⵢⴻⵜⵜⵡⴰⵙⵓⵇⵇⵍⴻⵏ ⴰⴹⵔⵉⵙ ⴰⵎⴻⵔⴽⴰⵏⵜⵉ</ⵜⴷ>
<ⵜⴷ class="ⴰⴹⵔⵉⵙ-ⴰⵍⴻⵎⵎⴰⵙ">ⴰⴹⵔⵉⵙ_ⵢⴻⵙⵙⵓⵇⵇⵍⴻⵏ</ⵜⴷ>
</ⵜⵔ>
</ⵜⴰⴼⴻⴽⴽⴰ>
</ⵜⴰⴼⴻⵍⵡⵉⵜ>
ⵜⴰⵖⵓⵍⵜ ⵏ Onclick
ⵏⴻⵔⵏⴰⴷ ⵢⵉⵡⴻⵏ ⵏ ⵓⴹⴻⴱⵙⵉ ⵢⴻⵜⵜⵡⴰⵙⵇⴻⴷⵛⴻⵏ ⵉ ⵓⵙⴱⴰⴷⵓ ⵏ ⵜⵙⵓⵇⵉⵍⵜ. ⵙⴻⴳ ⵓⵎⴻⵙⵏⵉⵍⴻⵙⵉⴽ ⵜⵜⴻⴽⵙⴻⴹ ⵖⴻⴼ ⵜⵎⴻⵥⴷⵉⵜ ⵙⵢⴻⵏ ⵙⵇⴻⴷⵛⴻⴹ ⵙ ⵡⴰⴷⴷⴰ ⴷⴻⴳ ⵜⴼⴻⵍⵡⵉⵜ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ. ⴷⴻⴳ ⵜⵍⴻⵎⵎⴰⵙⵜ, ⴰⴷ ⵜⵡⴰⵍⵉⴹ ⴰⵃⵔⵉⵛ ⵏ ⵜⴻⴷⵢⴰⵏⵜ. ⴷⴻⴳ ⵓⵎⴹⵉⵇ ⵏ ⵓⴹⵔⵉⵙ ⵢⴻⵍⵍⴰⵏ ⵣⴷⴰⵜ ⵏ “ⵛⵍⵉⵛⴽ”, ⵙⵙⴻⴽⵛⴻⵎ “ⵜⵔⴰⵏⵙⵍⴰⵜⴻ” ⵙⵢⴻⵏ ⴹⴻⴳⴳⴻⵔ ⵖⴻⴼ ⵜⴼⴻⵍⵡⵉⵜ ⵢⴻⵍⵍⴰⵏ ⵙ ⵢⵉⴷⵉⵙ ⴰⵢⴻⴼⴼⵓⵙ ⵏ ⵓⵎⴹⵉⵇⴰⴳⵉ ⵏ ⵓⴹⵔⵉⵙ.
ⴰⵢⴰ ⴰⴷ ⴽⵢⴰⵡⵉ ⵖⴻⵔ ⵜⵎⵓⵖⵍⵉ ⵏ ⵓⴹⵔⵉⵙ ⴰⵏⴷⴰ ⴰⵔⴰ ⵜⵡⴰⵍⵉⴹ ⴽⵔⴰ ⵏ ⵓⴹⵔⵉⵙ ⵏ python ⵉ ⴷⵢⴻⵜⵜⵡⴰⵙⵏⵓⵍⴼⴰⵏ ⵙ ⵡⵓⴷⴻⵎ ⴰⵡⵓⵔⵎⴰⵏ.
ⴰⴷ ⵜⴰⴼⴻⴹ ⴱⴻⵍⵍⵉ anvil ⵢⴻⵔⵏⴰⴷ ⵙ ⵡⵓⴷⴻⵎ ⴰⵡⵓⵔⵎⴰⵏ ⵢⵉⵡⴻⵜ ⵏ ⵜⵖⴰⵡⵙⴰ ⵓⵎⵉ ⵇⵇⴰⵔⴻⵏ ⴰⵙⵓⵇⴻⵍ. ⴰⴷ ⵢⴻⵜⵜⵡⴰⵙⴻⵎⵎⴰ ⵢⴰⵍ ⵜⵉⴽⴽⴻⵍⵜ ⴰⵔⴰ ⵢⴻⵜⵜⵡⴰⵇⵍⴻⵄ ⵓⵇⴻⵔⵔⵓⵢ ⵢⴻⵍⵍⴰⵏ ⴷⴻⴳ UInneɣ.
ⴰⵜⴰⵏ ⵡⴰⵎⴻⴽ ⵉⵍⴰⵇ ⴰⴷ ⵜⵉⵍⵉ ⵜⴻⵖⵍⵉⴼⵜ:
def translate(self, **event_args):
"""This method is called when the button is clicked"""
src_lang=self.source_lang.selected_value #get the selected source language
dest_lang=self.dest_lang.selected_value #get the selected destination language
text=self.source_text.text #get the text written in source language
#call the server function
translated_text=anvil.server.call("translation",text,src_lang,dest_lang)
#write the translated text to the UI
self.translated_text.content=translated_text
ⵜⴰⵖⵓⵍⵜⴰ ⵜⴻⵜⵜⴳⴻⵏ 3 ⵏ ⵍⴻⵛⵖⴰⵍ ⵉⴳⴻⵊⴷⴰⵏⴻⵏ:
-
Awid ⵉⵙⴰⵍⵍⴻⵏ ⵙⴻⴳ UI
-
ⴰⵣⵏⴻⴹ ⵉⵙⴰⵍⴰⵏ ⵙ ⴱⴰⵛⴽⴻⵏⴷⵏⵏⴻⵖ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵜⵎⴻⵥⵍⴰ ⵏ ⵓⵇⴻⴷⴷⴰⵛ “ⵜⴰⵙⵓⵇⵉⵍⵜ” (ⴰⴷ ⵜⵜⵏⴻⵙⴼⴻⵀⵎⴻⴹ ⴷⴻⴳ ⵓⵃⵔⵉⵛ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ) .
-
ⴰⵣⵏⴻⴹ ⴰⴹⵔⵉⵙ ⵢⴻⵜⵜⵡⴰⵙⵓⵇⵍⴻⵏ ⵖⴻⵔ UI.
ⵜⴰⵖⵓⵍⵜ ⵏ ⵓⵇⴻⴷⴷⴰⵛ
ⴰⴷ ⵏⵡⴰⵍⵉ ⵙ ⵜⵎⵓⵖⵍⵉⴰⴳⵉ ⵏ ⵜⴼⴻⵍⵡⵉⵜ:
translated_text=anvil.server.call("translation",text,src_lang,dest_lang)
ⵏⴻⵙⵙⴻⵇⴷⴰⵛ anvil.server.ⵛⴰⵍⵍ ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴻⵙⵙⵉⵡⴻⵍ ⵉ ⵜⵎⴻⵥⵍⴰ ⵏ ⵓⵇⴻⴷⴷⴰⵛ ⵓⵎⵉ ⵇⵇⴰⵔⴻⵏ ⴰⵙⵓⵇⴻⵍ
ⴰⵔⴰ ⴷⵏⴻⵙⵙⴻⴱⴷⴻⴷ ⴷⴻⴳ ⵓⴹⵔⵉⵙⵏⵏⴻⵖ ⵏ ⴱⴰⵛⴽⴻⵏⴷ ⴷⴻⴳ ⵜⵎⴰⵛⵉⵏⵜ ⵜⴰⴷⵉⴳⴰⵏⵜ.
ⵜⴰⵖⵓⵍⵜⴰ ⴰⴷ ⵜⵉⵍⵉ ⴷ ⵜⵓⵇⵇⵏⴰ ⴳⴰⵔ ⵡⴻⴱ UI ⴷ ⵓⴹⵔⵉⵙ ⵏ ⴱⴰⵛⴽⴻⵏⴷ ⴰⵔⴰ ⵉⵅⴻⴷⴷⵎⴻⵏ ⴷⴻⴳ ⵓⵎⴹⴰⵏⵏⵏⴻⵖ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ.
ⴰⴽⴽⴻⵏ ⵜⴳⴻⵔⴹ ⵜⴰⵎⴰⵡⵜ ⵏⴻⵜⵜⴰⵣⴻⵏ ⴷⴰⵖⴻⵏ ⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵏ ⵜⵎⴻⵥⵍⴰⴰⴳⵉ ⴷⴻⴳ ⵜⵎⴻⵥⵍⴰ anvil.server.ⵛⴰⵍⵍ
.
ⵙⵙⴻⵇⴷⴻⵛ ⴰⵎⵓⴷⵏⵏⴻⵖ ⵏ MT
ⴰⴷ ⵏⴻⵙⵙⴻⵔⵙ ⵜⴰⵣⵡⴰⵔⴰ anvil
pip install anvil-uplink
ⵜⵓⵔⴰ ⵏⴻⴱⵏⴰⴷ ⵜⴰⵖⴻⵛⵜⵏⵏⴻⵖ ⵡⴻⴱ ⴷⴻⴳ ⵓⵎⴻⵙⵏⵉⵍⴻⵙ ⵏ anvil ⵢⴻⵔⵏⴰ ⵏⴻⵙⵄⴰ ⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵏ ⵜⵎⴻⵏⴹⴰⵡⵜ ⵏ ⵍⵍⵙⴰⵙ ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴻⵅⴷⴻⵎ ⴰⵎⵓⴷⵏⵏⴻⵖ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⵏ ⵜⵎⴰⵛⵉⵏⵉⵏ ⵢⴻⵔⵏⴰ ⴰⴷ ⵏⴻⵅⴷⴻⵎ ⵜⴰⵙⵓⵇⵉⵍⵜ.
ⴰⴹⵔⵉⵙ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ ⴷ ⴰⵙⴻⴱⴷⴻⴷ ⵏ ⵜⵎⴻⵥⵍⴰ ⵏ ⵓⵇⴻⴷⴷⴰⵛ ⵉⵖⴻⴼ ⴷⵏⴻⵎⵎⴻⵙⵍⴰⵢ ⴷⴻⴳ ⵓⵃⵔⵉⵛ ⵉⵄⴻⴷⴷⴰⵏ.
ⴰⵜⴰⵏ ⵓⴽⴰⵔⴰⵎ ⵏ ⵜⴻⵖⵍⵉⴼⵜ:
@anvil.server.callable
def translation(text,src,dest):
lang_code={"English":"en",
"German":"de",
"French":"fr",
"Spanish":"es"}
model=MarianMTModel.from_pretrained("./models/"+lang_code[src]+"_"+lang_code[dest])
tok=MarianTokenizer.from_pretrained("./models/"+lang_code[src]+"_"+lang_code[dest]+"/tok")
gen = model.generate(**tok.prepare_seq2seq_batch(src_texts=[text], return_tensors="pt"))
words: List[str] = tok.batch_decode(gen, skip_special_tokens=True)
return words[0]
ⵜⴰⵖⵓⵍⵜⴰ ⴰⴷ ⵜⴻⵟⵟⴻⴼ 3 ⵏ ⵢⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵢⴻⵜⵜⵡⴰⵣⴻⵏ ⵙⴻⴳ frontend, ⴰⴷ ⵜⴻⵙⵙⴻⵎⵍⵉⵍ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵖⴱⴰⵍⵓ ⴷ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵜⵖⴻⵔⵖⴻⵔⵜ ⵙ ⵢⵉⴼⵓⵢⵍⴰ ⵏ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵢⴰⵍ ⵢⵉⵡⴻⵏ ⵙⵢⴻⵏ ⴰⴷ ⵜⴻⵞⵞⴰⵔ ⵉⵎⵓⴷⴻⵍ ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⴻⵃⵙⴻⴱ ⵜⴰⵙⵓⵇⵉⵍⵜ ⵢⴻⵔⵏⴰ ⴰⴷ ⴷⵜⴻⵔⵔ ⴰⴳⵎⵓⴹ.
ⴰⴱⵔⵉⴷ ⵉ ⵡⴰⴽⴽⴻⵏ ⴰⴷ ⴷⵜⴻⵙⵙⴻⴽⵏⴻⴹ ⵜⴰⵖⵓⵍⵜⴰ ⵉ anvil ⴰⵎ ⵜⴰⵖⵓⵍⵜ ⵏ ⵓⵇⴻⴷⴷⴰⵛ ⴷ ⴰⵙⴻⵇⴷⴻⵛ ⵏ ⵓⵎⵛⴻⴱⴱⴻⵃ
@anvil.ⴰⵇⴻⴷⴷⴰⵛ.ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⴻⵜⵜⵡⴰⵙⴻⵎⵎⴰ
.
ⵏⴻⵙⵄⴰ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵡⵉⵔ ⴰⵏⴻⴳⴳⴰⵔⵓ ⴰⵔⴰ ⵏⴻⵅⴷⴻⵎ ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴻⵙⵙⴻⵎⵍⵉⵍ ⴰⴽⴰⵔⴰⵎ ⵏ ⴱⴰⵛⴽⴻⵏⴷ ⵉ ⵏⴻⵣⵎⴻⵔ ⴰⴷ ⵜⵏⴻⵅⴷⴻⵎ ⴷⴻⴳ ⵢⵉⵡⴻⵏ ⵏ ⵓⴷⵍⵉⵙ ⵏ jupyter ⵙ ⵓⵙⴻⵇⴷⴻⵛⵏⵏⴻⵖ ⵏ anvil.
ⴰⴷ ⵜⵕⵓⵃⴻⴹ ⵖⴻⵔ ⵓⵎⴻⵙⴽⴰⵔ ⵏ l’internet anvil, ⴰⴷ ⵜⵜⴻⴽⵙⴻⴹ ⵖⴻⴼ ⵜⴼⴻⵍⵡⵉⵜ ⵏ ⵜⵎⴻⵥⴷⵉⵜ, ⵙⵢⴻⵏ ⴰⴷ ⵜⵜⴻⴽⵙⴻⴹ ⵖⴻⴼ “Uplink...”.
ⵡⴰⵍⵉ ⵜⴰⵙⴻⴽⴽⵉⵔⵜ ⴷⴷⴰⵡⴰ
ⴰⴷ ⵜⵡⴰⵍⵉⴹ ⴰⴷ ⴷⵢⴻⴼⴼⴻⵖ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵎⴻⵍ, ⵙⵢⴻⵏ ⴰⴷ ⵜⵜⴻⴽⵙⴻⴹ ⵖⴻⴼ “Sseqdec ⴰⵙⴻⵏⵇⴻⴷ ⵏ ⵓⵇⴻⴷⴷⴰⵛ ⵉ ⵜⴻⵙⴳⵉⵍⵜⴰ” ⴰⴽⴽⴻⵏ ⴰⴷ ⴷⵜⴰⴼⴻⴹ ⴰⴽⴰⵔⴰⵎ ⵏ ⵜⵓⵇⵇⵏⴰ ⵉ ⵜⴻⵙⵏⵓⵍⴼⵓⴹ.
ⵜⴹⴻⴳⴳⵔⴻⴹ ⴰⴽⴰⵔⴰⵎ ⴷⴻⴳ ⵓⴹⵔⵉⵙ ⵏ ⵓⴽⴰⵔⴰⵎ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ:
anvil.server.connect("code here")
ⵜⴰⵖⴻⵛⵜⴰ ⴰⴷ ⵜⴻⴱⴷⵓ ⴰⵇⴻⴷⴷⴰⵛ ⴰⵔⴰ ⵉⵛⵓⴷⴷⴻⵏ ⴰⵙⴻⴽⴽⵉⵍⵉⴽ ⵏ ⵓⴹⵔⵉⵙ ⴰⴷⵉⴳⴰⵏ ⵏⴻⵖ ⴰⴹⵔⵉⵙ ⵏ jupyter ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⵏ anvil ⵙ ⵜⵎⴻⵥⵍⴰ ⵜⴰⵙⵓⵇⵉⵍⵜ
ⵢⴻⵜⵜⵡⴰⵙⴽⴻⵍⵙⴻⵏ ⴷ ⵜⵎⴻⵥⵍⴰ ⵏ ⵓⵇⴻⴷⴷⴰⵛ.
ⴰⵙⵓⵔⵉⴼ ⴰⵏⴻⴳⴳⴰⵔⵓ
ⴰⵔ ⴰⵙⵙⴰ, ⵜⴻⵙⵄⵉⴹ ⴰⵇⴻⴷⴷⴰⵛⵉⴽ ⵏ ⴱⴰⵛⴽⴻⵏⴷ ⵢⴻⵜⵜⵡⴰⵅⴷⴻⵎ ⵙ ⵜⵎⴻⵥⵍⴰ ⵏ ⵓⵇⴻⴷⴷⴰⵛ ⵉ ⵢⴻⵜⵜⵃⴰⵣⴻⵏ ⴰⵎⴹⴰⵏ ⵏ ⵜⵙⵓⵇⵉⵍⵜ ⵏ ⵜⵎⴰⵛⵉⵏⵜ ⵢⴻⵔⵏⴰ ⵉⵅⴻⴷⴷⴻⵎ ⵜⴰⵙⵓⵇⵉⵍⵜ ⴷⴻⴼⴼⵉⵔ ⵎⴰ ⵜⵃⴻⵙⴱⴻⴹ ⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵢⴻⵜⵜⵡⴰⵣⴻⵏ ⵙⴻⴳ frontend. ⴰⴹⵔⵉⵙⴰ ⵢⴻⵙⵙⴻⴳⵣⴰⵢⴷ ⴰⵢⴻⵏ ⵉ ⴷⵏⴻⵙⵙⴻⴹⵔⴰ ⴰⴽⴽ ⴰⵔ ⴰⵙⵙⴰ.
ⴰⴹⵔⵉⵙ ⴰⵏⴻⴳⴳⴰⵔⵓ ⴷ ⴰⵙⴻⵇⴷⴻⵛ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵙ ⵓⴹⴼⴰⵔ ⵏ ⵜⵎⴻⵥⴷⵉⵜ ⵏ ⵓⵙⵙⴻⵇⴷⴻⵛ ⴷⴻⴳ ⵜⵍⴻⵎⵎⴰⵙⵜ ⵏ ⵜⴼⴻⵍⵡⵉⵜ ⵏ ⵓⵎⴻⵙⵏⵉⵍⴻⵙ ⵏ anvil.
ⴷⴻⴼⴼⵉⵔ ⵎⴰ ⵜⴻⵙⴱⴻⴷⴷⴻⴹ ⴰⵙⴻⵏⴼⴰⵔⵏⵏⵉ ⴰⴷ ⵜⵡⴰⵍⵉⴹ ⴷⴻⴳ ⵜⵍⴻⵎⵎⴰⵙⵜ ⵏ ⵓⴼⴻⵍⵍⴰ ⵏ ⵢⵉⴷⵉⵙ ⴰⵢⴻⴼⴼⵓⵙ ⵢⵉⵡⴻⵏ ⵏ ⵓⴹⴻⴱⵙⵉ “ⵙⵙⵓⴼⵖⴻⴹ ⴰⵙⴻⵏⴼⴰⵔⴰ” ⴰⵔⴰ ⴽⴷ-ⵢⴻⴼⴽⴻⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵎⴻⵍ ⵉ ⵜⵣⴻⵎⵔⴻⴹ ⴰⴷ ⵜⵜⴻⴱⴹⵓⴹ ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⴽⴻⵛⵎⴻⴹ ⴰⵙⴻⵏⴼⴰⵔⵏⵏⵉ ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⵅⴻⴷⵎⴻⴹ ⵜⴰⵙⵓⵇⵉⵍⵜⵉⴽ!
ⵜⴰⴳⴳⴰⵔⴰ
ⵙ ⵓⴹⴼⴰⵔ ⵏ ⵓⵎⴰⴳⵔⴰⴷⴰ ⵜⵣⴻⵎⵔⴻⴹ ⴰⴷ ⵜⴻⵙⴱⴻⴷⴷⴻⴹ ⴰⵎⴹⴰⵏ ⵏ MT ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⴻⴱⵏⵓⴹ ⵜⴰⵖⴻⵛⵜ ⵡⴻⴱ ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⵜⴻⵙⵇⴻⴷⵛⴻⴹ.
ⵎⴰⵣⴰⵍ ⴰⵟⴰⵙ ⴰⵔⴰ ⴷⵜⴰⴼⴻⴹ ⵖⴻⴼ ⵡⴰⵎⴻⴽ ⴰⵔⴰ ⵜⴻⵙⴱⴻⴷⴷⴻⴹ ⵙ ⵜⵖⴰⵡⵍⴰ ⴰⵎⴹⴰⵏ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⵏ anvil ⵎⴰⵛⴰ ⵜⵓⵔⴰ ⵜⴻⵙⵄⵉⴹ ⵍⵙⴰⵙ ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⴻⴱⴷⵓⴹ ⵜⵉⴽⵍⵉⵉⵏⴻⴽ ⵏ ⵓⵙⴱⴻⴷⴷⵉ ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⴻⵙⵏⴻⵔⵏⵉⴹ ⵜⴰⵣⵎⴻⵔⵜ ⵏ ⵜⵎⵓⵙⵏⵉⵉⵏⴻⴽ ⵏ ⵣⵉⴽ ⴷⴻⴳ Python ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⵅⴻⴷⵎⴻⴹ ⴰⵟⴰⵙ ⵏ ⵡⴰⵢⴻⵏ ⵏⵏⵉⴹⴻⵏ!
ⴰⵙⴷ ⵖⴻⵔ ⵢⵉⵡⴻⵏ ⵙⴻⴳ ⵢⵉⵙⴰⵔⴰⴳⴻⵏⵏⵏⴻⵖ ⵉⵍⴻⵍⵍⵉⵢⴻⵏ
ⴱⴷⵓ ⵛⵛⵖⴻⵍⵉⴽ ⴷ ⴰⵎⵓⵙⵏⴰⵡ ⵏ ⵢⵉⵙⴻⴼⴽⴰ ⵙ ⵜⵉⵖⴰⵡⵙⵉⵡⵉⵏⵏⵏⴻⵖ ⵜⵉⵍⴻⵍⵍⵉⵢⵉⵏ, ⴰⵢ ⴷⵢⴻⵍⵍⴰⵏ ⵙ ⵍⵙⴰⵙ ⵏ ⵡⴰⵀⵉⵍ ⵏ ⵓⵙⴻⵍⵎⴻⴷ ⴰⵢ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⵢⴻⵜⵜⵡⴰⵙⵏⴻⴼⵍⵉ ⵢⴻⵔⵏⴰ ⵜⵜⵡⴰⴹⴻⴼⵔⴻⵏ ⵙⵖⵓⵔ ⵢⵉⵎⴰⵣⵣⴰⵢⴻⵏ ⵏ ⵜⴻⵎⴳⵓⵔⵉ.