Function Calling տեխնիկական ամփոփում
Function Calling տեխնիկական ամփոփում
1. Սահմանում
Function Calling-ը մեխանիզմ է, որը թույլ է տալիս մշակողներին JSON schema-ի միջոցով նկարագրել մեծ լեզվական մոդելին (LLM) հասանելի արտաքին գործիքները (օրինակ՝ API): Երբ մոդելը որոշում է, որ անհրաժեշտ է կանչել գործիք՝ օգտատիրոջ հարցին պատասխանելու համար, այն արտածում է կառուցվածքային tool_calls JSON տվյալներ՝ նշելով կանչվող ֆունկցիայի անունը և պարամետրերը: Հյուրընկալող ծրագիրը վերլուծում և կատարում է այս կանչը, արդյունքը վերադարձնում մոդելին, իսկ մոդելը գեներացնում է վերջնական պատասխանը:
2. Հիմնական սկզբունքը և լուծվող խնդիրները
- Էությունը՝ «երկու փուլով զրույց + միջանկյալ կատարում» փակ ցիկլ: Առաջին փուլում մոդելը որոշում է կայացնում և արտածում գործիքի կանչի հարցումը; միջանկյալ կոդը կատարում է գործիքը; երկրորդ փուլում մոդելը կատարման արդյունքի հիման վրա գեներացնում է վերջնական պատասխանը:
- Լուծվող խնդիրները՝ լուծում է այն խնդիրը, երբ նախկինում մոդելին գործիք կանչելու համար անհրաժեշտ էր ապավինել անկայուն և սխալների հակված բնական լեզվի վերլուծությանը (if/else պայմաններ), իսկ կառուցվածքային արտածման միջոցով ձեռք է բերվում ստանդարտացում և ճշգրտության բարձրացում:
3. Պարտականությունների բաշխում (առաջադրանքների պատվիրակման անալոգիա)
- Մշակող (HR)՝ սահմանում է գործիքները, գրում JSON Schema, որը նկարագրում է գործիքի ֆունկցիոնալությունը, պարամետրերը և այլն:
- LLM մոդել (մենեջեր)՝ հասկանում է գործիքի նկարագրությունը, որոշում կայացնում՝ արդյոք անհրաժեշտ է կանչել, որը գործիքը և ինչ պարամետրերով, և արտածում է կառուցվածքային կանչի հարցում (
tool_calls): Մոդելը միայն որոշում է կայացնում և տեքստ գեներացնում, ինքը չի կատարում կոդը: - Կատարող/հյուրընկալող կոդ (աշխատակից)՝ վերլուծում է մոդելի
tool_callsհարցումը, իրականում կատարում համապատասխան ֆունկցիան կամ API կանչը և վերադարձնում արդյունքը:
4. Գործիքի սահմանում (JSON Schema)
Schema-ն գործիքի «հրահանգների ձեռնարկն» է, հիմնական տեղեկությունները ներառում են՝
- name՝ գործիքի եզակի նույնացուցիչ:
- description՝ չափազանց կարևոր, մոդելը լիովին ապավինում է այս նկարագրությանը՝ որոշելու, թե արդյոք կանչել գործիքը: Որքան պարզ և ճշգրիտ է նկարագրությունը, այնքան ավելի ճշգրիտ է մոդելի որոշումը:
- parameters՝ սահմանում է գործիքի համար անհրաժեշտ պարամետրերը, դրանց տեսակը, նկարագրությունը, սահմանափակումները (օրինակ՝ թվարկված արժեքներ, պարտադիր լինելը և այլն):
5. Ամբողջական կանչի հոսք
Հոդվածը եղանակի հարցման կոդի օրինակով ցույց է տալիս ամբողջ գործընթացը՝ օգտատիրոջ հարցից, գործիքի սահմանմամբ առաջին մոդելի կանչից, մոդելի tool_calls վերադարձից, կոդի կողմից ֆունկցիայի կատարումից, արդյունքը role: "tool" հաղորդագրությամբ զրույցի պատմության մեջ ավելացնելուց մինչև մոդելի կողմից վերջնական բնական լեզվով պատասխանի գեներացումը:
6. Ընդլայնված հնարավորություն - զուգահեռ գործիքների կանչ
Երբ օգտատիրոջ հարցը պահանջում է մի քանի գործիքների համատեղ աշխատանք (օրինակ՝ միաժամանակ մի քանի քաղաքների եղանակի հարցում), մոդելը կարող է մեկ պատասխանում արտածել մի քանի tool_calls պարունակող ցուցակ: Հյուրընկալող կոդը կարող է զուգահեռաբար կատարել այդ կանչերը, այնուհետև բոլոր արդյունքները միասին վերադարձնել մոդելին համակցման համար՝ այդպիսով բարձրացնելով արդյունավետությունը:
评论
暂无已展示的评论。
发表评论(匿名)