Spaces:
Runtime error
Runtime error
Upload 2 files
Browse files- app.py +48 -0
- requirements.txt +3 -0
app.py
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import re
|
2 |
+
import gradio as gr
|
3 |
+
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
|
4 |
+
|
5 |
+
model_name = 'anugrahap/gpt2-indo-textgen'
|
6 |
+
|
7 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name, padding_side='left')
|
8 |
+
model = AutoModelForCausalLM.from_pretrained(model_name, pad_token_id=tokenizer.eos_token_id)
|
9 |
+
|
10 |
+
generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
|
11 |
+
|
12 |
+
def generate(text,min_length,max_length,temperature):
|
13 |
+
if min_length<=max_length:
|
14 |
+
result = generator(text, min_length=min_length, max_length=max_length, temperature=temperature, num_return_sequences=1)
|
15 |
+
return result[0]["generated_text"]
|
16 |
+
else:
|
17 |
+
return "Max Length must be greater or equals to Min Length!"
|
18 |
+
|
19 |
+
examples = [
|
20 |
+
["Skripsi merupakan tugas akhir mahasiswa", 10, 30, 1.0],
|
21 |
+
["Nama aku budi, aku adalah seorang", 20, 40, 2.0],
|
22 |
+
["Indonesia adalah negara kepulauan", 30, 50, 5.0],
|
23 |
+
]
|
24 |
+
|
25 |
+
title = "GPT-2 Indonesian Text Generation"
|
26 |
+
description = "This project is a part of thesis requirement of Anugrah Akbar Praramadhan"
|
27 |
+
|
28 |
+
article = """<p style='text-align: center'> Copyright Anugrah Akbar Praramadhan 2023 <br>
|
29 |
+
<p style='text-align: center'> Trained on Indo4B Benchmark Dataset of Indonesian language Wikipedia with a Causal Language Modeling (CLM) objective <br>
|
30 |
+
<p style='text-align: center'><a href='https://huggingface.co/anugrahap/gpt2-indo-textgen' target='_blank'>Link to Trained Model</a><br>
|
31 |
+
<p style='text-align: center'><a href='https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf' target='_blank'>Original Paper</a>
|
32 |
+
"""
|
33 |
+
|
34 |
+
demo = gr.Interface(
|
35 |
+
fn=generate,
|
36 |
+
inputs=[gr.inputs.Textbox(lines=5, label="Input Text"),
|
37 |
+
gr.Slider(label="Min Length", minimum=10, maximum=50, value=10, step=5),
|
38 |
+
gr.Slider(label="Max Length", minimum=20, maximum=100, value=30, step=10),
|
39 |
+
gr.Number(label="Temperature/Randomness (ideally 1-10)", value=1.0)],
|
40 |
+
outputs=gr.outputs.Textbox(label="Generated Text"),
|
41 |
+
examples=examples,
|
42 |
+
title=title,
|
43 |
+
description=description,
|
44 |
+
article=article)
|
45 |
+
|
46 |
+
|
47 |
+
if __name__ == "__main__":
|
48 |
+
demo.launch()
|
requirements.txt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
gradio==3.16.1
|
2 |
+
torch==1.9.0
|
3 |
+
transformers==4.25.1
|