0Pricing
Learn AI with Python · Pelajaran

Pemanggilan Fungsi dan Penggunaan Alat dengan LLM

Mendefinisikan alat sebagai skema JSON, menangani tool_calls dalam respons, menjalankan dan mengembalikan hasil.

Pemanggilan Fungsi dan Penggunaan Alat dengan LLM adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa Itu Pemanggilan Fungsi?

Pemanggilan fungsi (juga disebut penggunaan alat) memungkinkan LLM meminta kode Anda menjalankan suatu fungsi. Model tidak mengeksekusi apa pun sendiri; model mengembalikan permintaan terstruktur yang menyatakan "panggil fungsi ini dengan argumen berikut". Program Anda menjalankannya lalu mengirimkan hasilnya kembali.

Dengan cara inilah LLM mengambil data langsung, melakukan perhitungan, atau memicu tindakan nyata.

Mendeskripsikan Alat

Anda memberikan daftar alat kepada model. Setiap alat memiliki name, description, dan parameters yang ditentukan sebagai Skema JSON. Deskripsi sangat penting karena model menggunakannya untuk memutuskan kapan alat tersebut berlaku.

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "City name"}
            },
            "required": ["city"]
        }
    }
}]

Skema JSON untuk Parameter

Kolom parameters adalah Skema JSON standar. Anda mendeklarasikan sebuah objek dengan properties, yang masing-masing memiliki type dan deskripsi, serta larik required. Dengan demikian, model mengetahui dengan tepat argumen apa yang harus dihasilkan.

"parameters": {
    "type": "object",
    "properties": {
        "city": {"type": "string"},
        "units": {"type": "string", "enum": ["celsius", "fahrenheit"]}
    },
    "required": ["city"]
}

Meneruskan Alat ke Model

Kirim daftar tools ke chat.completions.create(). Kini model dapat merespons dengan teks OR panggilan alat, bergantung pada permintaan pengguna.

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Weather in Tokyo?"}],
    tools=tools
)

Mendeteksi Panggilan Alat

Saat model menginginkan sebuah alat, balasan berisi message.tool_calls, bukan teks biasa. Periksa apakah daftar ini ada sebelum menganggap Anda menerima jawaban biasa.

msg = response.choices[0].message

if msg.tool_calls:
    print("Model wants to call a tool")
else:
    print(msg.content)

Menguraikan Argumen

Setiap panggilan alat memiliki function.name dan function.arguments. Argumen tersebut tiba sebagai string JSON, jadi uraikan dengan json.loads() sebelum digunakan.

import json

call = msg.tool_calls[0]
name = call.function.name
args = json.loads(call.function.arguments)
print(name, args)  # get_weather {"city": "Tokyo"}

Menjalankan Fungsi

Sekarang jalankan fungsi Python aktual milik YOUR menggunakan argumen yang telah diuraikan. LLM hanya memutuskan apa yang harus dipanggil; kode Anda yang melakukan pekerjaan sebenarnya.

def get_weather(city):
    return {"city": city, "temp_c": 18, "condition": "Cloudy"}

result = get_weather(**args)

Mengembalikan Hasil ke Model

Kirimkan hasil kembali agar model dapat menulis jawaban dalam bahasa alami. Tambahkan pesan asisten asli, lalu pesan dengan peran tool yang membawa hasil dan tool_call_id yang sesuai.

messages.append(msg)  # the assistant tool-call message
messages.append({
    "role": "tool",
    "tool_call_id": call.id,
    "content": json.dumps(result)
})

Membuat Jawaban Akhir

Panggil model lagi dengan messages yang telah diperbarui. Setelah menerima hasil alat, model akan menghasilkan balasan akhir yang ramah bagi pengguna.

final = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools
)
print(final.choices[0].message.content)

Siklus Lengkap Penggunaan Alat

Siklus lengkapnya: (1) kirim alat, (2) model mengembalikan panggilan alat, (3) uraikan argumen, (4) jalankan fungsi, (5) kembalikan hasil sebagai pesan alat, (6) model menulis jawaban. Model dapat meminta beberapa panggilan alat sebelum selesai, jadi lakukan perulangan sampai tool_calls kosong.

Mengendalikan Pilihan Alat

Gunakan parameter tool_choice untuk mengarahkan perilaku. "auto" (bawaan) membiarkan model memutuskan; "none" melarang alat; meneruskan nama alat tertentu memaksa penggunaan fungsi tersebut. Ini berguna ketika Anda harus menjamin keluaran terstruktur.

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools,
    tool_choice={"type": "function", "function": {"name": "get_weather"}}
)

Pemeriksaan Singkat

Uji pemahaman Anda tentang penggunaan alat.

Rangkuman: Pemanggilan Fungsi

Anda mendefinisikan alat dengan nama, deskripsi, dan parameter Skema JSON, lalu meneruskannya ke model. Anda mendeteksi tool_calls, menguraikan function.arguments dengan json.loads(), menjalankan fungsi nyata Anda, dan mengembalikan hasilnya sebagai pesan dengan peran tool yang memiliki tool_call_id yang sesuai.

Pemanggilan model terakhir mengubah hasil mentah menjadi jawaban alami dan menyelesaikan siklus penggunaan alat.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM” gratis?

Ya — teks lengkap “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM”?

Mendefinisikan alat sebagai skema JSON, menangani tool_calls dalam respons, menjalankan dan mengembalikan hasil. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. API OpenAI: chat.completions dan Streaming
  2. API Anthropic Claude dalam Python
  3. Pemanggilan Fungsi dan Penggunaan Alat dengan LLM
  4. Rekayasa Prompt untuk Aplikasi LLM Produksi
← Kembali ke Learn AI with Python