Tutorial integrasi OpenAI dengan Python — Flask Framework & Poetry
Postingan kali ini kita akan belajar membuat RESTful API dan cara integrasi OpenAI dengan Python, menggunakan flask framework untuk projeknya dan poetry untuk dependency management.
Kita tidak akan belajar apa itu OpenAI, RESTful, Flask ataupun Poetry. Karena tutorial ini bagi kalian yang sedang belajar python dan ingin menambah pengetahuan.
Yang kalian butuhkan
- Python 3.x keatas (saat ini saya menggu)
- Poetry (cara instalnya disini)
- OpenAI API Key (Buat sendiri disni)
Membuat Projek
Kita akan membuat projek RESTful API dengan studi kasus Q&A (question and answer), dimana yang bertanya adalah user atau input dan yang menjawab adalah OpenAI sebagai output atau answer.
Pertama, kita buat projek baru dengan poetry. Buka terminal/cmd, lalu ketikan seperti berikut:
poetry new belajar-py-openai
Buka dengan code editor favorit kalian, kalau saya buka dengan PyCharm. Lalu akan terlihat struktur folder seperti berikut:
Kita hapus saja folder `belajar_py_openai`, lalu buat struktur projek seperti berikut:
mkdir app app/controllers app/routes
touch run.py app/__init__.py app/controllers/__init__.py app/controllers/main_controller.p
y app/routes/__init__.py app/routes/ask.py
Install Library
Sebelumnya kalian harus masuk ke shell terlebih dahulu jika belum masuk gunakan perintah berikut pada terminal/cmd direktori projek kalian
poetry shell
lalu install library yang dibutuhkan, seperti berikut dengan perintah:
poetry add flask openai
Membuat Kode
Application Factory
Buka file app/__init__.py lalu masukan kode berikut
Ubah ‘YOUR OPENAI API KEY’ dengan key yang kalian punya.
Runner
Buka file run.py pada root folder, lalu masukan kode berikut
Routes
Buka file app/routes/__init__.py lalu masukan kode berikut
Integrasi OpenAI
Membuat Controller
Buka file app/controllers/main_controller.py, lalu masukan kode berikut
Init Controller
Buka file app/controllers/__init__.py, lalu masukan kode berikut
Update Routes
Buka kembali app/routes/__init__.py, lalu ubah kodenya seperti berikut
Run Application
Masih pada terminal/cmd dan pastikan sudah masuk shell. Lalu run aplikasi dengan perintah berikut
python run.py
Secara default aplikasi akan berada pada url http://127.0.0.1:5000 dan endpoint kita berada pada ‘/api/v1’ dan ‘/api/v1/ask’
Postman
Buka postman, dan test endpoint yang sudah kita buat, jika berhasil maka akan seperti gambar berikut
Lakukan POST data dengan body raw json ke http://127.0.0.1:5000/api/v1/ask
Maka akan muncul response berupa json dengan jawaban yang didapat dari OpenAI API. Ubah body ‘question’ sesuai yang kalian inginkan, dan lihat jawaban dari OpenAI.
Github Projek
Postingan Selanjutnya
Selanjutnya mungkin kita akan bermain dengan unit test, untuk mengetes aplikasi yang kita buat. Menggunakan mock untuk mocking OpenAI API.
Terimakasih sudah membaca sejauh ini, sampai jumpa kembali :)