Modele Doğrudan İstek
ai_request(prompt, text, response_schema=null, think_mode=false, ai_assistant_id=null)
Bir AI modeline istek gönderir ve oluşturulan yanıtı döndürür.
Parametreler
| Parametre | Açıklama |
|---|---|
prompt |
AI modeli için sistem yönergesi. |
text |
Modele gönderilen kullanıcı girişi. |
response_schema |
Yapılandırılmış yanıtlar için isteğe bağlı JSON şeması. Yapılandırılmış çıktıyı devre dışı bırakmak için None veya 0 değerini geçin. |
think_mode |
Modelin akıl yürütme modunu etkinleştirir. Varsayılan: False. |
ai_assistant_id |
İsteğe bağlı. Bir AI Asistanı Kimliği veya bir yapılandırma nesnesi olabilir. Bir Asistan Kimliği sağlanırsa, işlev otomatik olarak o asistanın ayarlarını (sağlayıcı, model, API anahtarı ve diğer parametreler) kullanır, bu nedenle bunların manuel olarak iletilmesi gerekmez. |
Örnekler
Kimliğe Göre AI Asistanı Kullanma
ai_request(prompt, text, 0, 0, 123)
Bu örnekte, işlev tüm ayarları 123 Kimliğine sahip AI Asistanı'ndan yükler, bu nedenle sağlayıcıyı, modeli, API anahtarını veya diğer yapılandırmayı manuel olarak belirtmeniz gerekmez.
Model Yapılandırmasını Manuel Olarak Geçme
aio_request(
prompt,
text,
0,
0,
{
"provider": "openai",
"api_key": "#{openai_key}",
"model": "gpt-5-mini"
}
)
Bu durumda, bir AI Asistanı yerine sağlanan yapılandırma kullanılır.

Lütfen Dikkat
İfadelerde değişkenler yalnızca adları kullanılarak,
#{}olmadan yazılır.Yanıt düz metin olarak döndürülür, bu nedenle doğrudan müşteriye gönderilebilir veya bir değişkende saklanabilir.
Yöntem, modelin yanıtını sabırla bekler, bu nedenle büyük şemalar veya uzun metinler gibi uzun süren istekler bile kesintisiz olarak tamamlanır.
Serbest biçimli metin yerine bir kategori, evet/hayır yanıtı veya çıkarılmış alanlar gibi yapılandırılmış verilere ihtiyacınız olduğunda, üçüncü argüman olarak bir yanıt şeması iletin.
Şemaları sıfırdan oluşturmanız gerekmez. Hazır bir şablon kullanın ve alanları gerektiği gibi yeniden adlandırın.
“Listeden Seç” Şablonu
Müşteri taleplerini sınıflandırmak, duygu durumunu belirlemek ve benzeri görevler için.
local result = ai_request('İsteğin kategorisini belirle.', question, {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": ["complaint", "question", "order"]
}
},
"required": ["category"]
})
category = get(result, 'category')
Model, enum içinde listelenen değerlerden yalnızca birini döndürecek ve başka hiçbir şeyi döndürmeyecektir.

“Evet/Hayır” Şablonu

Kopyalanacak örnek:
local result = ai_request('Müşteri satın almayı kabul etti mi?', question, {
"type": "object",
"properties": {
"agree": {
"type": "boolean"
}
},
"required": ["agree"]
})
agree = get(result, 'agree')
“Metinden Veri Çıkar” Şablonu

Kopyalanacak örnek:
local result = ai_request('Mesajdan adı ve telefon numarasını çıkar.', question, {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phone": {
"type": "string"
}
},
"required": ["name", "phone"]
})
client_name = get(result, 'name')
client_phone = get(result, 'phone')
📖 Şablonları Özelleştirmek İçin Hızlı Başvuru
-
"string"— metin -
"number"— bir sayı -
"boolean"—trueveyafalse -
enum— izin verilen değerlerin listesi; model bu listenin dışında hiçbir şey döndüremez -
required— zorunlu alanların listesi -
category,namevephonegibi alan adları serbestçe seçilebilir
Şema tabanlı yanıt bir JSON dizesi olarak döndürülür. Tek tek alanlar standart get() yöntemi kullanılarak alınabilir.
Lütfen Dikkat
Örneklerde,
resultlocalkullanılarak bildirilmiştir. Bu, ham AI yanıtının kayda kaydedilmeyeceği, yalnızca gerekli alanların orada saklanacağı anlamına gelir.
Akıl Yürütme Modu
Akıl yürütme modu, dördüncü argüman kullanılarak etkinleştirilebilir. Bu modda model önce görevi düşünür ve ardından bir yanıt sağlar.
Analiz, hesaplama veya çok adımlı mantık içeren karmaşık istekler için kullanışlıdır. Yanıt gözle görülür şekilde daha uzun sürecektir, bu nedenle akıl yürütme modu varsayılan olarak devre dışıdır.
answer = ai_request(
'Müşterinin sorununu çöz ve çözümü açıkla.',
question,
'',
true
)
Yanıt şeması gerekmediğinde, örnekte gösterildiği gibi üçüncü argüman olarak boş bir dize '' iletin.
AI asistanı ile sohbet geçmişi nasıl silinir
clear_assistant_chat_history() - bu işlev, müşterinin asistanla olan sohbet geçmişini siler. Herhangi bir parametre almaz.
Örnek
- Oluşturucu blok ayarları

- AI Asistanı sekmesi ayarları

AI asistanına nasıl soru gönderilir
ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)
Parametreler:
| Parametre | Açıklama | Not |
|---|---|---|
| **!** replica | zorunlu parametre, asistan için mesaj | |
| prompt | isteğe bağlı parametre, asistan için talimatlar | parametre belirtilmezse ancak ai_assistant_id parametresi sağlanırsa, belirtilen asistanın ayarlarındaki talimatlar kullanılır |
| ai_assistant_id | sorunun gönderileceği asistan kimliği; | sağlanmazsa, varsayılan ayarları olmayan asistan kullanılır |
| use_history | asistanın soruyu yanıtlamak için sohbet geçmişini kullanıp kullanmayacağı | True - kullan, False - kullanma. Varsayılan - True |
| send_answer | asistanın zaman aşımı süresinden sonra yanıt gönder | Etkinleştirmek için "1" değerini geçin |
send_answer parametresi hakkında daha fazla ayrıntı:
Asistan ayarları, botun yanıtının uzun sürmesi durumunda yapılandırılabilecek parametreleri içerir

Asistanla standart bir konuşmada (işlev aracılığıyla değil), yanıt belirtilen sınırdan (ör. 20 saniye) uzun sürerse, müşteriye gecikme bildirilir. Asistanın yanıtı oluşturulur oluşturulmaz sohbete gönderilir.
Hesap makinesindeki bir işlev aracılığıyla yapılan istekler için, asistanın yanıt vermesi çok uzun sürerse, işlevin sonucuna bir gecikme mesajı dahil edilir. Bu parametre, asistanın yanıtının hazır olduğunda ayrı olarak gönderilmesini sağlar.
Bir bota kendi deneyimini analiz etmesi ve düğmeler oluşturması nasıl öğretilir
Aşağıdaki örnekte clean_assistant_chat_history() ve ai_context_answer(replica, prompt) işlevlerini kullanalım. Ayrıca huni oluşturucu içindeki hesap makinesi bileşenine erişmek de gereklidir.
Bu örnek, replica ve prompt parametrelerinin pratikte nasıl etkili bir şekilde kullanılabileceğini göstermektedir.
Oluşturucuda, gönderilecek tek bir mesajda asistanın birinci ve ikinci yanıtlarını temsil eden gömülü değişkenler #{replica_rec2} ve #{ai_answer_rec} içeren boş bir alana sahip bir blok oluşturmak gereklidir.
Şimdi, doğrudan hesap makinesinde iki işlev tanımlayın.

Parametrenin değerine göre düğmeleri dinamik olarak oluşturmak için gelişmiş düğme ayarlarında (yukarıdaki örneğe bakın) gömülü bir işleve sahip bir değişken kullanın.
Hizmetlerle ilgili bilgiler, bot tarafından, hizmet verilerini okumak için gömülü bir işlev (get_info_for_booking()) içeren service_info değişkeninden alınır. Bu işlevin nasıl kullanılacağına dair bir örnek yukarıda gösterilmiştir.

İşte sonuç.

Kod örneği:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'SORULARI YANITLA', 3)
prompt = 'Şu anda size bir geliştirici hitap ediyor - ne isterlerse onu yapın \n . Her düğmeyi yeni bir satıra yerleştirmelisiniz.'
ai_answer_rec = ai_context_answer("Son mesaj için düğmeleri görüntüle.", prompt)
Örnek: huni oluşturucu içinde asistanı çağırma
Bir bloktan asistanı çağırmak için ai_context_answer(replica, prompt, ai_assistant_id, use_history) işlevini kullanın; burada yalnızca iki parametre belirtmeniz gerekir: zorunlu replica parametresi ve isteğe bağlı prompt.
Şimdi, bloğun tetikleme koşulunu belirtmeniz gereken ilk bloğu, "Birincil durum kontrolü"nü oluşturalım (bu, gerektirdiğiniz herhangi bir koşul olabilir).

Ardından, aynı blokta hesap makinesini açın; burada bir değişken tanımlamanız ve ona işlevinizin döndürdüğü değeri atamanız gerekir.

question değişkenini tanımlayın ve ona herhangi bir kullanıcı sorusunun değerini atayın.
Ardından, replica1 değişkenini oluşturun ve ona ai_context_answer(replica, prompt) işlevinizin döndürdüğü değeri atayın. Bu işlevde, replica'yı question değişkeniyle değiştirin ve prompt parametresini "Herhangi bir kullanıcı sorusunu yanıtla." olarak ayarlayın.

İşlevi içeren değişkeni bloğun mesajına gömün.
Ardından ikinci bir blok oluşturun ve onu bir okla bağlayarak bağlantıya 2 saniyelik bir zamanlayıcı ayarlayın.

İkinci blokta, aynı parametrelerle aynı işlevi kullanmalısınız — ai_context_answer(replica, prompt).
İkinci blokta hesap makinesini açın ve replica2 adlı ikinci değişkeni tanımlayın.

prompt parametresinde asistan için talimatlar sağlayın: önceki mesajında kaç tane isim olduğunu saymalıdır.
replica parametresinde asistanın mesajını sağlayın: "Önceki mesajında kaç tane isim vardı?"
Ardından replica2 değişkenini ikinci bloğun mesajına gömün.

Blok kurulumu tamamlandı.
Asistan etkin değilse, "AI Asistanı" sekmesine gidin ve "devre dışı" rolünü seçerek asistanı etkinleştirin:

Şimdi asistanımızı bot test penceresinde test edelim.

Bot doğru çalıştı.
Google Sheets ile nasıl çalışılır
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - Bu işlev, bir e-tablodan veri okumak için tasarlanmıştır.
| Parametreler | Açıklama |
|---|---|
| **!** sheet_id | google-spreadsheet kimliği |
| number_sheet | elektronik tablodaki sayfa numarası; varsayılan = 1 |
| sheet_json_keys | isteğe bağlı parametre — elektronik tablo verilerine erişim anahtarı |
| start_row |
isteğe bağlı parametre, bir tam sayı. Satır aralığının başlangıcını belirtir. Tablo değerlerinin okunmaya başlanacağı satır numarasını (dahil) girin. Değer tırnak işareti olmadan sağlanmalıdır. |
| end_row | isteğe bağlı parametre, bir tam sayı. Satır aralığının sonunu belirtir.
Tablo değerlerinin okunacağı son satır numarasını (dahil) girin. Değer tırnak işareti olmadan sağlanmalıdır. |
| start_col | isteğe bağlı parametre, bir dize. Sütun aralığının başlangıcını belirtir.
Tablo değerlerinin okunmaya başlanacağı sütun harfini (dahil) girin. Değer tırnak işareti içinde olmalıdır. |
| end_col | isteğe bağlı parametre, bir dize. Sütun aralığının sonunu belirtir.
Tablo değerlerinin okunacağı son sütun harfini (dahil) girin. Değer tırnak işareti içinde olmalıdır. |
Parametre gösterim örneği:


Lütfen dikkat
Satır ve sütun aralığını belirlemeye yönelik parametreler
(start_row, end_row, start_col, end_col), asistanın elektronik tablo verilerini tablo içinde istenen konumdan itibaren okumasını sağlar.
Kısmi aralık belirtimi için fonksiyonun davranışı aşağıdaki gibidir:
- Yalnızca başlangıç tanımlanmışsa: asistan, bu başlangıç noktasından itibaren tüm verileri alır ve belirtilen yönde bir üst sınır yoktur.
- Yalnızca bitiş tanımlanmışsa: asistan, verileri sayfanın başından belirtilen bitiş noktasına kadar okur.
Örnek:
get_info_from_table('<<elektronik tablo kimliği>>', 2, Yok, 2, 5, 'a', 'd')çağrısı, 2. satırdan, 2. sütundan (B) başlayarak 5. satıra kadar ve A ile D sütunları arasındaki tüm verileri alır.
Lütfen dikkat
Performansı ve güvenilirliği optimize etmek için, Google Sayfanızdaki tüm verileri proje değişkenlerine önbelleğe almanızı öneririz.
Temel faydalar:
- Gelişmiş performans: her istek için harici elektronik tabloyu sorgulamak yerine yerel değişkenlere erişerek sohbet robotunun yanıt süresini önemli ölçüde hızlandırır.
- Gelişmiş güvenilirlik: ağ gecikmesi, API kotaları veya elektronik tablo erişim izinleriyle ilgili hataları en aza indirir.
- Veri tutarlılığı: verileri proje ayarlarında depolamak, tüm kullanıcıların aynı veri kümesine eşzamanlı ve tutarlı erişimini sağlayarak güncellemeler sırasında tutarsızlıkları önler.
Kullanım örneği
get_info_from_table fonksiyonu hakkında daha fazla bilgiyi "Yapay Zeka Asistanı için Google E-Tablolar" makalesinde okuyabilirsiniz.
Çevrimiçi rezervasyonlar nasıl yönetilir
get_info_for_booking(slot_interval, company_id) - Bu fonksiyon, yapılandırılmış çevrimiçi rezervasyon sisteminden hizmet verilerini okumak için tasarlanmıştır.
İsteğe bağlı parametreleri kabul eder:
- slot_interval (isteğe bağlı) - mevcut zaman aralıkları arasındaki dakika cinsinden aralık. Beklenen format: 5'e bölünebilen bir tam sayı. Varsayılan değer: 60 (dakika).
- company_id (isteğe bağlı) - bir şube tanımlayıcısı. Beklenen format: bir tam sayı veya bir tam sayı dizisi. Bu parametre sağlandığında, yalnızca belirtilen şube(ler) için veriler döndürülür.
Örnek: 50142, "50142" veya "[50142, 66352]"
Çok küçük bir değer (örneğin 30'dan az) ayarlanması önerilmez, çünkü asistan çok fazla zaman aralığı oluşturacaktır.
Kullanım örneği
Öncelikle, "Hizmetler" bölümünde şube ayarları yapılandırıldıktan sonra tüm hizmetlerle ilgili bilgileri güncelleyen bir blok hazırlamanız gerekir.
Bu blok, yapay zekanın rastgele cevaplar üretmemesini sağlamak için asistan çalışmaya başlamadan önce bildirilmelidir.

Ardından, değişkeni güncellemek için bot test penceresindeki bloğu tetikleyin:

Bundan sonra, çevrimiçi rezervasyon hizmeti verilerini içeren belirtilen değişken, "Proje ayarları" içindeki proje değişkenleri bölümünde görünecektir.

Bu değişken, yapay zeka botunun işlemlerinde kullanacağı hizmet değerlerini saklar. service_info değişkeni, projenin tüm müşterileri tarafından erişilebilir olacaktır.
Ardından, bir sonraki bloğu yapılandırmaya geçelim.

Bu blok aşağıdaki işlevleri yerine getirir:
a) hizmetle ilgili değişkenleri kullanarak bir kayıt oluşturmak için asistan ayarlarında çağrılır;
b) bir müşteri rezervasyonu oluşturur;
c) bir rezervasyondan sonra proje değişkenlerini günceller, programda artık mevcut olmayan zaman aralıklarını kaldırır.
Bot doğru yapılandırılmışsa, müşteriden tüm verileri aldıktan sonra yapay zeka, bilgileri belirtilen bloğa gönderecektir. Bu blokta, müşteri create_booking_by_name(!service_name, !date, !date_time, company_id) fonksiyonu kullanılarak hizmet için rezerve edilecektir.

Bot tarafından toplanan değerler, create_booking_by_name(!service_name, !date, !date_time, company_id) fonksiyonuna parametre olarak iletilir.
create_booking_by_name(service_name, date, date_time, company_id) fonksiyonu, yapay zeka asistanı tarafından sağlanan verileri kullanarak sistemde bir rezervasyon oluşturur. Rezervasyon oluşturmak için üç zorunlu parametreyi kabul eder:
| Parametreler | Açıklama |
|---|---|
| ! service_name | zorunlu parametre, hizmet adı |
| ! date | gg.aa.yyyy formatında tarih |
| ! date_time | ss:dd formatında hizmet zamanı |
| company_id | şube kimliği, isteğe bağlı.
Belirtilirse, rezervasyon bu belirli şubeye ait olan verilen ada sahip hizmet için oluşturulacaktır. Bu parametre, birden fazla şubenin aynı ada sahip hizmetleri olduğu durumlarda gerekli olabilir. |
Mevcut slotlar hakkındaki bilgiler artık güncel olmayacağından, mevcut tarihleri ve saatleri rezervasyon için güncellemek amacıyla aynı değişken ve onun içine yerleştirilmiş fonksiyonu kullanılır.

Lütfen dikkat
Programda, personelde veya hizmetlerde herhangi bir değişiklik olursa, test modunda içine yerleştirilmiş fonksiyona sahip proje değişkenini içeren bloğu çalıştırın (bkz. Şekil Blok 1).
Tablodan rezervasyon alma
get_records_from_table(table_id, start_row, count, start_col, end_col) - tablodan rezervasyon alma
| Parametre | Açıklama | Not |
|---|---|---|
| table_id | tablo kimliği | |
| start_row | isteğe bağlı parametre, bir tam sayı. Satır aralığının başlangıcını belirtir. | Tablo değerlerinin okunmaya başlanacağı satır numarasını (dahil) girin. Tırnak işareti olmadan belirtilir. |
| count | isteğe bağlı parametre, bir tam sayı. Alınacak satır sayısını belirtir. | Varsayılan olarak - 1000, maksimum - 5000. Tırnak işareti olmadan belirtilir. |
| start_col | isteğe bağlı parametre, bir dize. Sütun aralığının başlangıcını belirtir. | Tablo değerlerinin okunmaya başlanacağı sütun harfini (dahil) girin. Tırnak işareti içinde belirtilir. |
| end_col | isteğe bağlı parametre, bir dize. Sütun aralığının sonunu belirtir. | Tablo değerlerinin okunacağı son sütun harfini (dahil) girin. Tırnak işareti içinde belirtilir. |
Yalnızca satır veya sütun aralığının başlangıcı belirtilirse, bu noktadan itibaren tüm veriler aralıkta bir üst sınır olmaksızın alınır. Benzer şekilde, başlangıcı atlayıp yalnızca aralığın sonunu belirtebilirsiniz.
Örnek (Hesap Makinesi)
Tablodan kayıt almanız gerekiyorsa, blok ayarlarında "Hesap Makinesi" bölümünü açın ve gerekli parametrelerle fonksiyonu girin.

Parametreleri bir proje değişkeni olarak iletmek için, fonksiyonu içeren değişken adının önüne project ekleyin.

İşte tablo örneği.

Bot aşağıdaki gibi yanıt verecektir.
