Tutorial integrasi OpenAI dengan Python — Flask Framework & Poetry

Cecep Aprilianto
3 min readJul 25, 2023

--

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.

Banner

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:

Struktur awal projek dengan poetry

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
Struktur Projek

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

routes awal

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

routes update

Run Application

Masih pada terminal/cmd dan pastikan sudah masuk shell. Lalu run aplikasi dengan perintah berikut

python run.py
run app

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

postman

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 :)

--

--

Cecep Aprilianto
Cecep Aprilianto

Written by Cecep Aprilianto

Web and Backend Developer at Internet

No responses yet