Tiešs pieprasījums modelim
answer = ai_request('request', question)
Piemērs:
answer = ai_request('Jūs esat pieklājīgs ziedu veikala konsultants.', question)
Pirmais arguments ir instrukcija modelim: kas tas ir un kā tam jāatbild.
question ir sistēmas mainīgais, kas vienmēr satur klienta pēdējā ziņojuma tekstu.

Lūdzu, ņemiet vērā
Izteiksmēs mainīgos raksta, izmantojot tikai to nosaukumus, bez
#{}.Atbilde tiek atgriezta kā vienkāršs teksts, tāpēc to var nosūtīt tieši klientam vai saglabāt mainīgajā.
Metode pacietīgi gaida modeļa atbildi, tāpēc pat ilgstoši pieprasījumi, piemēram, lielas shēmas vai gari teksti, tiks pabeigti bez pārtraukuma.
Kad nepieciešami strukturēti dati, nevis brīvā teksta forma, piemēram, kategorija, jā/nē atbilde vai izvilkti lauki, kā trešo argumentu nododiet atbildes shēmu.
Jums nav jāveido shēmas no nulles. Izmantojiet gatavu veidni un pārdēvējiet laukus pēc vajadzības.
“Izvēlēties no saraksta” veidne
Klientu pieprasījumu klasificēšanai, noskaņojuma noteikšanai un līdzīgiem uzdevumiem.
local result = ai_request('Nosakiet pieprasījuma kategoriju.', question, {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": ["sūdzība", "jautājums", "pasūtījums"]
}
},
"required": ["category"]
})
category = get(result, 'category')
Modelis atgriezīs tieši vienu no enum uzskaitītajām vērtībām un neko citu.

“Jā/Nē” veidne

Kopējamais piemērs:
local result = ai_request('Vai klients ir piekritis veikt pirkumu?', question, {
"type": "object",
"properties": {
"agree": {
"type": "boolean"
}
},
"required": ["agree"]
})
agree = get(result, 'agree')
“Izvilkt datus no teksta” veidne

Kopējamais piemērs:
local result = ai_request('Izvelciet no ziņojuma vārdu un tālruņa numuru.', question, {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phone": {
"type": "string"
}
},
"required": ["name", "phone"]
})
client_name = get(result, 'name')
client_phone = get(result, 'phone')
📖 Ātrā atsauce veidņu pielāgošanai
-
"string"— teksts -
"number"— skaitlis -
"boolean"—truevaifalse -
enum— atļauto vērtību saraksts; modelis nevar atgriezt neko ārpus šī saraksta -
required— obligāto lauku saraksts - Lauku nosaukumus, piemēram,
category,nameunphone, var brīvi izvēlēties
Uz shēmas balstīta atbilde tiek atgriezta kā JSON virkne. Atsevišķus laukus var iegūt, izmantojot standarta metodi get().
Lūdzu, ņemiet vērā
Piemēros
resultir deklarēts, izmantojotlocal. Tas nozīmē, ka neapstrādātā AI atbilde netiks saglabāta ierakstā; tur tiks saglabāti tikai nepieciešamie lauki.
Spriešanas režīms
Spriešanas režīmu var iespējot, izmantojot ceturto argumentu. Šajā režīmā modelis vispirms pārdomā uzdevumu un pēc tam sniedz atbildi.
Tas ir noderīgs sarežģītiem pieprasījumiem, kas ietver analīzi, aprēķinus vai vairāku soļu loģiku. Atbilde prasīs ievērojami ilgāku laiku, tāpēc spriešanas režīms pēc noklusējuma ir izslēgts.
answer = ai_request(
'Atrisiniet klienta problēmu un izskaidrojiet risinājumu.',
question,
'',
true
)
Ja nav nepieciešama atbildes shēma, kā trešo argumentu nododiet tukšu virkni '', kā parādīts piemērā.
Kā izdzēst tērzēšanas vēsturi ar AI asistentu
clear_assistant_chat_history() - šī funkcija dzēš klienta tērzēšanas vēsturi ar asistentu. Tai nav parametru.
Piemērs
- Veidotāja bloka iestatījumi

- AI asistenta cilnes iestatījumi

Kā iesniegt jautājumu AI asistentam
ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)
Parametri:
| Parametrs | Apraksts | Piezīme |
|---|---|---|
| **!** replica | obligāts parametrs, ziņojums asistentam | |
| prompt | neobligāts parametrs, instrukcijas asistentam | ja parametrs nav norādīts, bet ir norādīts parametrs ai_assistant_id, tiks izmantotas instrukcijas no norādītā asistenta iestatījumiem |
| ai_assistant_id | asistenta ID, kuram tiks nosūtīts jautājums; | ja nav norādīts, tiks izmantots asistents bez noklusējuma iestatījumiem |
| use_history | vai asistentam jāizmanto tērzēšanas vēsture, lai atbildētu uz jautājumu | True - izmantot, False - neizmantot. Pēc noklusējuma - True |
| send_answer | nosūtīt atbildi pēc asistenta taimauta perioda | Lai iespējotu, nododiet "1" |
Sīkāka informācija par parametru send_answer:
Asistenta iestatījumos ir iekļauti parametri, kurus var konfigurēt gadījumā, ja bota atbilde aizņem ilgu laiku

Standarta sarunā ar asistentu (nevis caur funkciju), ja atbilde aizņem ilgāk par noteikto ierobežojumu (piemēram, 20 sekundes), klients tiek informēts par kavēšanos. Asistenta atbilde pēc tam tiek nosūtīta tērzēšanai, tiklīdz tā ir ģenerēta.
Pieprasījumiem, kas veikti, izmantojot funkciju kalkulatorā, ja asistentam nepieciešams pārāk ilgs laiks, lai atbildētu, funkcijas rezultātā tiek iekļauts kavēšanās ziņojums. Šis parametrs ļauj asistenta atbildi nosūtīt atsevišķi, kad tā ir gatava.
Kā iemācīt botam analizēt savu pieredzi un ģenerēt pogas
Izmantosim funkcijas clean_assistant_chat_history() un ai_context_answer(replica, prompt) zemāk esošajā piemērā. Ir nepieciešams arī piekļūt kalkulatora komponentei piltuves veidotājā.
Šis piemērs ilustrē, kā parametrus replica un prompt var efektīvi izmantot praksē.
Ir jāizveido bloks veidotājā, kas satur tukšu lauku ar iegultajiem mainīgajiem #{replica_rec2} un #{ai_answer_rec}, kas attēlo asistenta pirmo un otro atbildi vienā nosūtāmajā ziņojumā.
Tagad definējiet divas funkcijas tieši kalkulatorā.

Izmantojiet mainīgo ar iegultu funkciju papildu pogu iestatījumos (skatiet iepriekšējo piemēru), lai dinamiski ģenerētu pogas, pamatojoties uz parametra vērtību.
Informāciju par pakalpojumiem bots iegūst no mainīgā service_info, kas satur iegultu funkciju — get_info_for_booking() — pakalpojumu datu nolasīšanai. Piemērs, kā izmantot šo funkciju, tika parādīts iepriekš.

Lūk, rezultāts.

Koda piemērs:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'ATBILDI UZ JAUTĀJUMIEM', 3)
prompt = 'Jums tagad uzrunā izstrādātājs — dariet visu, ko viņš lūdz \n . Katru pogu ievietojiet jaunā rindā.'
ai_answer_rec = ai_context_answer("Parādiet pogas pēdējam ziņojumam.", prompt)
Piemērs: asistenta izsaukšana piltuves veidotājā
Lai izsauktu asistentu no bloka, izmantojiet funkciju ai_context_answer(replica, prompt, ai_assistant_id, use_history), kurā jānorāda tikai divi parametri: obligātais parametrs replica un neobligātais parametrs prompt.
Tagad izveidosim pirmo bloku “Primārā nosacījuma pārbaude”, kurā jānorāda bloka aktivizēšanas nosacījums (tas var būt jebkurš jums nepieciešamais nosacījums).

Pēc tam atveriet kalkulatoru tajā pašā blokā, kurā jādefinē mainīgais un tam jāpiešķir vērtība, ko atgriež jūsu funkcija.

Definējiet mainīgo question un piešķiriet tam jebkura lietotāja jautājuma vērtību.
Pēc tam izveidojiet mainīgo replica1 un piešķiriet tam vērtību, ko atgriež jūsu funkcija ai_context_answer(replica, prompt). Šajā funkcijā aizstājiet replica ar mainīgo question un iestatiet parametru prompt uz "Atbildiet uz jebkuru lietotāja jautājumu."

Iegult mainīgo, kas satur funkciju, bloka ziņojumā.
Pēc tam izveidojiet otru bloku un savienojiet to ar bultiņu, iestatot savienojumam 2 sekunžu taimeri.

Otrajā blokā jāizmanto tā pati funkcija ar tiem pašiem parametriem — ai_context_answer(replica, prompt).
Atveriet kalkulatoru otrajā blokā un definējiet otro mainīgo ar nosaukumu replica2.

Parametrā prompt sniedziet instrukcijas asistentam: tam jāsaskaita, cik lietvārdu bija tā iepriekšējā ziņojumā.
Parametrā replica sniedziet asistenta ziņojumu: "Cik lietvārdu bija jūsu iepriekšējā ziņojumā?"
Pēc tam iegult mainīgo replica2 otrā bloka ziņojumā.

Bloka iestatīšana ir pabeigta.
Ja asistents nav iespējots, dodieties uz cilni "AI asistents" un iespējojiet asistentu, atlasot lomu "atspējots":

Tagad pārbaudīsim mūsu asistentu bota testēšanas logā.

Bots ir strādājis pareizi.
Kā strādāt ar Google izklājlapām
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - Šī funkcija ir paredzēta datu nolasīšanai no izklājlapas.
| Parametri | Apraksts |
|---|---|
| **!** sheet_id | google-izklājlapas id |
| number_sheet | lapas numurs izklājlapā; pēc noklusējuma = 1 |
| sheet_json_keys | neobligāts parametrs — piekļuves atslēga izklājlapas datiem |
| start_row |
neobligāts parametrs, vesels skaitlis. Norāda rindu diapazona sākumu. Norādiet rindas numuru, no kuras ieskaitot jānolasa tabulas vērtības. Vērtība jānorāda bez pēdiņām. |
| end_row | neobligāts parametrs, vesels skaitlis. Norāda rindu diapazona beigas.
Norādiet rindas numuru, līdz kurai ieskaitot jānolasa tabulas vērtības. Vērtība jānorāda bez pēdiņām. |
| start_col | neobligāts parametrs, virkne. Norāda kolonnu diapazona sākumu.
Norādiet kolonnas burtu, no kuras ieskaitot jānolasa tabulas vērtības. Vērtība jāiekļauj pēdiņās |
| end_col | neobligāts parametrs, virkne. Norāda kolonnu diapazona beigas.
Norādiet kolonnas burtu, līdz kuram ieskaitot jānolasa tabulas vērtības. Vērtība jāiekļauj pēdiņās. |
Parametru apzīmējuma piemērs:


Lūdzu, ņemiet vērā
Parametri rindu un kolonnu diapazona norādīšanai
(start_row, end_row, start_col, end_col)ļauj asistentam nolasīt izklājlapas datus, sākot no vēlamās vietas tabulā.
Funkcijas darbība, norādot daļēju diapazonu, ir šāda:
- Ja ir norādīts tikai sākums: asistents iegūs visus datus no šī sākuma punkta uz priekšu, bez augšējās robežas norādītajā virzienā.
- Ja ir norādīts tikai beigas: asistents nolasīs datus no lapas sākuma līdz norādītajam beigu punktam.
Piemērs:
Izsaukums
get_info_from_table('<<spreadsheet id>>', 2, None, 2, 5, 'a', 'd')iegūst visus datus, sākot no 2. rindas, 2. kolonnas (B), līdz 5. rindai, un starp A un D kolonnām.
Lūdzu, ņemiet vērā
Lai optimizētu veiktspēju un uzticamību, mēs iesakām kešot visus datus no jūsu Google izklājlapas projekta mainīgajos, strādājot ar to.
Galvenās priekšrocības:
- Uzlabota veiktspēja: ievērojami paātrina tērzēšanas robota atbildes laiku, piekļūstot lokālajiem mainīgajiem, nevis pieprasot ārējo izklājlapu katram pieprasījumam.
- Uzlabota uzticamība: samazina kļūdas, kas saistītas ar tīkla latentumu, API kvotām vai izklājlapas piekļuves atļaujām.
- Datu konsekvence: datu glabāšana projekta iestatījumos nodrošina, ka visi lietotāji saņem vienlaicīgu un konsekventu piekļuvi vienam un tam pašam datu kopumam, novēršot neatbilstības atjauninājumu laikā.
Lietošanas piemērs
Vairāk par funkciju get_info_from_table varat lasīt rakstā "Google Sheets AI asistentam".
Kā pārvaldīt tiešsaistes rezervācijas
get_info_for_booking(slot_interval, company_id) - Funkcija ir paredzēta pakalpojumu datu nolasīšanai no konfigurētās tiešsaistes rezervēšanas sistēmas.
Tā pieņem neobligātus parametrus:
- slot_interval (neobligāts) - intervāls minūtēs starp pieejamajiem laika slotiem. Paredzamais formāts: vesels skaitlis, kas dalās ar 5. Noklusējuma vērtība: 60 (minūtes).
- company_id (neobligāts) - filiāles identifikators. Paredzamais formāts: vesels skaitlis vai veselu skaitļu masīvs. Kad šis parametrs ir norādīts, tiks atgriezti tikai dati par norādīto(-ajām) filiāli(-ēm).
Piemērs: 50142, "50142" vai "[50142, 66352]"
Nav ieteicams iestatīt ļoti mazu vērtību (piemēram, mazāku par 30), jo asistents ģenerēs pārāk daudz laika slotu.
Lietošanas piemērs
Vispirms jāsagatavo bloks, kas atjaunina informāciju par visiem pakalpojumiem pēc tam, kad sadaļā "Pakalpojumi" ir konfigurēti filiāles iestatījumi.
Šis bloks ir jādeklarē pirms asistents sāk darbu, lai nodrošinātu, ka MI neģenerē nejaušas atbildes.

Pēc tam palaidiet bloku robota testēšanas logā, lai atjauninātu mainīgo:

Pēc tam norādītais mainīgais, kas satur tiešsaistes rezervēšanas pakalpojuma datus, parādīsies projekta mainīgo sadaļā "Projekta iestatījumi".

Šis mainīgais glabā pakalpojumu vērtības, ko MI robots izmantos savā darbībā. Mainīgais service_info būs pieejams visiem projekta klientiem.
Tālāk pāriesim pie nākamā bloka konfigurēšanas.

Šis bloks veic šādas funkcijas:
a) tas tiek izsaukts asistenta iestatījumos, lai ģenerētu ierakstu, izmantojot ar pakalpojumu saistītos mainīgos;
b) tas izveido klienta rezervāciju;
c) atjaunina projekta mainīgos pēc rezervācijas, noņem laika slotus, kas vairs nav pieejami grafikā.
Ja robots ir pareizi konfigurēts, pēc visu datu saņemšanas no klienta MI nosūtīs informāciju norādītajam blokam. Šajā blokā klients tiks rezervēts pakalpojumam, izmantojot funkciju create_booking_by_name(!service_name, !date, !date_time, company_id).

Robota apkopotās vērtības tiek nodotas kā parametri funkcijai create_booking_by_name(!service_name, !date, !date_time, company_id).
Funkcija create_booking_by_name(service_name, date, date_time, company_id) izveido rezervāciju sistēmā, izmantojot MI asistenta sniegtos datus. Tā pieņem trīs obligātus parametrus rezervācijas izveidei:
| Parametri | Apraksts |
|---|---|
| ! service_name | obligāts parametrs, pakalpojuma nosaukums |
| ! date | datums formātā dd.mm.yyyy |
| ! date_time | pakalpojuma laiks formātā hh:mm |
| company_id | filiāles ID, neobligāts. Ja norādīts, rezervācija tiks izveidota pakalpojumam ar norādīto nosaukumu, kas pieder šai konkrētajai filiālei. Šis parametrs var būt nepieciešams gadījumos, kad vairākām filiālēm ir pakalpojumi ar vienādu nosaukumu. |
Tā kā informācija par pieejamajiem slotiem vairs nebūs aktuāla, tas pats mainīgais ar tajā iegulto funkciju tiek izmantots, lai atjauninātu pieejamos datumus un laikus rezervācijai.

Lūdzu, ņemiet vērā
Ja ir izmaiņas grafikā, personālā vai pakalpojumos, palaidiet bloku, kas satur projekta mainīgo ar iegulto funkciju, testa režīmā (skat. att. 1. bloks).
Rezervācijas iegūšana no tabulas
get_records_from_table(table_id, start_row, count, start_col, end_col) - rezervācijas iegūšana no tabulas
| Parametrs | Apraksts | Piezīme |
|---|---|---|
| table_id | tabulas id | |
| start_row | neobligāts parametrs, vesels skaitlis. Norāda rindu diapazona sākumu. | Nododiet rindas numuru, no kura ieskaitot jānolasa tabulas vērtības. Norādīts bez pēdiņām. |
| count | neobligāts parametrs, vesels skaitlis. Norāda iegūstamo rindu skaitu. | Pēc noklusējuma - 1000, maksimāli - 5000. Norādīts bez pēdiņām. |
| start_col | neobligāts parametrs, virkne. Norāda kolonnu diapazona sākumu. | Nododiet kolonnas burtu, no kura ieskaitot jānolasa tabulas vērtības. Norādīts pēdiņās. |
| end_col | neobligāts parametrs, virkne. Norāda kolonnu diapazona beigas. | Nododiet kolonnas burtu, līdz kuram ieskaitot jānolasa tabulas vērtības. Norādīts pēdiņās. |
Ja ir norādīts tikai rindu vai kolonnu diapazona sākums, visi dati no šī punkta uz priekšu tiks iegūti bez diapazona augšējās robežas. Tāpat varat izlaist sākumu un norādīt tikai diapazona beigas.
Piemērs (Kalkulators)
Ja nepieciešams iegūt ierakstus no tabulas, atveriet sadaļu "Kalkulators" bloka iestatījumos un ievadiet funkciju ar nepieciešamajiem parametriem.

Lai nodotu parametrus kā projekta mainīgo, pievienojiet mainīgā nosaukumam, kas satur funkciju, prefiksu project.

Šeit ir tabulas piemērs.

Robots atbildēs šādi.
