Ուղեցույցներ

Ի՞նչ է SDK-ն։ Ծրագրային ապահովման մշակման գործիքակազմերը պարզ բացատրությամբ

SDK-ն (software development kit, ծրագրային ապահովման մշակման գործիքակազմ) պատրաստի գործիքակազմ է, որը ընկերությունը տրամադրում է մշակողներին, որպեսզի նրանք կարողանան օգտագործել իր ծառայությունը կամ հարթակը՝ առանց ամեն ինչ զրոյից կառուցելու։ Այն սովորաբար ներառում է կոդի գրադարան մի կոնկրետ ծրագրավորման լեզվի համար, փաստաթղթեր և օրինակներ, երբեմն նաև լրացուցիչ գործիքներ, օրինակ՝ թեստավորման միջոցներ։ Երբ ձեր հավելվածը «օգտագործում է Stripe SDK-ն», դա նշանակում է, որ ձեր կոդը կանչում է Stripe-ի պատրաստի ֆունկցիաները, այլ ոչ թե ձեռքով գրում յուրաքանչյուր հարցում դեպի Stripe-ի API։

Ինչու են SDK-ները կարևոր, երբ կառուցում եք AI-ով

Երբ AI կառուցիչից խնդրում եք ավելացնել վճարումներ, AI զրույց, քարտեզներ կամ էլփոստ, այն սովորաբար տեղադրում է այդ մատակարարի SDK-ն և գրում մի քանի տող, որոնք դրան են կանչում։ SDK-ն ինչ լինելը իմանալը օգնում է ձեզ․

  • Հասկանալ, թե ինչ է ավելացվում ձեր նախագծին։ SDK-ն կախվածություն է՝ արտաքին կոդ, որի վրա այժմ հիմնված է ձեր հավելվածը։
  • Տեսնել, թե ինչ կարգավորում է պետք։ Գրեթե յուրաքանչյուր SDK-ի համար անհրաժեշտ է API բանալի, և շատերն ունեն առանձին «սերվերային» և «բրաուզերային» տարբերակներ՝ տարբեր կանոններով, թե որ բանալիներն են անվտանգ օգտագործել։
  • Խնդրել ճիշտ բանը։ «Օգտագործիր Stripe-ի պաշտոնական SDK-ն սերվերի վրա» ավելի հստակ հրահանգ է, քան «ավելացրու Stripe»։
  • Կարդալ սխալները։ AI-ով կառուցված հավելվածների շատ սխալներ գալիս են այն բանից, որ SDK-ն սխալ է կարգավորված, հնացած է կամ սխալ տեղում է օգտագործված։

Ամենօրյա անալոգիա

Պատկերացրեք, որ ուզում եք պատերին դարակ կախել։

  • API-ն շենքի կանոններն են՝ որ պատերը կարող են պահել պտուտակներ, ինչ բեռ են դիմանում և որտեղ են խողովակները։ Դուք կարող եք աշխատել միայն այդ կանոններով՝ ամեն ինչ ինքներդ չափելով և բուրգելով։
  • SDK-ն նույն ընկերության տրամադրած հարթեցված փայտե դարակի հավաքածուն է՝ նախապես կտրված մասերով, ճիշտ պտուտակներով, այդ պատերին ճշգրիտ հարմարվող փակագծով և հրահանգների գրքույկով։

Դուք դեռ որոշում եք, թե որտեղ է դարակը և ինչ կդնեք դրա վրա։ Հավաքածուն պարզապես խնայում է փայտը կտրելուց և պտուտակների չափը գուշակելուց, և քիչ հավանական է, որ վերջանա ջրատար խողովակի մեջ անցք բացելով։

SDK ընդդեմ API-ի, գրադարանի և շրջանակի

Այս տերմինները համընկնում են, ինչը շատերին շփոթեցնում է․

ՏերմինԻնչ էՕրինակ
APIԿանոններ ծառայության հետ խոսելու համար՝ ինչ հարցումներ է ընդունում և ինչ է վերադարձնումStripe-ի REST API-ը api.stripe.com-ում
SDKՄատակարարի գործիքակազմը՝ նրա API-ն կամ հարթակը որոշակի լեզվից օգտագործելու համար, փաստաթղթերով և գործիքներովStripe-ի պաշտոնական Node.js գրադարանը
ԳրադարանՑանկացած վերաօգտագործելի կոդ, որը ավելացնում եք նախագծինԱմսաթվի ձևաչափման փաթեթ
Շրջանակ (framework)Ավելի մեծ կառուցվածք, որի ներսում կառուցված է ամբողջ հավելվածըReact, Next.js, Django

SDK-ն սովորաբար պարունակում է գրադարան, և այդ գրադարանը սովորաբար կանչում է API։ Վեբ ծառայությունների համար «SDK»-ն և «client library»-ն հաճախ փոխադարձաբար օգտագործվում են։

SDK-ներից ոմանք ընդհանրապես վեբ ծառայությունների հետ կապ չունեն։ Apple-ը և Google-ը հրապարակում են SDK-ներ iOS և Android հավելվածներ կառուցելու համար, որոնք ներառում են կոմպիլյատորներ, սիմուլյատորներ և հարթակի կոդ։ Գաղափարը նույնն է․ ամեն ինչ, ինչ պետք է նրանց հարթակի համար կառուցելու, մեկ փաթեթում։

Ինչ է անում SDK-ն ձեր փոխարեն

Նույն խնդիրը՝ վճարային մատակարարի մոտ հաճախորդ ստեղծելը, կատարենք երկու եղանակով։

Առանց SDK-ի ձեր կոդը պետք է ինքը կառուցի HTTP հարցումը․ սահմանի URL-ը, ճիշտ վերնագրում ավելացնի գաղտնի բանալին, տվյալները ձևաչափի այնպես, ինչպես API-ն է սպասում, ուղարկի, ստուգի կարգավիճակի կոդը, վերլուծի պատասխանը և կրկնի փորձը, եթե ցանցը թուլանա։

SDK-ի հետ դա ավելի շատ մեկ տող է․

const customer = await stripe.customers.create({ email: "lena@example.com" });

Սա ետևում SDK-ն հոգ է տանում․

  • Նույնականացում՝ ձեր բանալին ճիշտ կցում է յուրաքանչյուր հարցման
  • Տվյալների ձևաչափում՝ ձեր տվյալները վերածում է այն ձևի, որ API-ն է սպասում, իսկ պատասխանը՝ օբյեկտների
  • Սխալներ՝ կարգավիճակի կոդերը վերածում է հստակ սխալի տեսակների, որոնք ձեր կոդը կարող է բռնել
  • Կրկնակի փորձեր՝ անվտանգ կրկնում է հարցումը, երբ այն ձախողվում է ժամանակավոր պատճառներով (շատ պաշտոնական SDK-ներ այդ անում են)
  • Տիպեր՝ TypeScript-ում ասում է ձեր խմբագրիչին, թե որ դաշտերն են գոյություն ունենում, որպեսզի սխալները երևան գան՝ մինչև կոդը գործարկելը

Օրինակ աշխատանքում․ AI պատասխաններ աջակցության հավելվածում

Դուք խնդրում եք AI կառուցիչին. «Երբ հաճախորդը աջակցության հայտ է ուղարկում, ստեղծիր առաջարկվող պատասխան AI մոդելի միջոցով»։

  1. AI-ը մոդելի մատակարարի պաշտոնական SDK-ն տեղադրում է որպես փաթեթ ձեր նախագծում (JavaScript նախագծերում՝ npm ռեգիստրից)։
  2. Դուք մատակարարի API բանալին ավելացնում եք որպես նախագծի գաղտնիք։ SDK-ն այն կարդում է սերվերի միջավայրի փոփոխականից։
  3. AI-ը գրում է սերվերային երթուղի, որը SDK-ն կանչում է հայտի տեքստով և կարճ հրահանգով, և պահում է առաջարկվող պատասխանը տվյալների բազայում։
  4. Բրաուզերը երբեք չի տեսնում բանալին․ այն միայն կանչում է ձեր սեփական սերվերի երթուղին։

Եթե մատակարարը հետագայում փոխի իր API-ն, սովորաբար թողարկում է SDK-ի նոր տարբերակ։ Փաթեթի թարմացումը՝ և թողարկման նշումներում խզող փոփոխությունների ստուգումը, հաճախ բավական է։

Հիմնական տերմիններ

ՏերմինՆշանակություն
ԿախվածությունԱրտաքին կոդ, որի վրա հիմնված է ձեր նախագիծը։ SDK-ն դրանցից մեկն է։
Փաթեթ / փաթեթների կառավարիչՆերբեռնելի կոդի փաթեթ և այն գործիքը, որը տեղադրում է այն (npm JavaScript-ի համար, pip՝ Python-ի)։
Client libraryԿոդ, որը հեշտացնում է կոնկրետ API-ի կանչը։ Վեբ ծառայությունների համար հաճախ հենց «SDK» նշանակությունն է։
Սերվերային SDKԱշխատում է ձեր հետին մասում և կարող է ապահով օգտագործել գաղտնի բանալիներ։
Կլիենտային / բրաուզերային SDKԱշխատում է օգտատիրոջ բրաուզերում։ Երբեք չի ստանում գաղտնի բանալիներ, միայն հանրային կամ «publishable» բանալիներ։
ՏարբերակSDK-ի յուրաքանչյուր թողարկում ունի համար (օրինակ՝ 4.2.0)։ Մեծ թռիչքները հաճախ նշանակում են խզող փոփոխություններ։
Խզող փոփոխությունԹարմացում, որը պահանջում է ձեր կոդը փոխել։
Փոփոխությունների մատյան / թողարկման նշումներՄատակարարի ցանկը, թե ինչ է փոխվել յուրաքանչյուր տարբերակում։

Տարածված սխալ պատկերացումներ

  • «SDK-ն և API-ն նույն բանն են»։ API-ն ծառայության ինտերֆեյսն է, իսկ SDK-ն դրա վրա ընկած հարմարավետության շերտ է։ Գրեթե ցանկացած վեբ API կարելի է կանչել առանց SDK-ի, պարզապես ավելի շատ աշխատանքով։
  • «Եթե SDK-ն տեղադրված է, ինտեգրումն ավարտված է»։ Դեռ անհրաժեշտ է հաշիվ մատակարարի մոտ, ճիշտ բանալիներ և կոդ, որը վարվում է այն ժամանակ, երբ ինչ-որ բան ձախողվում է։
  • «Յուրաքանչյուր փաթեթ ճիշտ անունով պաշտոնականն է»։ Հարձակվողները երբեմն հրապարակում են նման անունով կեղծ փաթեթներ։ Ստուգեք մատակարարի փաստաթղթերում փաթեթի ճշգրիտ անունը։
  • «Բրաուզերային SDK-ն կարող է օգտագործել իմ գաղտնի բանալին»։ Երբեք։ Բրաուզերի կոդում ցանկացած բան տեսանելի է այցելուներին։ Գաղտնի բանալիները պետք է լինեն միայն սերվերային կոդում․ տե՛ս ինչպես պահել API բանալիները անվտանգ։
  • «SDK-ները երբեք չեն պահանջում թարմացում»։ Հին տարբերակները դադարում են ստանալ շտկումներ և, ի վերջո, դադարում են աշխատել, երբ մատակարարները թոշակի են անցկացնում հին API տարբերակները։

Ինչ հարցնել ձեր AI կառուցիչից

  • «Օգտագործիր մատակարարի պաշտոնական SDK-ն, ոչ երրորդ կողմի փաթաթան։ Ասա ճշգրիտ փաթեթի անունը և տարբերակը, որ տեղադրեցիր։»
  • «Օգտագործիր SDK-ն միայն սերվերի վրա և բանալին կարդա միջավայրի փոփոխականից։»
  • «Այս SDK-ի ո՞ր մասերն են աշխատում բրաուզերում, և ո՞ր բանալիներն են օգտագործում։»
  • «Ի՞նչ է լինում, եթե SDK-ի կանչը ձախողվի կամ ժամանակը սպառվի։ Ցույց տուր օգտատիրոջը հստակ հաղորդագրություն և գրանցիր սխալը։»
  • «Թվարկիր այս հավելվածի բոլոր SDK-ներն ու փաթեթները և ասա, թե յուրաքանչյուրը ինչի համար է։»
  • «Ստուգիր՝ արդյոք մեր SDK-ներից որևէ մեկը հնացած է կամ ունի հայտնի անվտանգության խնդիրներ։»

SDK-ները Mythex-ում

Mythex գործակալը կարող է տեղադրել փաթեթներ ձեր նախագծի sandbox-ում՝ ձեր կույտի սովորական փաթեթների կառավարչի միջոցով, ներառյալ մատակարարների SDK-ները։ Անվանեք փաթեթը և այն գործառույթը, որի համար եք ուզում։ Տե՛ս npm փաթեթների օգտագործում։ Mythex-ը չի տրամադրում նախապես պատրաստված ինտեգրումների կատալոգ ձեր հավելվածի համար. դուք պահում եք մատակարարի բանալին որպես նախագծի գաղտնիք և խնդրում գործակալին կանչել ծառայությունը սերվերի կողմից, ինչպես նկարագրված է Integrate any API էջում։

SDK-ների տակ գտնվող շերտի մասին կարդացեք ինչ է API-ն։ Երկու տարածված SDK-ի վրա հիմնված գործառույթի համար տե՛ս ինչպես ավելացնել վճարումներ ձեր հավելվածին և ինչպես օգտագործել LLM API-ները։

Հարցեր

Ի՞նչ է SDK-ն պարզ տերմիններով։

SDK-ն (software development kit, ծրագրային ապահովման մշակման գործիքակազմ) պատրաստի կոդի, փաստաթղթերի և գործիքների փաթեթ է, որը ընկերությունը տրամադրում է, որպեսզի մշակողները հեշտությամբ օգտագործեն նրա ծառայությունը կամ հարթակը։ Յուրաքանչյուր հարցում API-ին ձեռքով գրելու փոխարեն դուք կանչում եք SDK-ի արդեն տրամադրված պարզ ֆունկցիաները։

Ո՞րն է տարբերությունը SDK-ի և API-ի միջև։

API-ն այն կանոնների հավաքածուն է, որով խոսում են ծառայության հետ՝ հարցումները, որոնք այն ընդունում է, և պատասխանները, որոնք վերադարձնում է։ SDK-ն այդ API-ի վրա կառուցված գործիքակազմ է, սովորաբար մեկ ծրագրավորման լեզվի համար, որը այդ հարցումները կատարում է ձեր փոխարեն և հոգ է տանում այնպիսի մանրամասների մասին, ինչպիսիք են նույնականացումը, կրկնակի փորձերը և տվյալների ձևաչափերը։

Արդյո՞ք SDK-ները անվճար են։

Վեբ ծառայությունների մեծ մասի SDK-ները ներբեռնելու համար անվճար են և բաց կոդով, բայց ծառայությունը, որին դրանք միանում են, կարող է գանձել օգտագործման համար։ Stripe-ի կամ OpenAI-ի SDK-ի օգտագործումը ինքնին ոչինչ չարժե. նրա կատարած վճարումները կամ AI հարցումները գանձվում են մատակարարի կողմից։

Անվտա՞նգ է SDK-ն օգտագործելը։

Մատակարարի պաշտոնական SDK-ները, ընդհանուր առմամբ, ամենաանվտանգ ձևն են նրա ծառայությունը կանչելու համար, քանի որ դրանք պահպանվում են և հոգ են տանում անվտանգության մանրամասների մասին։ Տեղադրեք դրանք պաշտոնական փաթեթների ռեգիստրից, թարմացրեք և զգույշ եղեք նման անունով ոչ պաշտոնական փաթեթներից։

Mythex · Pricing · Կառուցեք ամեն ինչ AI-ով · Կաղապարներ կայքերի և հավելվածների համար · Mythex-ի համեմատությունները · AI-ով հավելվածների ստեղծման բառարան · Անվճար գործիքներ AI-ով հավելվածներ ստեղծելու համար · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)