Hello, so i using gpt 35 turbo instruct to generate grammar and clarity review for slideshow, firstly i tried to make review request every 1 slide and it works and when i tried to review in batch( 1 batch = 5 slide) the model suddenly wont generate anything and not throwing any error. what seems the problem here?
I think the problem is from your prompting, your input token might be over 1k token and that makes the model not generate anything.
wait, i thought there is no limit on token input. my input token still 1247 by the way
You’ll at least supposed to get a response code. Not getting anything at all would indicate that there’s something wrong with your network. But I don’t think that’s the case. Do you wanna share the code you’re using?
This is a completion model, with some instruction training - including training on when to stop the output.
If you provide something as a context that already looks like there is nothing more to write, and don’t also provide some prompt where the AI can form an answer, then you can get nothing but a “done” token, no matter how many times you submit.
hello there, sorry for my late response. this is my code it is
text_prompt = prompt(module_name, purpose, slide, content)
openai.api_key = os.getenv("API_KEY")
openai.api_base = os.getenv("API_BASE") # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
openai.api_type = 'azure'
openai.api_version = '2023-05-15' # this may change in the future
# Send a completion call to generate an answer
print('checking for', purpose, 'on slide', slide, '...')
deployment_name='corpu-text-davinci-003'
# deployment_name='corpu-gpt-35-turbo-instruct'
if purpose == "eyd" :
max_tokens = 700
temperature = 0.2
else :
max_tokens = 2000
temperature = 0.4
response = openai.Completion.create(engine=deployment_name,
prompt=text_prompt,
temperature = temperature,
seed = 20,
max_tokens=max_tokens,
)
text = response['choices'][0]['text'].replace('\n', '').replace(' .', '.').strip()
return text
And this is the prompt that i use (the prompt written in indonesian language)
Anda adalah ahli reviewer yang dapat mengerti konteks pada materi AAMR\Materi Shot List.pptx Anda akan mendapatkan data konten dari materi AAMR\Materi Shot List.pptx slide 3 4 5 dalam bentuk teks.
Tugas anda adalah MEMBACA KONTEN TERSEBUT SAMPAI SELESAI PADA SETIAP SLIDE, dan setelah itu ANDA AKAN MEMERIKSA APAKAH KONTEN TERSEBUT SUDAH JELAS ATAU BELUM.
ANDA TIDAK AKAN MENAMBAHKAN KOMENTAR DAN PENJELASAN APAPUN TENTANG KONTEN YANG DIBERIKAN.
Aspek yang hanya perlu diperhatikan adalah KEJELASAN dari konten yang diberikan.
PASTIKAN ANDA MEMAHAMI KONTEKS KONTEN DENGAN MEMBACA SELURUH SLIDE ATAU SLIDE SEBELUM DAN SESUDAHNYA.
Saat proses review, KATA-KATA INI DILARANG UNTUK DIREVIEW :
- KATA TEKNIS SEPERTI NAMA FUNGSI, METODE, SINTAKS, ATAU VARIABEL DALAM BAHASA PEMOGRAMAN
- MENERJEMAHKAN KATA-KATA BAHASA ASING ATAU BUKAN BERBAHASA INDONESIA
- SINGKATAN ATAU AKRONIM KARENA BIASANYA SINGKATAN
- KATA ILMIAH ATAU ISTILAH KHUSUS SEPERTI ADIKTIF, KONSERVATIF, SHADOW EDGE TRANSFER, KONSOLIDASI, DAN LAIN LAIN
Apabila konten dari slide tersebut sudah jelas, maka respon yang WAJIB diberikan adalah 'kalimat-kalimat tersebut sudah jelas' saja.
Jika konten dari slide tersebut belum jelas, maka sangat wajib untuk menjawab dengan struktur di bawah ini :
---
slide : *nomor slide pada konten*
kalimat : *kalimat yang tidak jelas pada konten materi*
alasan : *alasan kenapa konten tersebut tidak jelas*
rekomendasi : *rekomendasi kalimat untuk memperbaiki kalimat yang tidak jelas tanpa komentar atau penjelasan*
---
Contoh dari penggunaan struktur diatas :
slide : 28 kalimat : Apabila data tersebut ter-update pada Google Drive, untuk memperbaharui visualisasi data pilih pada “Orders” kemudian pilih “Refresh” seperti pada ilustrasi ke 1. kemudian visualisasi berubah menjadi pada ilustrasi ke 2 alasan : kalimat tersebut dapat di improvisasi rekomendasi : Untuk memperbarui visualisasi data, pilih "Orders" pada Google Drive dan klik "Refresh" seperti pada ilustrasi ke 1. Setelah itu, visualisasi akan berubah seperti pada ilustrasi ke 2.
---
Berikut adalah konten yang wajib anda review
Slide : 3
konten : Shot List > Pengenalan Shot ListTopik 1 – Pengenalan Shot List
---
Slide : 4
konten : Shot List > Pengenalan Shot ListPengenalan Shot List1a. PengantarMemproduksi sebuah film ada tahap-tahapannya. Terdapat 3 tahapan produksi film yaitu pra produksi, produksi, dan pasca produksi. Pada tahapan pra produksi, perancang harus merancang dan menyempurnakan konsep film dari awal sampai akhir. Pada tahap ini meliputi membuat naskah/script, membentuk kru, memilih pemain/talent, membuat shot list, menggambar storyboard, menyusun jadwal syuting, dan lain-lain adalah bagian yang sangat penting.Salah satu pekerjaan yang krusial adalah membuat shot list. Shot list atau daftar shot erat hubungannya dengan kelancaran pekerjaan sutradara, director of photography, cameraman, art department, dan video editor saat membuat film.Karena dengan adanya Shot List mampu memudahkan saat tahap produksi/ saat proses pengambilan semua adegan. Hal ini juga membantu video editor karena dengan adanya Shot List mampu menjadi acuan yang digunakan untuk memeriksa kelengkapan sebuah film saat syuting
---
Slide : 5
konten : Shot List > Pengenalan Shot ListPengenalan Shot List1b. Shot ListShot list adalah dokumen yang dibuat untuk memetakan apa saja aspek yang harus dilengkapi saat membuat
film. Dokumen ini dibuat berdasarkan adegan yang ada di dalam naskah, kemudian dipecah menjadi scene, shot, camera angle, camera move, dll.
---
review lah konten diatas dengan struktur yang sudah dijelaskan sebelumnya dan PASTIKAN UNTUK PAHAM DENGAN KONTEKS KALIMAT YANG DIBERIKAN.```
why not put
print(response)
in there so we know what you get back?
so if i want the model to fix the grammar of the text and then the text is already well written, that means i got no response with done token?
this is the result
{
"id": "cmpl-954xkt406uS8a8iSSTlfgv5qhCveA",
"object": "text_completion",
"created": 1710997744,
"model": "text-davinci-003",
"choices": [
{
"text": "",
"index": 0,
"finish_reason": "stop",
"logprobs": null
}
],
"usage": {
"prompt_tokens": 1471,
"total_tokens": 1471
}
}
It looks like i have not reached max token, so the problem is not from the max token
so this is good, it means that the model thinks your document is complete.
I had your doc translated
So to me, this looks like a completed document. It looks like a school assignment or something. There is nothing really there left to add, and the model says so by sending the stop token.
While it’s not super clear and there’s room for improvement, it’s something you would rather give to a chat model, as opposed to a completion model.
If you want to use a completion model, you have to make your prompt look like an incomplete document.
example:
This is the text to be proof-read:
--------
bla bla bla bla
etc etc
qed.
--------
Here is the text rewritten, with all potential grammatical errors corrected:
--------
As you can see, the prompt stops in medias res. Davinci will then fill in the rest until a believably complete document has been composed.
but again: if you’re looking for chatgpt like behavior, I’d recommend using a gpt-3.5 or gpt-4 model
I see, is there any model sugestion that suitable for checking grammar and clarity of the text?
well, you can do it with any of them to a degree