Fungsi kustom dapat ditetapkan dan disediakan untuk model Gemini menggunakan Fungsi Fitur panggilan. Model tidak memanggil fungsi ini secara langsung, melainkan menghasilkan output data terstruktur yang menentukan nama fungsi dan saran argumen. Output ini memungkinkan Anda menulis aplikasi yang mengambil dan memanggil API eksternal, lalu output API yang dihasilkan dapat disertakan ke dalam prompt model lebih lanjut, sehingga memungkinkan kueri yang lebih komprehensif yang dihasilkan. Panggilan fungsi memberdayakan pengguna untuk berinteraksi dengan real-time informasi dan berbagai layanan, seperti {i>database<i}, hubungan pelanggan sistem manajemen proyek, dan repositori dokumen, meningkatkan kemampuan mereka untuk memberikan jawaban yang relevan dan kontekstual.
Cara kerja panggilan fungsi
Gunakan fitur Panggilan Fungsi dengan menambahkan data kueri terstruktur yang mendeskripsikan pemrograman antarmuka, yang disebut deklarasi fungsi, ke prompt model. Tujuan deklarasi fungsi memberikan nama fungsi API, menjelaskan tujuannya, parameter apa pun yang didukung, dan deskripsi parameter tersebut. Setelah Anda lulus daftar deklarasi fungsi dalam kueri ke model, model ini menganalisis fungsi dan kueri lainnya untuk menentukan cara menggunakan API sebagai respons terhadap permintaan.
Model ini kemudian mengembalikan sebuah objek dalam Skema yang kompatibel dengan OpenAPI menentukan cara memanggil satu atau beberapa fungsi yang dideklarasikan untuk merespons terhadap pertanyaan pengguna. Anda kemudian dapat melakukan panggilan fungsi yang direkomendasikan parameter, memanggil API yang sebenarnya, mendapatkan respons, dan memberikan respons pengguna atau mengambil tindakan lebih lanjut. Perhatikan bahwa model tidak benar-benar memanggil fungsi yang dideklarasikan. Sebagai gantinya, Anda menggunakan parameter objek skema yang ditampilkan untuk memanggil fungsinya. Gemini API juga mendukung panggilan fungsi paralel, dengan model ini merekomendasikan beberapa panggilan fungsi API berdasarkan satu permintaan.
Model yang didukung
Model berikut mendukung fitur Panggilan Fungsi:
gemini-1.0-pro
gemini-1.0-pro-001
gemini-1.5-flash-latest
gemini-1.5-pro-latest
Deklarasi fungsi
Saat mengimplementasikan panggilan fungsi dalam perintah, Anda akan membuat objek tools
,
yang berisi satu atau beberapa function declarations
. Anda menentukan fungsi
menggunakan JSON, khususnya dengan
pilih subset
dari
Skema OpenAPI
format font. Deklarasi fungsi tunggal dapat menyertakan parameter berikut:
name
(string): ID unik untuk fungsi dalam API panggilan telepon.description
(string): Penjelasan komprehensif tentang fungsi tujuan dan kemampuan mereka.parameters
(objek): Menentukan data input yang diperlukan oleh fungsi.type
(string): Menentukan jenis data keseluruhan, sepertiobject
.properties
(objek): Mencantumkan parameter individual, masing-masing dengan:type
(string): Jenis data parameter, sepertistring
,integer
,boolean
.description
(string): Penjelasan yang jelas tentang parameter tujuan dan format yang diharapkan.
required
(array): Array string yang mencantumkan nama parameter yang wajib agar fungsi dapat beroperasi.
Untuk contoh kode deklarasi fungsi yang menggunakan perintah cURL, lihat Contoh panggilan fungsi. Untuk contoh dan informasi tentang cara membuat deklarasi fungsi untuk platform lain, lihat Panduan platform Panggilan Fungsi.
Praktik terbaik untuk deklarasi fungsi
Sangat penting untuk menentukan fungsi secara akurat saat mengintegrasikannya ke dalam
permintaan. Setiap fungsi bergantung pada parameter tertentu yang memandu perilakunya
dan interaksi dengan model. Listingan berikut memberikan panduan tentang
menentukan parameter setiap fungsi dalam functions_declarations
.
name
: Gunakan nama yang jelas dan deskriptif tanpa spasi, titik karakter (.
), atau tanda hubung (-
). Sebagai gantinya, gunakan karakter garis bawah (_
) atau {i>camel case<i}.description
: Memberikan fungsi yang mendetail, jelas, dan spesifik deskripsi, disertai contoh jika diperlukan. Misalnya, daripadafind theaters
, gunakanfind theaters based on location and optionally movie title that is currently playing in theaters.
Hindari terlalu luas atau ambigu deskripsi.properties
>type
: Gunakan parameter dalam sistem strong type untuk mengurangi halusinasi. Misalnya, jika nilai parameter berasal dari disetel, gunakan kolomenum
, bukan mencantumkan nilai dalam deskripsi (mis.,"type": "enum", "values": ["now_playing", "upcoming"]
). Jika nilai parameter selalu berupa bilangan bulat, setel jenis keinteger
, bukannumber
.properties
>description
: Berikan batasan dan contoh konkret. Misalnya, gunakanThe city and state, e.g. San Francisco, CA or a zip code e.g. 95616
, bukanthe location to search
.
Untuk praktik terbaik lainnya saat menggunakan Panggilan Fungsi, lihat Praktik Terbaik.
Mode panggilan fungsi
Anda dapat menggunakan parameter Panggilan Fungsi mode
untuk mengubah eksekusi
perilaku fitur. Ada tiga mode yang tersedia:
AUTO
: Perilaku model default. Model tersebut memutuskan untuk memprediksi atau respons natural language.ANY
: Model dibatasi untuk selalu memprediksi panggilan fungsi. Jikaallowed_function_names
tidak disediakan, model ini memilih dari semua deklarasi fungsi yang tersedia. Jikaallowed_function_names
telah diberikan, pilihan model dari himpunan fungsi yang diperbolehkan.NONE
: Model tidak akan memprediksi panggilan fungsi. Dalam hal ini, model sama seperti jika Anda tidak meneruskan deklarasi fungsi apa pun.
Penggunaan mode ANY
("panggilan fungsi paksa") sebesar
hanya didukung untuk model Gemini 1.5 Pro
.
Anda juga dapat meneruskan kumpulan allowed_function_names
yang, jika disediakan, akan membatasi
fungsi yang akan dipanggil model. Anda hanya boleh menyertakan
allowed_function_names
saat modenya ANY
. Nama fungsi harus cocok
nama-nama deklarasi fungsi. Dengan mode yang disetel ke ANY
dan
allowed_function_names
disetel, model akan memprediksi panggilan fungsi dari
sekumpulan nama fungsi yang disediakan.
Cuplikan kode berikut dari
contoh permintaan menunjukkan cara
setel mode
ke ANY
dan tentukan daftar fungsi yang diizinkan:
"tool_config": {
"function_calling_config": {
"mode": "ANY",
"allowed_function_names": ["find_theaters", "get_showtimes"]
},
}
Contoh panggilan fungsi
Bagian ini menyediakan contoh perintah untuk panggilan fungsi menggunakan perintah cURL. Contoh tersebut mencakup skenario satu putaran dan beberapa putaran, dan pengaktifan mode pemanggilan fungsi yang berbeda.
Saat menggunakan perintah cURL dengan fitur ini, fungsi dan parameter
informasi disertakan dalam elemen tools
. Setiap deklarasi fungsi di
Elemen tools
berisi nama fungsi, dan Anda menentukan parameter menggunakan
skema yang kompatibel dengan OpenAPI,
dan deskripsi fungsi.
Contoh satu belokan
Satu putaran adalah saat Anda memanggil model bahasa satu kali. Melalui panggilan fungsi, mungkin terjadi ketika Anda memberi model bahasa alami kueri dan daftar fungsi. Dalam hal ini, model menggunakan fungsi deklarasi, yang mencakup nama fungsi, parameter, dan deskripsi, untuk memprediksi fungsi mana yang akan dipanggil dan argumen yang digunakan untuk memanggilnya.
Contoh curl berikut adalah contoh penerusan deskripsi
yang menghasilkan informasi
tentang tempat film diputar. Beberapa
deklarasi fungsi disertakan dalam permintaan, seperti find_movies
dan
find_theaters
.
Permintaan contoh panggilan fungsi satu putaran
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$API_KEY \ -H 'Content-Type: application/json' \ -d '{ "contents": { "role": "user", "parts": { "text": "Which theaters in Mountain View show Barbie movie?" } }, "tools": [ { "function_declarations": [ { "name": "find_movies", "description": "find movie titles currently playing in theaters based on any description, genre, title words, etc.", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "description": { "type": "string", "description": "Any kind of description including category or genre, title words, attributes, etc." } }, "required": [ "description" ] } }, { "name": "find_theaters", "description": "find theaters based on location and optionally movie title which is currently playing in theaters", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "string", "description": "Any movie title" } }, "required": [ "location" ] } }, { "name": "get_showtimes", "description": "Find the start times for movies playing in a specific theater", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "string", "description": "Any movie title" }, "theater": { "type": "string", "description": "Name of the theater" }, "date": { "type": "string", "description": "Date for requested showtime" } }, "required": [ "location", "movie", "theater", "date" ] } } ] } ] }'
Respons terhadap contoh curl ini mungkin mirip dengan yang berikut ini.
Respons contoh curl memanggil fungsi satu putaran
[{ "candidates": [ { "content": { "parts": [ { "functionCall": { "name": "find_theaters", "args": { "movie": "Barbie", "location": "Mountain View, CA" } } } ] }, "finishReason": "STOP", "safetyRatings": [ { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" } ] } ], "usageMetadata": { "promptTokenCount": 9, "totalTokenCount": 9 } }]
Contoh satu belokan menggunakan mode APA PUN
Contoh curl berikut ini mirip dengan
contoh satu giliran, tetapi menetapkan
mode ke ANY
:
"tool_config": {
"function_calling_config": {
"mode": "ANY"
},
}
Panggilan fungsi satu putaran menggunakan mode APA PUN (permintaan)
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$API_KEY \ -H 'Content-Type: application/json' \ -d '{ "contents": { "role": "user", "parts": { "text": "What movies are showing in North Seattle tonight?" } }, "tools": [ { "function_declarations": [ { "name": "find_movies", "description": "find movie titles currently playing in theaters based on any description, genre, title words, etc.", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "description": { "type": "string", "description": "Any kind of description including category or genre, title words, attributes, etc." } }, "required": [ "description" ] } }, { "name": "find_theaters", "description": "find theaters based on location and optionally movie title which is currently playing in theaters", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "string", "description": "Any movie title" } }, "required": [ "location" ] } }, { "name": "get_showtimes", "description": "Find the start times for movies playing in a specific theater", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "string", "description": "Any movie title" }, "theater": { "type": "string", "description": "Name of the theater" }, "date": { "type": "string", "description": "Date for requested showtime" } }, "required": [ "location", "movie", "theater", "date" ] } } ] } ], "tool_config": { "function_calling_config": { "mode": "ANY" }, } }'
Responsnya mungkin mirip dengan berikut ini:
Panggilan fungsi satu putaran menggunakan mode APA PUN (respons)
{ "candidates": [ { "content": { "parts": [ { "functionCall": { "name": "find_movies", "args": { "description": "", "location": "North Seattle, WA" } } } ], "role": "model" }, "finishReason": "STOP", "index": 0, "safetyRatings": [ { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" } ] } ], "promptFeedback": { "safetyRatings": [ { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" } ] } }
Contoh satu belokan menggunakan mode APA PUN dan fungsi yang diizinkan
Contoh curl berikut ini mirip dengan
contoh satu giliran, tetapi menetapkan
mode ke ANY
dan menyertakan daftar status
fungsi-fungsi:
"tool_config": {
"function_calling_config": {
"mode": "ANY",
"allowed_function_names": ["find_theaters", "get_showtimes"]
},
}
Panggilan fungsi satu putaran menggunakan mode APA PUN dan fungsi yang diizinkan (permintaan)
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$API_KEY \ -H 'Content-Type: application/json' \ -d '{ "contents": { "role": "user", "parts": { "text": "What movies are showing in North Seattle tonight?" } }, "tools": [ { "function_declarations": [ { "name": "find_movies", "description": "find movie titles currently playing in theaters based on any description, genre, title words, etc.", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "description": { "type": "string", "description": "Any kind of description including category or genre, title words, attributes, etc." } }, "required": [ "description" ] } }, { "name": "find_theaters", "description": "find theaters based on location and optionally movie title which is currently playing in theaters", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "string", "description": "Any movie title" } }, "required": [ "location" ] } }, { "name": "get_showtimes", "description": "Find the start times for movies playing in a specific theater", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "string", "description": "Any movie title" }, "theater": { "type": "string", "description": "Name of the theater" }, "date": { "type": "string", "description": "Date for requested showtime" } }, "required": [ "location", "movie", "theater", "date" ] } } ] } ], "tool_config": { "function_calling_config": { "mode": "ANY", "allowed_function_names": ["find_theaters", "get_showtimes"] }, } }'
Model tidak dapat memprediksi fungsi find_movies
, karena tidak ada dalam daftar
fungsi yang diizinkan, sehingga ia memprediksi fungsi yang berbeda. Respons
mungkin mirip dengan contoh berikut ini:
Panggilan fungsi satu putaran menggunakan mode APA PUN dan fungsi yang diizinkan (respons)
{ "candidates": [ { "content": { "parts": [ { "functionCall": { "name": "find_theaters", "args": { "location": "North Seattle, WA", "movie": null } } } ], "role": "model" }, "finishReason": "STOP", "index": 0, "safetyRatings": [ { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" } ] } ], "promptFeedback": { "safetyRatings": [ { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" } ] } }
Contoh multi-putaran
Anda dapat menerapkan skenario panggilan fungsi multi-giliran dengan melakukan hal berikut:
- Dapatkan respons panggilan fungsi dengan memanggil model bahasa. Ini adalah ganti.
- Panggil model bahasa menggunakan respons panggilan fungsi sejak belokan pertama dan respons fungsi yang Anda dapatkan dengan memanggil fungsi tersebut. Ini adalah putaran kedua.
Tanggapan dari belokan kedua merangkum hasil untuk menjawab di belokan pertama, atau berisi panggilan fungsi kedua yang dapat Anda gunakan untuk mendapatkan informasi lebih lanjut untuk kueri Anda.
Topik ini mencakup dua contoh curl multi-putar:
- Contoh curl yang menggunakan respons fungsi dari belokan sebelumnya
- Contoh curl yang memanggil model bahasa beberapa kali
Menggunakan respons dari belokan sebelumnya
Contoh curl berikut memanggil fungsi dan argumen yang ditampilkan oleh contoh putaran tunggal sebelumnya untuk mendapatkan respons. Metode dan parameter yang ditampilkan oleh contoh satu putaran ada dalam JSON ini.
"functionCall": {
"name": "find_theaters",
"args": {
"movie": "Barbie",
"location": "Mountain View, CA"
}
}
Permintaan contoh curl panggilan fungsi multi-putar
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$API_KEY \ -H 'Content-Type: application/json' \ -d '{ "contents": [{ "role": "user", "parts": [{ "text": "Which theaters in Mountain View show Barbie movie?" }] }, { "role": "model", "parts": [{ "functionCall": { "name": "find_theaters", "args": { "location": "Mountain View, CA", "movie": "Barbie" } } }] }, { "role": "function", "parts": [{ "functionResponse": { "name": "find_theaters", "response": { "name": "find_theaters", "content": { "movie": "Barbie", "theaters": [{ "name": "AMC Mountain View 16", "address": "2000 W El Camino Real, Mountain View, CA 94040" }, { "name": "Regal Edwards 14", "address": "245 Castro St, Mountain View, CA 94040" }] } } } }] }], "tools": [{ "functionDeclarations": [{ "name": "find_movies", "description": "find movie titles currently playing in theaters based on any description, genre, title words, etc.", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "STRING", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "description": { "type": "STRING", "description": "Any kind of description including category or genre, title words, attributes, etc." } }, "required": ["description"] } }, { "name": "find_theaters", "description": "find theaters based on location and optionally movie title which is currently playing in theaters", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "STRING", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "STRING", "description": "Any movie title" } }, "required": ["location"] } }, { "name": "get_showtimes", "description": "Find the start times for movies playing in a specific theater", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "STRING", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "STRING", "description": "Any movie title" }, "theater": { "type": "STRING", "description": "Name of the theater" }, "date": { "type": "STRING", "description": "Date for requested showtime" } }, "required": ["location", "movie", "theater", "date"] } }] }] }'
Respons terhadap contoh curl ini mencakup hasil pemanggilan
Metode find_theaters
. Responsnya mungkin mirip dengan berikut ini:
Respons contoh curl panggilan fungsi multi-putar
{ "candidates": [ { "content": { "parts": [ { "text": " OK. Barbie is showing in two theaters in Mountain View, CA: AMC Mountain View 16 and Regal Edwards 14." } ] } } ], "usageMetadata": { "promptTokenCount": 9, "candidatesTokenCount": 27, "totalTokenCount": 36 } }
Memanggil model beberapa kali
Contoh cURL berikut memanggil model AI generatif beberapa kali untuk memanggil suatu fungsi. Setiap kali model memanggil fungsi, model dapat menggunakan metode untuk menjawab kueri pengguna yang berbeda dalam permintaan.
Permintaan contoh curl panggilan fungsi multi-putar
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$API_KEY \ -H 'Content-Type: application/json' \ -d '{ "contents": [{ "role": "user", "parts": [{ "text": "Which theaters in Mountain View show Barbie movie?" }] }, { "role": "model", "parts": [{ "functionCall": { "name": "find_theaters", "args": { "location": "Mountain View, CA", "movie": "Barbie" } } }] }, { "role": "function", "parts": [{ "functionResponse": { "name": "find_theaters", "response": { "name": "find_theaters", "content": { "movie": "Barbie", "theaters": [{ "name": "AMC Mountain View 16", "address": "2000 W El Camino Real, Mountain View, CA 94040" }, { "name": "Regal Edwards 14", "address": "245 Castro St, Mountain View, CA 94040" }] } } } }] }, { "role": "model", "parts": [{ "text": " OK. Barbie is showing in two theaters in Mountain View, CA: AMC Mountain View 16 and Regal Edwards 14." }] },{ "role": "user", "parts": [{ "text": "Can we recommend some comedy movies on show in Mountain View?" }] }], "tools": [{ "functionDeclarations": [{ "name": "find_movies", "description": "find movie titles currently playing in theaters based on any description, genre, title words, etc.", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "STRING", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "description": { "type": "STRING", "description": "Any kind of description including category or genre, title words, attributes, etc." } }, "required": ["description"] } }, { "name": "find_theaters", "description": "find theaters based on location and optionally movie title which is currently playing in theaters", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "STRING", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "STRING", "description": "Any movie title" } }, "required": ["location"] } }, { "name": "get_showtimes", "description": "Find the start times for movies playing in a specific theater", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "STRING", "description": "The city and state, e.g. San Francisco, CA or a zip code e.g. 95616" }, "movie": { "type": "STRING", "description": "Any movie title" }, "theater": { "type": "STRING", "description": "Name of the theater" }, "date": { "type": "STRING", "description": "Date for requested showtime" } }, "required": ["location", "movie", "theater", "date"] } }] }] }'
Respons contoh curl panggilan fungsi multi-putar
[{ "candidates": [ { "content": { "parts": [ { "functionCall": { "name": "find_movies", "args": { "description": "comedy", "location": "Mountain View, CA" } } } ] }, "finishReason": "STOP", "safetyRatings": [ { "category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_HATE_SPEECH", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "probability": "NEGLIGIBLE" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "NEGLIGIBLE" } ] } ], "usageMetadata": { "promptTokenCount": 48, "totalTokenCount": 48 } } ]
Praktik terbaik
Ikuti praktik terbaik ini untuk meningkatkan akurasi dan keandalan panggilan fungsi Anda.
Perintah pengguna
Untuk hasil terbaik, awali kueri pengguna dengan detail berikut:
- Konteks tambahan untuk model. Contoh,
You are a movie API assistant to help users find movies and showtimes based on their preferences.
- Detail atau petunjuk tentang cara dan waktu untuk menggunakan fungsi. Misalnya,
Don't make assumptions on showtimes. Always use a future date for showtimes.
- Petunjuk untuk mengajukan pertanyaan klarifikasi jika kueri pengguna bersifat ambigu. Sebagai
contoh,
Ask clarifying questions if not enough information is available to complete the request.
Parameter pengambilan sampel
Untuk parameter suhu, gunakan 0
atau nilai rendah lainnya. Hal ini menginstruksikan
model untuk memberikan hasil yang lebih meyakinkan
dan mengurangi halusinasi.
Pemanggilan API
Jika model mengusulkan fungsi yang akan mengirim urutan, memperbarui database, atau memiliki konsekuensi yang signifikan, memvalidasi dengan pengguna sebelum mengeksekusinya.