Streaming dengan Pemanggilan Fungsi
Anda telah melihat banyak use case yang terbuka dengan LLM yang mendukung pemanggilan fungsi, yang memiliki tipe event tersendiri. Ini berguna untuk memberikan umpan balik waktu nyata kepada pengguna saat model bersiap memanggil sebuah tool, atau untuk pencatatan (logging) guna melacak penggunaan tool.
Fungsi convert_timezone() yang Anda definisikan sebelumnya untuk mengonversi datetime antar zona waktu, serta sebuah daftar tools yang memuat definisi fungsi untuk Responses API, telah disiapkan untuk Anda.
Latihan ini adalah bagian dari kursus
Bekerja dengan OpenAI Responses API
Petunjuk latihan
- Lengkapi context manager streaming dengan memanggil
client.responses.create()menggunakan model"gpt-5-mini",prompt, dan daftartools. - Di dalam loop, periksa apakah ada event
"function_call_arguments.delta". - Tambahkan kondisi untuk memeriksa event
"function_call_arguments.done". - Tambahkan kondisi terakhir untuk memeriksa apakah tipe event adalah
"response.completed"dan cetak pesan penyelesaian terakhir.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
prompt = "What time is 2:30pm on January 20th in New York in Tokyo time?"
# Open the streaming connection and enable tool-calling
with ____ as stream:
for event in stream:
# Filter for function call arguments delta events
if ____:
print(f"\nTool args streaming: {event.delta}")
# Filter for function call arguments complete events
elif ____:
print("Tool call args complete.")
# Filter for response completed events
elif ____:
print("\n--- Completed ---")