Pelajari AI dengan Python · Pelajaran

Pemanggilan Fungsi dan Penggunaan Alat dengan LLM

Menentukan alat sebagai skema JSON, mengendalikan tool_calls dalam respons, melaksanakan dan memulangkan hasil.

Pelajaran 3 daripada 413 langkah

Pemanggilan Fungsi dan Penggunaan Alat dengan LLM ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah Panggilan Fungsi

Panggilan fungsi (juga dipanggil penggunaan alat) membolehkan LLM meminta kod anda menjalankan sesuatu fungsi. Model tidak melaksanakan apa-apa sendiri; model mengembalikan permintaan berstruktur yang menyatakan "panggil fungsi ini dengan hujah ini". Program anda menjalankannya dan menghantar hasilnya kembali.

Beginilah cara LLM mendapatkan data langsung, melakukan pengiraan atau mencetuskan tindakan sebenar.

Menerangkan Alat

Anda memberikan model senarai alat. Setiap alat mempunyai name, description dan parameters yang ditakrifkan sebagai Skema JSON. Penerangan itu sangat penting kerana model menggunakannya untuk menentukan masa alat tersebut sesuai digunakan.

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

Medan parameters ialah Skema JSON standard. Anda mengisytiharkan objek dengan properties, yang setiap satunya mempunyai type dan penerangan, serta tatasusunan required. Ini memberitahu model dengan tepat hujah yang perlu dihasilkan.

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

Menghantar Alat kepada Model

Hantar senarai tools kepada chat.completions.create(). Model kini mungkin membalas 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
)

Mengesan Panggilan Alat

Apabila model mahu menggunakan alat, balasan mengandungi message.tool_calls dan bukannya teks biasa. Periksa sama ada senarai ini wujud sebelum menganggap anda menerima jawapan biasa.

msg = response.choices[0].message

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

Menghuraikan Hujah

Setiap panggilan alat mempunyai function.name dan function.arguments. Hujah tersebut tiba sebagai rentetan JSON, jadi huraikannya 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"}

Melaksanakan Fungsi

Kini jalankan fungsi Python sebenar milik YOUR dengan hujah yang telah dihuraikan. LLM hanya menentukan perkara yang perlu dipanggil; kod anda melaksanakan kerja sebenar.

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

result = get_weather(**args)

Mengembalikan Hasil kepada Model

Hantar hasil kembali supaya model boleh menulis jawapan dalam bahasa semula jadi. Tambahkan mesej pembantu asal, kemudian mesej dengan peranan tool yang membawa hasil tersebut serta tool_call_id yang sepadan.

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

Menjana Jawapan Akhir

Panggil model sekali lagi dengan messages yang telah dikemas kini. Setelah menerima hasil alat, model akan menghasilkan balasan akhir yang mesra untuk pengguna.

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

Kitaran Penggunaan Alat Lengkap

Kitaran lengkapnya ialah: (1) hantar alat, (2) model mengembalikan panggilan alat, (3) huraikan hujah, (4) jalankan fungsi, (5) kembalikan hasil sebagai mesej alat, (6) model menulis jawapan. Model mungkin meminta beberapa panggilan alat sebelum selesai, jadi ulangi sehingga tool_calls kosong.

Mengawal Pemilihan Alat

Gunakan parameter tool_choice untuk mengarahkan tingkah laku. "auto" (lalai) membolehkan model membuat keputusan; "none" melarang alat; menghantar nama alat tertentu memaksa penggunaan fungsi yang tepat itu. Ini berguna apabila anda perlu menjamin keluaran berstruktur.

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

Semakan Pantas

Uji pemahaman anda tentang penggunaan alat.

Imbas Kembali: Panggilan Fungsi

Anda mentakrifkan alat dengan nama, penerangan dan parameter Skema JSON, kemudian menghantarnya kepada model. Anda mengesan tool_calls, menghuraikan function.arguments dengan json.loads(), melaksanakan fungsi sebenar anda dan mengembalikan hasilnya sebagai mesej dengan peranan tool serta tool_call_id yang sepadan.

Panggilan model terakhir menukar hasil mentah menjadi jawapan semula jadi, lalu melengkapkan kitaran penggunaan alat.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM”?

Menentukan alat sebagai skema JSON, mengendalikan tool_calls dalam respons, melaksanakan dan memulangkan hasil. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Pemanggilan Fungsi dan Penggunaan Alat dengan LLM” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. API OpenAI: chat.completions dan Penstriman
  2. API Anthropic Claude dalam Python
  3. Pemanggilan Fungsi dan Penggunaan Alat dengan LLM
  4. Kejuruteraan Gesaan untuk Aplikasi LLM Pengeluaran
← Kembali ke Pelajari AI dengan Python