Ayarları yapılandırmaya başlamadan önce, Deskie'de otomasyon kurallarının işleyişi ile ilgili genel ilkelerin ele alındığı makaleyi incelemenizi veya kuralların kullanımına ilişkin eğitici videomuzu izlemenizi öneririz.
Görev: OpenAI asistanına hesaplamaları devretmek.
OpenAI tarafındaki araçlar: ilgili kuralda belirtilen asistan için, hesaplamaların otomatikleştirilmesini sağlayan Code interpreter aracı etkinleştirilmiş olmalıdır.
Code Interpreter, kod yazma, verileri analiz etme, grafik oluşturma ve dosyalarla çalışma gibi birçok gelişmiş özelliğe sahiptir. Ancak mevcut entegrasyonumuz kapsamında yalnızca temel hesaplamalar için kullanılması önerilmektedir. Grafik oluşturma veya karmaşık veri işleme gibi işlemler bu entegrasyon tarafından desteklenmediğinden, bu tür işlemlerde hata oluşması kaçınılmazdır.
Çalışma mantığı: müşteri fiyatla ilgili bir hesaplama istediğinde, temsilci destek talebine "ücret hesaplama" adlı etiketi ekler. Etiketin eklenmesi, ilgili kuralı tetikler ve kural, AI asistana müşteri iletisindeki gerekli bilgileri gönderir. Asistanın çevirdiği hesaplama sonucunu destek talebine not olarak ekler.
Kural örneği:

Kuralın çalışma demosu:

Asistan için talimatlar örneği
Örnek yalnızca açıklayıcı amaçlı verilmiştir ve olası yaklaşımlardan biri olarak düşünülebilir, ancak bir örnek olarak kabul edilemez.
Kargo teslimatı ile ilgili verilerin işlenmesi için kod:
import pandas as pd def load_data(path): "Load CSV, return error message if fails." try: return pd.read_csv(path) except Exception as e: return f"Error loading file {path}: {e}" def calculate_delivery(origin, destination, grams): kg = grams / 1000 results = [] for scope, df in [('International', data_intl), ('Local', data_local)]: subset = df.query('Origin == @origin and Destination == @destination') if subset.empty: continue for _, row in subset.iterrows(): min_kg = max(kg, row['Minimum Weight (g)'] / 1000) base_cost = row['Cost (eurocents/kg)'] * min_kg min_cost = row['Cost (eurocents/kg)'] * (row['Minimum Weight (g)'] / 1000) cost_cents = max(base_cost, min_cost) insurance_cents = row['Insurance (eurocents/kg)'] * kg total_cents = round(cost_cents + insurance_cents) total_euro = total_cents / 100 results.append({ 'Scope': scope, 'Delivery Type': row['Delivery Type'], 'Delivery Time (days)': row['Delivery Time (days)'], 'Total Cost (€)': total_euro }) if not results: return "No delivery available between these cities." output_lines = [] for i, res in enumerate(results, 1): line = f"{i}. [{res['Scope']}] {res['Delivery Type']} - {res['Delivery Time (days)']} days, {res['Total Cost (€)']:.2f}€" output_lines.append(line) return "\n".join(output_lines) # Load data data_intl = load_data('/mnt/data/file-ENFKZzQwhvAJTTDeXwVspp') data_local = load_data('/mnt/data/file-3Y7GbtEXRgLBYawcpAhy8A')
Code Interpreter aracı için yüklenen dosya örnekleri:
https://gist.github.com/deskie-io/26d810ebaac70deff339cce27632ec36
https://gist.github.com/deskie-io/6b7a72f1f7a9b3d444538c413647682d