Model bahasa besar dapat disetel dengan satu set pertanyaan dan jawaban. Namun, untuk lebih menyempurnakan model pada data Anda sendiri , Anda memerlukan banyak pertanyaan dan jawaban tentang data Anda. Memproduksi pertanyaan dan jawaban itu bisa menjadi banyak pekerjaan manual.
Repositori ini memungkinkan Anda menggunakan model bahasa non-disusun (chatgpt) untuk mengekstrak pasangan tanya jawab secara otomatis dari data tekstual yang ada, menghilangkan semua pekerjaan manual.
Untuk menjalankan kode ini, Anda perlu mengkloning repositori ini kemudian menginstal paket python berikut:
tiktoken , Tokeniser Openai,openai , klien API Openai resmi,langchain , kode lem yang digunakan untuk menggabungkan model dan utilitas. Skrip ini dirancang untuk mengubah folder dokumen Markdown ( .md ) menjadi file .json yang berisi daftar pertanyaan, jawaban, dan jalur ke dokumen sumber yang digunakan untuk memproduksinya.
Untuk menjalankan kode, atur jalur file yang relevan di file question_extractor.py (baik folder input dan jalur output) dan memastikan bahwa kunci API openai Anda ada di lingkungan. Kemudian jalankan skrip dengan Python:
python3 question_extractor.py
Setelah selesai, semua pertanyaan/jawaban akan ditulis sebagai file .json di jalur output.
Kode loop pada semua file, untuk setiap file mengekstrak daftar pertanyaan menggunakan prompt berikut diikuti oleh sepotong teks:
You are an expert user extracting information to quiz people on documentation. You will be passed a page extracted from the documentation, write a numbered list of questions that can be answered based *solely* on the given text.
Kemudian mengulangi pertanyaan, menghasilkan jawaban dengan melewati prompt berikut diikuti oleh sepotong teks dan pertanyaan:
You are an expert user answering questions. You will be passed a page extracted from a documentation and a question. Generate a comprehensive and informative answer to the question based *solely* on the given text.
Sebagian besar logika kode yang sebenarnya didedikasikan untuk memproses file secara bersamaan (untuk kecepatan) dan memastikan potongan teks yang diteruskan ke model cukup kecil untuk meninggalkan token yang cukup untuk dijawab.
Jika suatu teks terlalu lama untuk dikirim ke model, itu terbagi sepanjang tingkat tajuk penurunan harga tertinggi (prosesnya dapat diulang secara rekursif jika diperlukan sampai kita turun ke paragraf tunggal).
Dari segi kinerja, skrip ini dapat memproses dokumentasi NERSC lengkap dalam 6 menit 1 . Mengubah 318 file penurunan harga menjadi 8005 pertanyaan seharga $ 29.
Berjalan sekitar 93% dari batas tarif model. ↩