Pembaruan (November 2023): versi GPT-3.5-Turbo baru lebih disukai. Saya menambahkan versi baru yang mendukung API Penyelesaian Obrolan (diuji dengan GPT-3.5-Turbo). Subfolder yang sesuai ( gpt-3
, gpt-35-turbo
) sekarang berisi versi asli dan versi baru. Selain perubahan model dan penyesuaian terkait, semuanya sama, tetapi gpt-35-turbo
lebih disukai, karena penyelesaian GPT-3 sudah tidak digunakan lagi.
Braindump adalah aplikasi prototipe untuk membuat catatan dan mengubahnya menjadi database yang dapat ditanyakan dengan lebih mudah. Cukup ketik apa yang ada dalam pikiran Anda dan aplikasi akan mengklasifikasikan, mengiris, dan menyimpannya dengan benar untuk digunakan nanti. Ini dibuat sebagai demo untuk menunjukkan cara memanfaatkan GPT-3 untuk membangun aplikasi yang dimulai dengan Proofs-of-Concept, seperti yang dijelaskan dalam tutorial Ilmu Data @ Microsoft saya, "Membangun aplikasi GPT-3 — melampaui perintah". Anda dapat menggunakannya untuk mengikuti tutorial dan sebagai titik awal untuk studi dan aplikasi Anda sendiri (misalnya, dengan menggunakan kembali fungsi utilitas dan keseluruhan struktur program dalam masalah Anda sendiri yang berbeda).
Ini adalah aplikasi Python sederhana yang memanfaatkan Streamlit untuk menyediakan antarmuka web. Untuk benar-benar memanggil model GPT-3, Anda harus memiliki kunci API OpenAI yang berfungsi. Pada saat penulisan, setelah Anda membuat akun, Anda mendapatkan sejumlah kredit gratis yang seharusnya cukup untuk mengikuti tutorial dan memulai aplikasi. Aplikasi ini juga harus bekerja dengan Azure OpenAI Service, bukan penawaran OpenAI asli, meskipun saya belum mengujinya di sana.
Selain aplikasinya sendiri, repositori ini juga memuat studi berupa notebook Jupyter yang mengarah ke sana.
UI untuk pencarian terlihat seperti ini:
Untuk menambahkan fakta, UI-nya adalah sebagai berikut, termasuk pemeriksaan manual opsional atas interpretasi model:
Aplikasi telah diuji pada Python 3.8 (GPT-3) dan 3.10 (GPT-3.5-Turbo). Pustaka utama yang Anda perlukan adalah: openai
, streamlit
, pandas
, notebook
, pytest
. Anda dapat menginstalnya secara manual, atau ikuti prosedur di bawah ini untuk membuat lingkungan baru dan menginstalnya secara otomatis. Perhatikan bahwa untuk basis kode yang lebih lama Anda memerlukan versi perpustakaan openai
yang lebih lama.
Untuk menjalankan aplikasi:
conda create -n braindump_py310 python=3.10
conda activate braindump_py310
requirements.txt
. Anda dapat melakukan ini dengan menjalankan pip install -r requirements.txt
dari root proyek. Untuk versi GPT-3 asli (tidak digunakan lagi), gunakan requirements.gpt3.txt
sebagai gantinya, untuk mendapatkan dependensi lama yang diperlukan untuk pengoperasiannya.OPENAI_API_KEY
.run.gpt3.bat
(versi GPT-3) atau run.gpt35turbo.bat
(versi GPT-3.5-Turbo); di Linux: run.gpt3.sh
(versi GPT-3) atau run.gpt35turbo.sh
(versi GPT-3.5-Turbo).Untuk menjalankan studi:
notebooks/
dengan klien Jupyter favorit Anda (secara pribadi, saya sering menggunakan VS Code untuk itu). Proyek ini disusun sebagai berikut:
notebooks/
: Notebook Jupyter yang digunakan untuk rekayasa cepat.src/
: kode sumber untuk aplikasi akhir.src/gpt-3
: sumber untuk versi GPT-3 asli (tidak digunakan lagi).src/gpt-3.5-turbo
: sumber untuk versi GPT-3.5-Turbo ( direkomendasikan sejak November 2023).data/
: data yang disimpan oleh aplikasi.tests/
: pengujian unit untuk aplikasi.tests/gpt-3/
: tes untuk versi GPT-3 asli (tidak digunakan lagi).tests/gpt-3.5-turbo/
: tes untuk versi GPT-3.5-Turbo ( direkomendasikan sejak November 2023).docs/
: dokumentasi dan aset terkait. Pendekatan ini disajikan secara rinci dalam tutorial Data Science @ Microsoft saya, "Membangun aplikasi GPT-3 — melampaui perintah". Meskipun demikian, izinkan saya menyoroti beberapa poin penting di sini:
Dalam fase spesifik, berikut ini yang disarankan
Lisensi MIT
Hak Cipta (c) 2023 Paulo Salem da Silva
Izin dengan ini diberikan, secara gratis, kepada siapa pun yang memperoleh salinan perangkat lunak ini dan file dokumentasi terkait ("Perangkat Lunak"), untuk menggunakan Perangkat Lunak tanpa batasan, termasuk namun tidak terbatas pada hak untuk menggunakan, menyalin, memodifikasi, menggabungkan , mempublikasikan, mendistribusikan, mensublisensikan, dan/atau menjual salinan Perangkat Lunak, dan mengizinkan orang yang menerima Perangkat Lunak untuk melakukan hal tersebut, dengan tunduk pada ketentuan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini akan disertakan dalam semua salinan atau sebagian besar Perangkat Lunak.
PERANGKAT LUNAK INI DISEDIAKAN "APA ADANYA", TANPA JAMINAN APA PUN, TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN KELAYAKAN UNTUK DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, DAN TIDAK ADA PELANGGARAN. DALAM KEADAAN APA PUN PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN, ATAU TANGGUNG JAWAB LAINNYA, BAIK DALAM TINDAKAN KONTRAK, HUKUM ATAU LAINNYA, YANG TIMBUL DARI, ATAU SEHUBUNGAN DENGAN PERANGKAT LUNAK ATAU PENGGUNAAN ATAU HAL-HAL LAIN DALAM PERANGKAT LUNAK.