Kur përdorni një model gjenerues të inteligjencës artificiale (AI) si Gemma, mund të dëshironi të përdorni modelin për të operuar ndërfaqet programuese në mënyrë që të përfundoni detyrat ose t'u përgjigjeni pyetjeve. Instruksioni i një modeli duke përcaktuar një ndërfaqe programimi dhe më pas duke bërë një kërkesë që përdor atë ndërfaqe quhet thirrje funksioni .
Gemma nuk nxjerr një shenjë specifike të mjetit. Korniza juaj duhet të zbulojë një thirrje mjeti duke kontrolluar nëse struktura e daljes përputhet me specifikimet e daljes së funksionit tuaj të kërkuar.
Ju mund të përdorni thirrjen e funksionit për një numër aplikacionesh:
- Krijo një ndërfaqe të gjuhës natyrore për një API programimi për të lejuar jo-programuesit të përdorin një ndërfaqe programatike pa kodim.
- Gjeneroni thirrje programimi si pjesë e një fluksi pune të agjentit të AI
Thirrja e funksionit mbështetet në Gemma 3, por teknika e thirrjes së funksionit mund të përdoret me versionet e mëparshme të Gemma. Ky udhëzues ofron udhëzime se si të ndërtohen kërkesat Gemma që përdorin thirrjen e funksionit. Ne rekomandojmë Gemma3 27B për performancën më të mirë dhe Gemma3 12B për performancë të balancuar dhe vonesë.
Funksionet e programimit të thirrjeve
Ju mund të përdorni thirrjen e funksionit me Gemma duke ndërtuar një prompt që ofron udhëzime që specifikojnë formatin e daljes dhe përcaktojnë funksionet e disponueshme.
Kur përfshihet kërkesa e përdoruesit, modeli nxjerr një thirrje funksioni, i cili është një varg që përputhet me formatin tuaj të specifikuar të daljes. Kjo sinjalizon një kërkesë për t'u analizuar nga korniza e modelit tuaj për të thirrur funksionet e përcaktuara.
Shembulli i mëposhtëm i nxitjes tregon një bllok të përkufizimit të funksionit, së bashku me një sintaksë të thirrjes së funksionit dhe një dalje të thirrjes së funksionit nga modeli. Shembulli i mëposhtëm është menduar të përdoret me një ndërfaqe programimi për një katalog produkti:
You have access to functions. If you decide to invoke any of the function(s), you MUST put it in the format of [func_name1(params_name1=params_value1, params_name2=params_value2...), func_name2(params)] You SHOULD NOT include any other text in the response if you call a function [ { "name": "get_product_name_by_PID", "description": "Finds the name of a product by its Product ID", "parameters": { "type": "object", "properties": { "PID": { "type": "string" } }, "required": [ "PID" ] } } ] While browsing the product catalog, I came across a product that piqued my interest. The product ID is 807ZPKBL9V. Can you help me find the name of this product?
Kjo kërkesë duhet të prodhojë përgjigjen e mëposhtme:
[get_product_name_by_PID(PID="807ZPKBL9V")]
Ky shembull përdor një dalje të thirrjes së funksionit të stilit Python. Përndryshe, mund të specifikoni një format daljeje të stilit JSON, siç tregohet në shembullin e mëposhtëm:
You have access to functions. If you decide to invoke any of the function(s), you MUST put it in the format of {"name": function name, "parameters": dictionary of argument name and its value} You SHOULD NOT include any other text in the response if you call a function [ { "name": "get_product_name_by_PID", "description": "Finds the name of a product by its Product ID", "parameters": { "type": "object", "properties": { "PID": { "type": "string" } }, "required": [ "PID" ] } } ] While browsing the product catalog, I came across a product that piqued my interest. The product ID is 807ZPKBL9V. Can you help me find the name of this product?
Kjo kërkesë duhet të japë përgjigjen e mëposhtme:
{"name": "get_product_name_by_PID", "parameters": {"PID": "807ZPKBL9V"}}
Komponentët e promptit të thirrjes së funksionit
Kur përdorni thirrjen e funksionit me modelet Gemma, kërkesa juaj e modelit duhet të ndjekë këtë renditje dhe strukturë specifike:
Seksionet e mëposhtme japin më shumë detaje për secilin prej këtyre komponentëve nxitës.
Konfigurimi i thirrjes së funksionit
Seksioni i konfigurimit të kërkesës për thirrjen e funksionit përcakton sjelljen e përgjithshme të pritshme të modelit. Ju mund të shtoni udhëzime shtesë, të përgjithshme për sjelljen e modelit në këtë seksion, si p.sh. specifikimi që dalja duhet të shfaqet duke përdorur një funksion print
ose console.log
. Përdorni prapambetje të vetme të stilit Markdown ( func_name
) për të treguar sintaksën e kodit.
You have access to functions. If you decide to invoke any of the function(s), you MUST put it in the format of {"name": function name, "parameters": dictionary of argument name and its value} You SHOULD NOT include any other text in the response if you call a function
Këto udhëzime duhet të jenë sa më të qarta dhe të shkurtra. Jepni përparësi udhëzimeve më të rëndësishme dhe jini të kujdesshëm në lidhje me dhënien e shumë udhëzimeve të përgjithshme. Modelet Gemma mund të shpërfillin udhëzimet që janë shumë të detajuara ose jo të shprehura qartë, veçanërisht kur përdorni versione modeli me një numër më të ulët parametrash.
Përkufizimi i funksionit
Seksioni i përkufizimit të prompt-it ofron emrin e funksionit, parametrat dhe daljen, duke përfshirë një përshkrim për secilin. Ju mund të deklaroni funksionet në formatin e treguar. Funksionet e vetme ose të shumëfishta mund të përcaktohen brenda bllokut të deklarimit të funksionit.
[ { "name": "get_product_name_by_PID", "description": "Finds the name of a product by its Product ID", "parameters": { "type": "object", "properties": { "PID": { "type": "string" } }, "required": [ "PID" ] } }, { "name": "get_product_price_by_PID", "description": "Finds the price of a product by its Product ID", "parameters": { "type": "object", "properties": { "PID": { "type": "string" } }, "required": [ "PID" ] } } ]
Hapat e ardhshëm
Shikoni mënyrat për të vendosur dhe ekzekutuar modelet Gemma: