Spaces:
Runtime error
Runtime error
updated the prompts
Browse files- app/abstract_dataset.py +0 -62
- app/app.py +4 -3
- app/prompts.py +33 -52
app/abstract_dataset.py
DELETED
@@ -1,62 +0,0 @@
|
|
1 |
-
import torch
|
2 |
-
import random
|
3 |
-
from torch.utils.data import Dataset
|
4 |
-
|
5 |
-
|
6 |
-
class AbstractDataset(Dataset):
|
7 |
-
special_tokens = {"bos_token": "<|BOS|>",
|
8 |
-
"eos_token": "<|EOS|>",
|
9 |
-
"unk_token": "<|UNK|>",
|
10 |
-
"pad_token": "<|PAD|>",
|
11 |
-
"sep_token": "<|SEP|>"}
|
12 |
-
max_length = 1024
|
13 |
-
|
14 |
-
def __init__(self, data, tokenizer, randomize=True):
|
15 |
-
title, text, keywords = [], [], []
|
16 |
-
for k, v in data.items():
|
17 |
-
title.append(v[0])
|
18 |
-
text.append(v[1])
|
19 |
-
keywords.append(v[2])
|
20 |
-
|
21 |
-
self.randomize = randomize
|
22 |
-
self.tokenizer = tokenizer
|
23 |
-
self.title = title
|
24 |
-
self.text = text
|
25 |
-
self.keywords = keywords
|
26 |
-
|
27 |
-
@staticmethod
|
28 |
-
def join_keywords(keywords, randomize=True):
|
29 |
-
N = len(keywords)
|
30 |
-
|
31 |
-
# random sampling and shuffle
|
32 |
-
if randomize:
|
33 |
-
# M = random.choice(range(N + 1))
|
34 |
-
# keywords = keywords[:M]
|
35 |
-
random.shuffle(keywords)
|
36 |
-
|
37 |
-
return ','.join(keywords)
|
38 |
-
|
39 |
-
|
40 |
-
def __len__(self):
|
41 |
-
return len(self.text)
|
42 |
-
|
43 |
-
|
44 |
-
def __getitem__(self, i):
|
45 |
-
keywords = self.keywords[i].copy()
|
46 |
-
kw = self.join_keywords(keywords, self.randomize)
|
47 |
-
|
48 |
-
input = self.special_tokens['bos_token'] + self.title[i] + \
|
49 |
-
self.special_tokens['sep_token'] + kw + self.special_tokens['sep_token'] + \
|
50 |
-
self.text[i] + self.special_tokens['eos_token']
|
51 |
-
|
52 |
-
encodings_dict = self.tokenizer(input,
|
53 |
-
truncation=True,
|
54 |
-
max_length=self.max_length,
|
55 |
-
padding="max_length")
|
56 |
-
|
57 |
-
input_ids = encodings_dict['input_ids']
|
58 |
-
attention_mask = encodings_dict['attention_mask']
|
59 |
-
|
60 |
-
return {'label': torch.tensor(input_ids),
|
61 |
-
'input_ids': torch.tensor(input_ids),
|
62 |
-
'attention_mask': torch.tensor(attention_mask)}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/app.py
CHANGED
@@ -66,9 +66,7 @@ def process(title: str, keywords: str, text: str,
|
|
66 |
penalty_alpha = 0.6):
|
67 |
# st.write("Cache miss: process")
|
68 |
url = 'https://news-api.uncool.ai/api/text_generator/v1'
|
69 |
-
print("news_api_auth_token:", news_api_auth_token)
|
70 |
headers = {'Authorization': 'Bearer ' + news_api_auth_token}
|
71 |
-
print("Requesting to news-api.uncool.ai with headers: ", headers)
|
72 |
data = {
|
73 |
"title": title,
|
74 |
"keywords": keywords,
|
@@ -122,7 +120,10 @@ if prompt_group_name in ["Indonesian Newspaper"]:
|
|
122 |
session_state.keywords = ""
|
123 |
else:
|
124 |
if session_state.prompt is not None and session_state.prompt_box is None:
|
125 |
-
|
|
|
|
|
|
|
126 |
|
127 |
session_state.title = st.text_input("Title", session_state.title)
|
128 |
session_state.keywords = st.text_input("Keywords", session_state.keywords)
|
|
|
66 |
penalty_alpha = 0.6):
|
67 |
# st.write("Cache miss: process")
|
68 |
url = 'https://news-api.uncool.ai/api/text_generator/v1'
|
|
|
69 |
headers = {'Authorization': 'Bearer ' + news_api_auth_token}
|
|
|
70 |
data = {
|
71 |
"title": title,
|
72 |
"keywords": keywords,
|
|
|
120 |
session_state.keywords = ""
|
121 |
else:
|
122 |
if session_state.prompt is not None and session_state.prompt_box is None:
|
123 |
+
choice = random.choice(PROMPT_LIST[prompt_group_name][session_state.prompt])
|
124 |
+
session_state.title = choice["title"]
|
125 |
+
session_state.keywords = choice["keywords"]
|
126 |
+
session_state.prompt_box = choice["text"]
|
127 |
|
128 |
session_state.title = st.text_input("Title", session_state.title)
|
129 |
session_state.keywords = st.text_input("Keywords", session_state.keywords)
|
app/prompts.py
CHANGED
@@ -1,57 +1,38 @@
|
|
1 |
PROMPT_LIST = {
|
2 |
-
"Indonesian
|
3 |
-
"
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
"Ir. H. Soekarno adalah Presiden pertama Republik Indonesia. Ia adalah seorang tokoh perjuangan yang memainkan peranan penting dalam memerdekakan bangsa Indonesia",
|
20 |
-
"Borobudur adalah sebuah candi Buddha yang terletak di sebelah barat laut Yogyakarta. Monumen ini merupakan model alam semesta dan dibangun sebagai tempat suci untuk memuliakan Buddha"
|
21 |
-
],
|
22 |
-
},
|
23 |
-
"Indonesian Literature": {
|
24 |
-
"Adult Romance": [
|
25 |
-
"Ini adalah kisah tentang seorang laki-laki yang berusaha memperjuangkan cintanya",
|
26 |
-
"Alunan musik terdengar memenuhi ruangan kantor, cowok itu duduk di balik meja kerjanya sambil memejamkan mata. Berusaha meresapi nada per nada",
|
27 |
-
"Aku mencari dan terus mencari\nDimana bahagia akan kutemui\nKumencari terus mencari\nHingga ku tak mengerti arti hari-hari",
|
28 |
-
"Gadis itu mengharuskan dirinya tegar, dan kuat dalam menghadapi masalah. Menahan air matanya jatuh setiap kali ingin menangis"
|
29 |
],
|
30 |
-
"
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
],
|
35 |
-
"Poetry": [
|
36 |
-
"Aku ingin menulis sajak\nyang melesat dalam kejap\nmenembus hati yang pejam\nmemaksa mimpimu terjaga\ndari semu",
|
37 |
-
"Malam ini langitku lengang\ntiada hujan yang membasuh rindu\npun awan yang biasanya temani seruput kopimu",
|
38 |
-
"Di sisimu waktu menjelma\nsetangkai kembang api\ngelora membakar tanpa jeda\nmemercik pijar binar kita."
|
39 |
-
]
|
40 |
-
},
|
41 |
-
"Indonesian Newspaper": {
|
42 |
-
"Biologi (biology)": [
|
43 |
-
"Tujuan penelitian ini untuk menentukan keanekaragaman Arthropoda pada lahan pertanian kacang",
|
44 |
-
"Identifikasi spesies secara molekuler sangat diperlukan dalam mempelajari taksonomi",
|
45 |
-
"Penelitian ini bertujuan untuk menentukan identitas invertebrata laut dari Perairan Papua dengan teknik DNA barcoding"],
|
46 |
-
"Psikologi (psychology)": [
|
47 |
-
"Penelitian ini bertujuan untuk mengetahui perilaku wirausaha remaja yang diprediksi dari motivasi intrinsik",
|
48 |
-
"Tujuan dari penelitian ini adalah untuk mendapatkan data empiris mengenai gambaran peta bakat mahasiswa Fakultas Psikologi Unjani"],
|
49 |
-
"Ekonomi (economics)": [
|
50 |
-
"Faktor kepuasan dan kepercayaan konsumen merupakan dua faktor kunci dalam meningkatkan penetrasi e-commerce. Penelitian yang dilakukan",
|
51 |
-
"Penelitian ini bertujuan untuk menganalisis pola konsumsi pangan di Indonesia",
|
52 |
-
"Model GTAP diimplementasikan untuk melihat dampak yang ditimbulkan pada PDB"],
|
53 |
-
"Teknologi Informasi (IT)": [
|
54 |
-
"pembuatan aplikasi ini menggunakan pengembangan metode Waterfall dan dirancang mengguynakan Unified Modeling Language (UML) dengan bahasa pemrograman",
|
55 |
-
"Berdasarkan masalah tersebut, maka penulis termotivasi untuk membangun Pengembangan Sistem Informasi Manajemen"]
|
56 |
},
|
57 |
}
|
|
|
1 |
PROMPT_LIST = {
|
2 |
+
"Indonesian Newspaper": {
|
3 |
+
"Politik": [
|
4 |
+
{
|
5 |
+
"title": "Wapres Berharap Muhammadiyah Berkontribusi Wujudkan Indonesia Emas",
|
6 |
+
"keywords": "Indonesia Emas, Muhammadiyah, Wapres",
|
7 |
+
"text": "Wakil Presiden (Wapres) Ma'ruf Amin berharap Muhammadiyah dapat berkontribusi dalam upaya mewujudkan Indonesia Emas pada tahun 2045 mendatang."
|
8 |
+
},
|
9 |
+
{
|
10 |
+
"title": "Jokowi: Pembangunan Infrastuktur Perlu Berdayakan Masyarakat Setempat",
|
11 |
+
"keywords": "Infrastuktur, Jokowi, Masyarakat",
|
12 |
+
"text": "Presiden Joko Widodo menekankan bahwa pembangunan infrastruktur perlu memberdayakan masyarakat dan ekonomi setempat agar memiliki rasa kepemilikan yang tinggi disertai dukungan bagi negara berkembang untuk membangun kapasitas dan kemampuan mandiri"
|
13 |
+
},
|
14 |
+
{
|
15 |
+
"title": "PKB Nilai Jokowi Masih Menimbang Beri Dukungan ke Prabowo atau Ganjar",
|
16 |
+
"keywords": "Joko Widodo, Prabowo Subianto, Ganjar Pranowo",
|
17 |
+
"text": "Wakil Sekretaris Jenderal (Wasekjen) Partai Kebangkitan Bangsa (PKB) Syaiful Huda menilai, Presiden Joko Widodo masih menimbang bakal memberikan dukungan pada Prabowo Subianto atau Ganjar Pranowo."
|
18 |
+
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
],
|
20 |
+
"Wisata": [
|
21 |
+
{
|
22 |
+
"title": "Kebun Raya Bogor sebagai Taman Hutan Raya Terbesar di Indonesia",
|
23 |
+
"keywords": "2022",
|
24 |
+
"text": "Pemerintah Kota (Pemkot) Bogor, Jawa Baat berencana membangun kebun raya seluas 87.3 hektar"
|
25 |
+
},
|
26 |
+
{
|
27 |
+
"title": "Kepulauan Raja Ampat",
|
28 |
+
"keywords": "Papua Barat, Wisata",
|
29 |
+
"text": "Kepulauan Raja Ampat merupakan rangkaian empat gugusan pulau yang berdekatan dan berlokasi di barat bagian Kepala Burung (Vogelkoop) Pulau Papua."
|
30 |
+
},
|
31 |
+
{
|
32 |
+
"title": "Ubud, kota indah di Bali",
|
33 |
+
"keywords": "Ubud, Wisata",
|
34 |
+
"text": "Ubud adalah sebuah desa adat sekaligus menjadi destinasi wisata di daerah kabupaten Gianyar, pulau Bali, Indonesia."
|
35 |
+
},
|
36 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
},
|
38 |
}
|