Tiešs pieprasījums modelim
ai_request(prompt, text, response_schema=null, think_mode=false, ai_assistant_id=null)
Nosūta pieprasījumu AI modelim un atgriež ģenerēto atbildi.
Parametri
| Parametrs | Apraksts |
|---|---|
prompt |
Sistēmas uzvedne AI modelim. |
text |
Lietotāja ievade, kas nosūtīta modelim. |
response_schema |
Neobligāta JSON shēma strukturētām atbildēm. Nodod None vai 0, lai atspējotu strukturētu izvadi. |
think_mode |
Iespējo modeļa spriešanas režīmu. Noklusējums: False. |
ai_assistant_id |
Neobligāts. Var būt vai nu AI asistenta ID, vai konfigurācijas objekts. Ja tiek norādīts asistenta ID, funkcija automātiski izmanto šī asistenta iestatījumus (nodrošinātājs, modelis, API atslēga un citi parametri), tāpēc tie nav jānorāda manuāli. |
Piemēri
AI asistenta izmantošana pēc ID
ai_request(prompt, text, 0, 0, 123)
Šajā piemērā funkcija ielādē visus iestatījumus no AI asistenta ar ID 123, tāpēc jums nav manuāli jānorāda nodrošinātājs, modelis, API atslēga vai cita konfigurācija.
Modeļa konfigurācijas manuāla nodošana
ai_request(
prompt,
text,
0,
0,
{
"provider": "openai",
"api_key": "#{openai_key}",
"model": "gpt-5-mini"
}
)
Šajā gadījumā tiek izmantota norādītā konfigurācija, nevis AI asistents.

Lūdzu, ņemiet vērā
Izteiksmēs mainīgie tiek rakstīti, 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īvas formas teksts, piemēram, kategorija, jā/nē atbilde vai iegūtie 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 nepieciešamī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('Determine the category of the request.', question, {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": ["complaint", "question", "order"]
}
},
"required": ["category"]
})
category = get(result, 'category')
Modelis atgriezīs tieši vienu no enum norādītajām vērtībām un neko citu.

“Jā/Nē” veidne

Kopējamais piemērs:
local result = ai_request('Has the customer agreed to make the purchase?', question, {
"type": "object",
"properties": {
"agree": {
"type": "boolean"
}
},
"required": ["agree"]
})
agree = get(result, 'agree')
“Iegūt datus no teksta” veidne

Kopējamais piemērs:
local result = ai_request('Extract the name and phone number from the message.', 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
resulttiek 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īgi 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(
'Solve the customer’s problem and explain the solution.',
question,
'',
true
)
Ja atbildes shēma nav nepieciešama, 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 nosūtīt asistenta atbildi 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 komponentam piltuves veidotājā.
Šis piemērs ilustrē, kā parametrus replica un prompt var efektīvi izmantot praksē.
Ir nepieciešams izveidot bloku 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 tieši kalkulatorā definējiet divas funkcijas.

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, 'ANSWER THE QUESTIONS', 3)
prompt = 'A developer is addressing you right now-do everything they ask \n . You should place each button on a new line.'
ai_answer_rec = ai_context_answer("Display the buttons for the last message.", 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 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 tajā pašā blokā atveriet kalkulatoru, kur jādefinē mainīgais un jāpiešķir tam 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 "Answer any user question."

Iegulstiet 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: "How many nouns were in your previous message?"
Pēc tam iegulstiet mainīgo replica2 otrā bloka ziņojumā.

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

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 pieraksta 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 definē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 definē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('<<izklājlapas 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 kolonnām A un D.
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 izklājlapas 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. Paredzētais formāts: vesels skaitlis, kas dalās ar 5. Noklusējuma vērtība: 60 (minūtes).
- company_id (neobligāts) - filiāles identifikators. Paredzētais 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
Pirmkārt, jums ir jāsagatavo bloks, kas atjaunina informāciju par visiem pakalpojumiem pēc tam, kad filiāles iestatījumi ir konfigurēti sadaļā "Pakalpojumi".
Šis bloks ir jādeklarē pirms asistents sāk darbu, lai nodrošinātu, ka AI 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 AI 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:
а) 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 konfigurēts pareizi, pēc visu datu saņemšanas no klienta, AI 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 AI 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. 1. att. Bloks 1).
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. | Norādiet rindas numuru, no kuras 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. | Norādiet kolonnas burtu, no kuras ieskaitot jānolasa tabulas vērtības. Norādīts 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. 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 jums ir jāiegūst ieraksti no tabulas, atveriet sadaļu "Kalkulators" bloka iestatījumos un ievadiet funkciju ar nepieciešamajiem parametriem.

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

Šeit ir tabulas piemērs.

Robots atbildēs šādi.
