Persyaratan: Gunakan model besar untuk mendapatkan informasi real-time, seperti waktu saat ini, cuaca hari ini, periksa pengiriman ekspres, dll., atau gunakan model besar untuk menganalisis data bisnis, Anda perlu menggunakan fungsi Panggilan Fungsi. Banyak artikel di Internet tentang Function Calling sangat kabur dan tidak menjelaskan dengan jelas, dan saya memahami fungsi ini berdasarkan informasi permintaan.
Mari kita lihat renderingnya terlebih dahulu dan gunakan model besarDapatkan waktu saat ini, cuaca di Shanghai, dan kalkulator yang membantu saya menyalakan komputer saya, seperti yang ditunjukkan pada gambar di bawah ini:
Dokumentasi Antarmuka OpenAI:Login hyperlink terlihat., seperti yang ditunjukkan pada gambar di bawah ini:
Fungsi Panggilan
Model besar mungkin tidak efektif saat menghadapi masalah real-time, perhitungan matematika, dan masalah lainnya. Anda dapat menggunakan fungsi Panggilan Fungsi untuk memungkinkan model besar berinteraksi dengan dunia luar dengan memperkenalkan alat eksternal.
Function Calling adalah fungsi baru yang menghubungkan model besar dengan alat dan API eksternal untuk membantu model besar bergerak menuju implementasi industri yang sebenarnya. Function Calling memungkinkan pengembang untuk mendapatkan data terstruktur dari model dengan lebih andal tanpa perlu pengguna memasukkan perintah yang kompleks.
Saat digunakan, Anda dapat menjelaskan fungsi dan definisi sekumpulan fungsi ke model dalam bahasa alami; Selama percakapan, ketika model besar merasa perlu menggunakan fungsi, ia akan secara cerdas memilih fungsi dan kembali memanggil parameter yang diperlukan untuk memenuhi kebutuhan spesifik pengguna. Dalam kasus lain, model besar tidak akan mengembalikan fungsi dan akan melanjutkan percakapan. Model besar tidak secara langsung memanggil fungsi, tetapi mengembalikan parameter input yang sesuai, dan Anda dapat memanggil antarmuka fungsi/API sendiri.
Secara sederhana, Function Calling adalah "penerjemah" antara bahasa alami dan antarmuka informasi
Terjemahkan bahasa alami ke dalam fungsi dan parameter yang diperlukan, dan kembalikan ke pemanggil model besar Setelah pemanggil model besar menjalankan fungsi, hasilnya dikembalikan ke model besar, dan model besar dapat diringkas ke dalam bahasa alami atau terus merencanakan subtugas
Diagram alur kerja ditunjukkan di bawah ini:
Kernel Semantik
Kernel Semantik adalah kit pengembangan sumber terbuka yang ringan yang dapat digunakan untuk menghasilkan agen AI dengan mudah dan mengintegrasikan model AI terbaru ke dalam basis kode C#, Python, atau Java. Ini bertindak sebagai middleware yang efisien, memungkinkan pengiriman solusi tingkat perusahaan yang cepat.
Dokumentasi:Login hyperlink terlihat. Sumber:Login hyperlink terlihat.
C# memanggil Alibaba Cloud Tongyi Qianwen untuk menjalankan Panggilan Fungsi
Buat proyek konsol .NET 8 baru dengan referensi berikut:
Kodenya adalah sebagai berikut:
Jalankan program, yang merupakan rendering di awal, dapatkan waktu saat ini dan cuaca Shanghai, dan buka kalkulator.
Log eksekusi:
=============================================================================
Request:
Method: POST
Uri: Login hyperlink terlihat. Permintaan Konten: {"tools":[{"function":{"description":"Sangat berguna ketika Anda ingin tahu jam berapa sekarang." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Ini berguna ketika Anda ingin memeriksa cuaca untuk kota tertentu hari ini. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"Kota atau kabupaten, seperti Beijing, Shanghai, Kota Hangzhou, Distrik Yuhang, dll. ","type":"string"}}}},"type":"function"},{"function":{"description":"Ini sangat berguna saat Anda ingin mengkueri informasi logistik ekspres yang ditentukan." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Nomor pelacakan kurir, misalnya, SF, ZTO, dan nomor pelacakan kurir Pos dapat diterima." ","type":"string"}}}},"type":"function"},{"function":{"description":"Sangat berguna saat Anda ingin membuka kalkulator." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Halo, tolong bantu saya memeriksa waktu saat ini dan cuaca hari ini di Shanghai." Kemudian, bantu saya dengan kalkulator clock-in, saya ingin menghitung pendapatan hari ini. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Kode Status: OK
Body: {"choices":[{"message":{"content":"","role":"assistant","tool_calls":[{"function":{"name":"itsvse-get_current_time","arguments":"{}"},"index":0,"id":"call_6e6cade782f54c9ca87186","type":"function"},{"function":{"name":"itsvse-get_current_weather","arguments":"{\"location\": \"上海市\"}"},"index":1,"id":"call_cc957be34f5741f4b2a969","type":"function"},{"function":{"name":"itsvse-open_calculator","arguments":"{}"},"index":2,"id":"call_6023df74d7bd48c789e876","type":"function"}]},"finish_reason":"tool_calls","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":500,"completion_tokens":53,"total_tokens":553,"prompt_tokens_details":{"cached_tokens":256}},"created":1742980780,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-1761acb9-717a-997c-9f17-7284e82fd121"} ============================================================================= ----------------------- menyebutnya metode mendapatkan waktu----------------------- ---------------------------------------------------------------- ----------------------- menyebutnya metode mendapatkan cuaca----------------------- Parameter: Shanghai ---------------------------------------------------------------- ----------------------- Buka kalkulator komputer----------------------- =============================================================================
Request:
Method: POST
Uri: Login hyperlink terlihat. Permintaan Konten: {"tools":[{"function":{"description":"Sangat berguna ketika Anda ingin tahu jam berapa sekarang." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Ini berguna ketika Anda ingin memeriksa cuaca untuk kota tertentu hari ini. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"Kota atau kabupaten, seperti Beijing, Shanghai, Kota Hangzhou, Distrik Yuhang, dll. ","type":"string"}}}},"type":"function"},{"function":{"description":"Ini sangat berguna saat Anda ingin mengkueri informasi logistik ekspres yang ditentukan." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Nomor pelacakan kurir, misalnya, SF, ZTO, dan nomor pelacakan kurir Pos dapat diterima." ","type":"string"}}}},"type":"function"},{"function":{"description":"Sangat berguna saat Anda ingin membuka kalkulator." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Halo, tolong bantu saya memeriksa waktu saat ini dan cuaca hari ini di Shanghai." Kemudian, bantu saya dengan kalkulator clock-in, saya ingin menghitung pendapatan hari ini. "},{"role":"assistant","content":"","tool_calls":[{"id":"call_6e6cade782f54c9ca87186","function":{"name":"itsvse-get_current_time","arguments":"{}"},"type":"function" ","indeks":0},{"id":"call_cc957be34f5741f4b2a969","function":{"name":"itsvse-get_current_weather","arguments":"{\"location\": \"Shanghai\"}"},"type":"function","index":1},{" id":"call_6023df74d7bd48c789e876","function":{"name":"itsvse-open_calculator","arguments":"{}"},"type":"function","index":2}]},{"role":"tool","tool_call_id":"call_ 6e6cade782f54c9ca87186","content":"2025/3/26 17:19:40"},{"role":"tool","tool_call_id":"call_cc957be34f5741f4b2a969","content":"Kondisi cuaca di Shanghai adalah sebagai berikut: berawan dengan badai petir, suhu antara 10°C dan 20°C"},{" role":"tool","tool_call_id":"call_6023df74d7bd48c789e876","content":"Kalkulator dibuka." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Kode Status: OK
Body: {"choices":[{"message":{"content":"现在的时间是2025年3月26日17点19分40秒。\n\n今天上海市的天气情况如下:多云转雷阵雨,气温介于10°C到20°C之间,请记得带伞哦。\n\n我已经 帮你打开了计算器,你可以开始计算今天的收入了。","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":621,"completion_tokens":70,"total_tokens":691,"prompt_tokens_details":{"cached_tokens":0}},"created":1742980783,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-b0bd149e-3f5b-9a53-91d7-7bb26487d822"} ============================================================================= Asisten > sekarang 17:19:40, 26 Maret 2025.
Kondisi cuaca di Shanghai hari ini adalah sebagai berikut: mendung hingga badai petir, suhu antara 10°C dan 20°C, harap ingat untuk membawa payung.
Saya telah membuka kalkulator untuk Anda dan Anda dapat mulai menghitung penghasilan Anda hari ini. Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat. |