როგორ დავამატოთ AI ფუნქციები თქვენს აპში
აპში AI ფუნქციის დასამატებლად დიდი ენობრივი მოდელის (LLM) API გამოიძახეთ თქვენი სერვერიდან: გაუგზავნეთ მკაფიო ინსტრუქციები და შესაბამისი მონაცემები და გამოიყენეთ მიღებული შედეგი. უმეტესად სასარგებლო ფუნქციები ოთხი ნიმუშიდან ერთ-ერთს მიჰყვება — შეჯამება, ჩატი, სტრუქტურირებული მონაცემების ამოღება და კლასიფიკაცია — და თითოეული მათგანი რამდენიმე ათეული ხაზის კოდია, რომელსაც AI აპის შემქმნელი დაწერს თქვენთვის. იმის გადამწყვეტი სამუშაო, რომელიც ფუნქციას კარგს ხდის, გამოძახილის გარშემოა: API გასაღების სერვერზე შენახვა, ხარჯის კონტროლი მომხმარებელზე და შედეგის შემოწმება, სანამ მას ენდობით.
ოთხი ნიმუში, რომელიც უმეტეს AI ფუნქციას უდევს საფუძვლად
| ნიმუში | რას აკეთებს | მაგალითი ფუნქციები | ტიპური გამოსავალი |
|---|---|---|---|
| შეჯამება | გრძელ ტექსტს მოკლეს უქმნის | შეხვედრის ნოტების დაიჯესტი, ბილეთის შეჯამება, „რა შეიცვალა“ დოკუმენტისთვის | აბზაცი ან ჩამონათვალი |
| ჩატი | პასუხობს კითხვებს საუბრის ფორმით, ხშირად თქვენს მონაცემებზე | დახმარების ასისტენტი, „ჰკითხე შენი დოკუმენტაციას“, ონბორდინგის გიდი | ნაკადური ტექსტი |
| ამოღება | სტრუქტურირებულ ველებს იღებს არეული ტექსტიდან ან სურათებიდან | ინვოისის დეტალები PDF-იდან, კონტაქტები ელფოსტის ხელმოწერიდან, ვაკანსიის მონაცემები განცხადებიდან | JSON, რომელიც სქემას შეესაბამება |
| კლასიფიკაცია | ფიქსირებული ნიშნულების სიიდან ირჩევს | მხარდაჭერის ბილეთების მარშრუტიზაცია, უკუკავშირის თემატური მონიშვნა, სასწრაფო შეტყობინებების აღნიშვნა, ენის ამოცნობა | ერთი ნიშნული, შესაძლოა ნდობის მაჩვენებლით |
ამოღება და კლასიფიკაცია ხშირად ყველაზე ღირებული და ნაკლებად შესამჩნევია. ისინი ყოველ ჩანაწერზე რამდენიმე წუთს უზოგავენ ვიღაცას, და რადგან გამოსავალი ფიქსირებული ფორმისაა, მისი ავტომატურად შემოწმება შეგიძლიათ. ჩატი ყველაზე თვალსაჩინოა, მაგრამ ყველაზე რთულია სწორად გასაკეთებლად და მას საკუთარი სახელმძღვანელო აქვს: როგორ ავაშენოთ AI ჩატბოტის აპი.
როგორ ჯდება ფუნქცია თქვენს აპში
ყოველ ნიმუშს ერთი და იგივე ფორმა აქვს:
- მომხმარებელი მოქმედებს — აჭერს „შეჯამებას“, ტვირთავს ფაილს, აგზავნის შეტყობინებას.
- თქვენი frontend იძახებს თქვენს სერვერს, არა AI პროვაიდერს.
- სერვერი აგებს მოთხოვნას: სისტემურ ინსტრუქციებს, მომხმარებლის შეყვანას და მონაცემებს თქვენი ბაზიდან, რომელიც მოდელს სჭირდება — მხოლოდ იმ მონაცემებს, რომლის ნახვაც ამ მომხმარებელს შეუძლია.
- სერვერი იძახებს LLM API-ს გასაღებით, რომელიც გარემოს ცვლადშია შენახული.
- სერვერი ამოწმებს პასუხს — სწორი JSON, ცნობილი ნიშნული, გონივრული სიგრძე — და ინახავს ან აბრუნებს.
- Frontend აჩვენებს შედეგს; უფრო გრძელი პასუხებისთვის ტექსტი ნაკადურად ჩნდება, როგორც კი მოდის.
გასაღები მე-4 ნაბიჯში სერვერზე რჩება და ბრაუზერს არასდროს აღწევს. თუ API ახალი ცნებაა, რა არის API მოკლე შესავალია, ხოლო როგორ გამოვიყენოთ LLM API-ები ტოკენებს, მოდელებსა და გასაღებებს უფრო ღრმად განიხილავს.
პროვაიდერისა და მოდელის არჩევა
მთავარი პროვაიდერები — OpenAI, Anthropic, Google და სხვები — ყველა გვთავაზობს ტექსტურ API-ს დაახლოებით ერთნაირი ფორმით. არჩევისას სასარგებლო კითხვებია:
- ხარისხი თქვენს ამოცანაზე. სცადეთ თქვენი აპიდან რეალური მაგალითები ორ-სამ მოდელზე. განსხვავებები ხშირად უფრო ნათელია თქვენს მონაცემებზე, ვიდრე ზოგად ბენჩმარკებზე.
- ზომა და ფასი. პროვაიდერები გვთავაზობენ უფრო დიდ, შესაძლებლობებით მდიდარ მოდელებს და პატარა, იაფ, სწრაფ მოდელებს. კლასიფიკაცია და მარტივი ამოღება ხშირად კარგად მუშაობს პატარა მოდელზე; გრძელი მსჯელობა ან ნიუანსირებული წერა შეიძლება დიდს მოითხოვდეს.
- სტრუქტურირებული გამოსავალი. ამოღებისა და კლასიფიკაციისთვის უპირატესობა მიანიჭეთ API-ს ფუნქციას, რომელიც მოდელს აბრუნებინებს თქვენს მიერ მოწოდებული სქემის შესაბამის JSON-ს, თავისუფალი ტექსტის დამუშავების ნაცვლად.
- მონაცემთა დამუშავება. წაიკითხეთ პროვაიდერის პირობები იმის შესახებ, ინახება თუ არა API-ის შეყვანა ან გამოიყენება ტრენინგისთვის, და შეესაბამება თუ არა ეს მომხმარებლების მონაცემებს.
- ლიმიტები. ახალ ანგარიშებს ხშირად დაბალი rate limit აქვთ; შეამოწმეთ ისინი გაშვებამდე.
მოდელების სახელები და ფასები ხშირად იცვლება, ამიტომ კოდმა მოდელის სახელი კონფიგურაციიდან უნდა წაიკითხოს და არა მრავალ ადგილას იყოს ჩაწერილი.
ფუნქციის დამატება ნაბიჯ-ნაბიჯ
გავიხსენოთ კონკრეტული მაგალითი: პატარა CRM, სადაც თითოეულ კონტაქტს გრძელი ისტორია აქვს ნოტებით.
1. შეინახეთ გასაღები. შექმენით გასაღები პროვაიდერის დეშბორდში და შეინახეთ როგორც სერვერის მხარის საიდუმლო, მაგალითად OPENAI_API_KEY ან ANTHROPIC_API_KEY.
2. მოითხოვეთ ერთი ვიწრო ფუნქცია:
დაამატე ღილაკი „შეჯამება“ კონტაქტის გვერდზე. სერვერზე გაუგზავნე მომხმარებლის ბოლო 20 ნოტი [PROVIDER]-ს საიდუმლოთი [ENV_NAME], ინსტრუქციით დაწერო სამი პუნქტი: მიმდინარე სტატუსი, ღია კითხვები, შემდეგი ნაბიჯი. შეიტანე მხოლოდ ის ნოტები, რომლის ნახვაც შესულ მომხმარებელს შეუძლია. აჩვენე ჩატვირთვის მდგომარეობა, შეინახე შეჯამება დროის ნიშნულით და აჩვენე „ამჟამად ვერ დავაჯამეთ“, თუ მოთხოვნა ვერ შესრულდა. გასაღები არასდროს გაუგზავნო ბრაუზერს.
3. დაამატეთ ამოღება იქ, სადაც ტიპვას ზოგავს:
როცა მომხმარებელი ელფოსტის ხელმოწერას ჩასვამს „სწრაფი დამატების“ ველში, სერვერიდან დაუძახე [PROVIDER]-ს და დააბრუნე JSON ველებით: სახელი, კომპანია, თანამდებობა, ელფოსტა, ტელეფონი, პროვაიდერის სტრუქტურირებული გამოსავლის ფუნქციით. სერვერზე შეამოწმე JSON, შეავსე ახალი კონტაქტის ფორმა და მომხმარებელმა შენახვამდე შეძლოს რედაქტირება. ცარიელი დატოვე ველები, ვიდრე ვარაუდობდე.
„მომხმარებელი არედაქტირებს შენახვამდე“ ყველაზე მნიშვნელოვანი ნაწილია: მოდელი წინადადებას აკეთებს, გადაწყვეტილებას კი ადამიანი იღებს.
4. დაამატეთ კლასიფიკაცია ფონურ რეჟიმში:
როცა ახალი მხარდაჭერის ბილეთი შემოვა, მიანიჭე მას ზუსტად ერთი ნიშნული: ანგარიშსწორება, ბაგი, ფუნქციის მოთხოვნა, ანგარიშზე წვდომა, სხვა. გამოიყენე პატარა, იაფი მოდელი. თუ პასუხი ამ ნიშნულებიდან არ არის, შეინახე „სხვა“. აჩვენე ნიშნული რედაქტირებად ტეგად.
5. შეამოწმეთ რეალურ, არეულ მონაცემებზე — გრძელი ნოტები, ცარიელი ნოტები, სხვა ენები, ხელმოწერა ტელეფონის ნომრის გარეშე — და გაშვებამდე შეხედეთ ოცი გამოსავალი გვერდიგვერდ.
როგორ დავწეროთ მუშა ინსტრუქციები
ინსტრუქციები, რომლებსაც ყოველ მოთხოვნას თან აგზავნით (ხშირად სისტემურ prompt-ს უწოდებენ), ხარისხის წყაროა.
- თქვით, ვისთვისაა და რა არის კარგი შედეგი. „შეჯამებას წაიკითხავს გაყიდვების მენეჯერი 10 წამში ზარამდე“ მოდელს სამიზნეს აძლევს.
- დააფიქსირეთ ფორმატი. ზუსტი რაოდენობა პუნქტებისა, სიგრძის ლიმიტი, ველები, ეტიკეტები.
- თქვით, რა გააკეთოს ეჭვის შემთხვევაში. „თუ ნოტებში შემდეგი ნაბიჯი არ არის ნახსენები, დაწერე „შემდეგი ნაბიჯი არ არის ჩაწერილი““. ეს ამცირებს გამოგონილ პასუხებს.
- მიეცით ორი-სამი მაგალითი კარგი შეყვანისა და გამოსავლისა ამოღებისა და კლასიფიკაციისთვის.
- ინსტრუქციები ცალკე შეინახეთ მომხმარებლის შიგთავსისგან და მომხმარებლის შიგთავსი ნათლად აღნიშნეთ, რომ მოდელმა ისინი ერთმანეთისგან განასხვავოს.
პრომპტები შეინახეთ კოდის ბაზაში ფაილებად, რომ ისინი ვერსიირებული და განხილვადი იყოს, როგორც ნებისმიერი სხვა კოდი.
ხარჯების კონტროლი
LLM API-ები იძლევა ტოკენებით — მცირე ტექსტურ ნაწილებით — როგორც გაგზავნილი, ისე დაბრუნებული ტექსტისთვის. ღირებულება იზრდება ერთ მოთხოვნაზე კონტექსტის ზომისა და გაშვების სიხშირის ნამრავლით. პრაქტიკული კონტროლი:
- გაუგზავნეთ მხოლოდ საჭირო. ბოლო 20 ნოტი, არა მთელი ისტორია. გრძელი დოკუმენტები შეამოკლეთ ან დაყავით.
- გამოიყენეთ ყველაზე პატარა მოდელი, რომელიც საქმეს აკეთებს. სანამ დიდს ნაგულისხმევად აირჩევდეთ, სცადეთ.
- შეზღუდეთ გამოსავლის სიგრძე API-ის მაქსიმალური ტოკენების პარამეტრით.
- ქეშირება. შეინახეთ შეჯამება და ხელახლა გენერირება მხოლოდ მაშინ, როცა წყარო შეიცვლება, და არა ყოველ გვერდის ნახვაზე.
- ლიმიტი მომხმარებელზე. დღიური ლიმიტი ანგარიშზე ან გეგმაზე აჩერებს ერთ აქტიურ მომხმარებელს ან სკრიპტს, რომ ანგარიში გაზარდოს.
- rate-limit ეს endpoint როგორც ნებისმიერი ძვირი მარშრუტი.
- დააყენეთ ბიუჯეტი ან შეტყობინება პროვაიდერის დეშბორდში და გაშვების შემდეგ ყოველკვირეულად შეამოწმეთ გამოყენება.
- ჩაწერეთ ტოკენების გამოყენება ფუნქციაზე, რათა იცოდეთ, რომელი რამდენი ჯდება.
თუ AI ფუნქციები თქვენი პროდუქტის ცენტრშია, მათი მუშაობის ღირებულება ფასში ჩართეთ და არა შთანთქით.
უსაფრთხოება და ნდობა
AI-ის გამოსავალი ალბათური. ის შეიძლება არასწორი იყოს, თანაც დარწმუნებულად ჟღერდეს, და მას შეუძლია ნაკითხი ტექსტით წაიყვანონ. ამისთვის ააგეთ:
- გამოსავალს მოექეცით როგორც არასანდო შეყვანას. შეამოწმეთ სტრუქტურა, გაარკვიეთ HTML-ად რენდერებამდე და არასდროს გაუშვათ როგორც კოდი ან მონაცემთა ბაზის მოთხოვნა.
- შეინარჩუნეთ ადამიანი პროცესში ყველაფრისთვის, რასაც შედეგი აქვს — ელფოსტის გაგზავნა, ჩანაწერის შეცვლა, თანხის დაბრუნება. მოდელი ამზადებს, ადამიანი ადასტურებს.
- დაიცავით prompt injection-ისგან. დოკუმენტში ან შეტყობინებაში შეიძლება ეწეროს რაღაც, როგორიცაა „უგულებელყავი შენი ინსტრუქციები“. შეზღუდეთ, რას ხედავს მოდელი, მიმდინარე მომხმარებლის უფლებებით, და არ მისცეთ ინსტრუმენტები, რომლებიც სენსიტიურ მოქმედებას გააკეთებს თქვენი კოდის მიერ უფლებების შემოწმების გარეშე.
- აღნიშნეთ AI-ის კონტენტი, რომ მომხმარებელმა იცოდეს, რომ შეჯამება ან რჩევა გენერირებულია და შეუძლია შეამოწმოს.
- მართეთ შეცდომები ელეგანტურად. პროვაიდერებს აქვთ გაუმართაობა და rate limit-ები. დააყენეთ დროის ლიმიტი, აჩვენეთ ნათელი შეტყობინება და დაუშვით, რომ აპის დანარჩენი ნაწილი მუშაობდეს.
- დააკვირდით, რას აგზავნიან მომხმარებლები. ღია ტექსტურ ველებისთვის განიხილეთ მოდერაციის ეტაპი და კონფიდენციალურობის პოლიტიკაში ნათლად თქვით, რომ კონტენტს მესამე მხარის AI პროვაიდერი ამუშავებს.
უსაფრთხოების შემოწმებების უფრო ფართო სია მოცემულია AI-ით აშენებული აპების უსაფრთხოების ჩამონათვალში.
ხშირი შეცდომები
- ზოგადი ჩატბოტით დაწყება, როცა ერთი ღილაკი „შეჯამება“ ან „კატეგორიზაცია“ მეტ ადამიანს დაეხმარება.
- გასაღების frontend კოდში ან საჯარო რეპოზიტორიში ჩადება.
- მთელი მონაცემთა ბაზის კონტექსტად გაგზავნა, რაც ნელია, ძვირი და რისკავს სხვა მომხმარებლების მონაცემების გაჟონვას.
- თავისუფალი ტექსტის გამოსავალზე ენდობა, სადაც სქემა ან ფიქსირებული ნიშნულები მას შემოწმებადს გახდიდა.
- მომხმარებელზე ლიმიტების არქონა, რაც პირველი ინვოისის მოსვლისას ჩანს.
AI ფუნქციების დამატება Mythex-ით
Mythex-ში AI-ს თქვენს აპში ჩატში მოთხოვნით ამატებთ, თქვენი პროვაიდერის გასაღებით. გასაღები შეინახეთ პროექტის საიდუმლოდ — როცა აგენტს მისი დაჭირდება, Mythex ჩატში საიდუმლოების ბარათს აჩვენებს, ისე რომ გასაღები საუბარში არ ჩასვათ — და აგენტი წერს სერვერის მარშრუტს, პრომპტებსა და ინტერფეისს. თქვენი აპის AI გამოყენებას თქვენი პროვაიდერი გიხდით, Mythex-ის კრედიტებისგან განცალკევებით, რომელსაც აშენებისთვის ხარჯავთ. სტარტერ პრომპტი დოკუმენტაციაში მოცემულია: AI ფუნქციების დამატება შენი საკუთარი API გასაღებებით.
კითხვები
როგორ დავამატო AI არსებულ აპს?
მიიღეთ API გასაღები LLM პროვაიდერისგან, შეინახეთ იგი სერვერის მხარის საიდუმლოდ და დაამატეთ სერვერის მარშრუტი, რომელიც პროვაიდერს აგზავნის მოთხოვნას შესაბამისი მონაცემებით და შედეგს უბრუნებს frontend-ს. დაიწყეთ ერთი ვიწრო ფუნქციით, მაგალითად ჩანაწერის შეჯამებით, სანამ ზოგად ჩატს ააგებთ.
რამდენი ჯდება AI ფუნქციების მუშაობა?
LLM API-ები ფასდება ტოკენებით — დაახლოებით ტექსტის ნაწილებით, რომლებიც იგზავნება და ბრუნდება — და ფასები მოდელის მიხედვით ძალიან განსხვავდება. ღირებულება დამოკიდებულია იმაზე, რამდენი ტექსტი მოჰყვება თითოეულ მოთხოვნას და რამდენად ხშირად გაეშვება. გამოთვალეთ თქვენი საკუთარი გამოყენების მიხედვით, დააყენეთ ლიმიტი პროვაიდერის დეშბორდში და შეზღუდეთ გამოყენება მომხმარებელზე თქვენს აპში.
შემიძლია თუ არა ჩემი OpenAI ან Anthropic გასაღები frontend-ში ჩავდო?
არა. frontend კოდში არსებულს ყველა შეძლებს წაიკითხოს, ვინც გვერდს გახსნის, და გაჟონილი გასაღები უცნობებს საშუალებას აძლევს თქვენი ანგარიში გაზარდონ. პროვაიდერს სერვერიდან დაუძახეთ, სადაც გასაღები გარემოს ცვლადშია.
რა არის prompt injection?
ეს არის როცა ტექსტი, რომელსაც მოდელი კითხულობს — მომხმარებლის შეტყობინება, ატვირთული დოკუმენტი, ვებგვერდი — შეიცავს ინსტრუქციებს, რომლებიც თქვენს ინსტრუქციებს ცდილობს გადაფაროს. მოდელის გამოსავალი უნდა მიიჩნიოთ არასანდოდ, არ მისცეთ მას უფლება, მდგომარეობის შემოწმების გარეშე გამოიწვიოს სენსიტიური მოქმედებები, და მონაცემები, რომლებსაც ხედავს, შეზღუდეთ იმით, რაც მიმდინარე მომხმარებელს შეუძლია ნახოს.