🏠 Ana Sayfa 📖 Sözlük 💬 Doküman asistanı
Ana sayfaPlatform & AltyapıDataiku: Detaylı Kılavuz

🔬Dataiku DSS: Kurumsal AI Platformu — Detaylı Kılavuz

Dataiku DSS (Data Science Studio), veri bilimcilerden iş kullanıcılarına kadar herkesin AI/ML projelerini geliştirebileceği uçtan uca bir kurumsal veri platformudur. LLM Mesh katmanı sayesinde tüm generatif AI iş akışlarını merkezi olarak yönetir; farklı sağlayıcıların modellerini tek bir API üzerinden birleştirirken maliyet kontrolü, güvenlik ve gözlemlenebilirlik sağlar.

🔗
LLM Mesh
12+ sağlayıcıyı tek API üzerinden bağla; OpenAI, Anthropic, Azure, AWS Bedrock, Google Vertex ve daha fazlası
🧪
Prompt Studio
Prompt'ları test et, karşılaştır ve versiyonla; batch üretim için Prompt Recipe'ye dönüştür
🛡️
Guardrails
PII tespiti, prompt injection koruması, toksisite filtresi, önyargı tespiti ve konu sınırları
📚
Knowledge Banks
No-code RAG pipeline; vektör arama ile kurumsal bilgi tabanı oluştur
💰
Maliyet Kontrolü
Provider/proje/kullanıcı bazlı kota yönetimi, harcama limitleri ve uyarı sistemi
🤖
Agent Hub
Araç çağırma destekli çoklu ajan iş akışları; code execution, search, API entegrasyonları

15.1 Prompt Studio — Kurumsal Prompt Mühendisliği Ortamı

Prompt Studio, Dataiku'nun tam özellikli prompt geliştirme ortamıdır. LLM Mesh üzerinde çalışır; farklı modeller arasında prompt performansını karşılaştırmayı ve üretim kaliteli prompt'ları kolayca dağıtmayı sağlar.

📐 Prompt Studio Temel Özellikleri
🔄 Çoklu Model Karşılaştırma
  • Aynı prompt'u GPT-4o, Claude 3.5 Sonnet, Mistral Large ile eş zamanlı test et
  • Kalite, hız ve maliyet metriklerini yan yana karşılaştır
  • Şirket politikasına uygun model havuzunu admin kısıtlayabilir
📦 Prompt Recipe'ye Dönüştürme
  • Tek tıkla batch generation pipeline'ına dönüştür
  • Dataset üzerinde toplu LLM dönüşümü uygula
  • Çıktıyı downstream dataset'e yaz; downstream analizler otomatik tetiklenir
🔢 Versiyon Yönetimi
  • Her prompt versiyonunu sakla ve karşılaştır
  • Prompts-as-code yaklaşımıyla Git entegrasyonu
  • A/B test için farklı versiyonları paralel çalıştır
⚡ Otomatik Prompt Optimizasyonu
  • LLM'in kendi prompt'unu otomatik iyileştirmesini sağla
  • Test dataset'i ile iteratif optimizasyon döngüsü
  • Değerlendirme metriğine göre en iyi versiyonu seç
Python — Prompt Studio API Kullanımı (LLM Mesh)
# Dataiku'da LLM Mesh üzerinden model çağrısı
import dataiku

client = dataiku.api_client()
project = client.get_project("MY_PROJECT")

# LLM Mesh üzerinden model seç (admin tarafından önceden tanımlandı)
llm = project.get_llm("openai:gpt-4o")

# Completion isteği gönder
completion = llm.new_completion()
completion.with_message("Analiz et: " + document_text)
resp = completion.execute()

print(resp.text)
print(f"Kullanılan token: {resp.usage.total_tokens}")
print(f"Maliyet: ${resp.usage.estimated_cost_usd:.4f}")
📌 Kod Notları
  • dataiku.api_client(): Dataiku DSS'in iç API'siyle bağlantı kurar. Uygulama anahtar yönetimini DSS üstlenir; kod içinde API anahtarı yoktur.
  • KOMTAS_COPILOT: Proje adı — Dataiku DSS'de her proje izole bir veri ve model ortamı oluşturur. Projeler arası veri paylaşımı için dataiku.Dataset(name, project_key=...) kullanılır.
  • LLM Mesh bağlantısı: Üretim kodu modeli doğrudan Anthropic/OpenAI API'sini çağırmaz; Dataiku Mesh üzerinden çağrır. Bu, merkezi kota, denetim ve maliyet izleme sağlar.
Python — Çoklu Model Karşılaştırma (Prompt Studio API)
# Aynı prompt'u farklı modellerde karşılaştır
models_to_test = [
    "anthropic:claude-3-5-sonnet",
    "openai:gpt-4o",
    "mistral:mistral-large-latest"
]

prompt = "Şu metni özetle: {text}"
test_inputs = ["uzun metin örneği..."]

results = {}
for model_id in models_to_test:
    llm = project.get_llm(model_id)
    responses = []
    for inp in test_inputs:
        comp = llm.new_completion()
        comp.with_message(prompt.format(text=inp))
        resp = comp.execute()
        responses.append({
            "output": resp.text,
            "tokens": resp.usage.total_tokens,
            "latency_ms": resp.latency_ms
        })
    results[model_id] = responses

# Sonuçları Dataiku dataset'e yaz
output_df = pd.DataFrame(results)
dataiku.Dataset("model_comparison_results").write_with_schema(output_df)
📌 Kod Notları
  • A/B testi mantığı: Aynı prompt'u birden fazla modele göndermek, model seçimini veri odaklı yapmanın temel yöntemidir. Yalnızca göz kararı değerlendirme yerine kalite skoru (RAGAS, LLM-as-judge) ekleyin.
  • Maliyet farkı: Tablodaki modeller arasında giriş maliyeti 66× farklılık gösterir. 100K günlük istek için bu fark aylık binlerce USD'ye dönüşebilir.
  • Parallel çağrı: asyncio.gather() veya ThreadPoolExecutor ile karşılaştırma çağrılarını eş zamanlı göndermek toplam süreyi önemli ölçüde azaltır.

15.2 LLM Bağlantıları — 12+ Sağlayıcı Desteği

Dataiku LLM Mesh, iki tür LLM bağlantısı destekler: hosted API (bulut modeller) ve locally-running (HuggingFace ile kendi sunucularınızda). Tüm bağlantılar merkezi Admin konsolundan yönetilir.

☁️ Desteklenen Hosted API Sağlayıcıları
🟢
Anthropic
Claude 3 Opus/Sonnet/Haiku
🔵
OpenAI
GPT-4o, o3, Embeddings
🟠
Azure OpenAI
Enterprise güvenlik + compliance
🟡
AWS Bedrock
Titan, Llama, Mistral
🔴
Google Vertex AI
Gemini 1.5 Pro/Flash
🟣
Mistral AI
Large, Medium, Small
🔷
Azure AI Foundry
Model katalog erişimi
❄️
Snowflake Cortex
Veri ambarı entegrasyonu
🏠 Yerel Model Desteği (Self-Hosted)

HuggingFace Text Generation Inference (TGI) veya vLLM ile çalışan yerel modeller; Llama 3, Mistral, Phi-3, Qwen gibi açık kaynak modelleri şirket altyapısında güvenle çalıştırabilirsiniz.

⚙️ Kurumsal En İyi Pratik
Veri gizliliği gereksinimleri yüksek projeler için Azure OpenAI veya AWS Bedrock tercih edin. Bu sağlayıcılar verilerinizin model eğitiminde kullanılmadığını garanti eder ve KVKK/GDPR uyumluluğunu kolaylaştırır. Dataiku LLM bağlantısını tanımlarken "No data retained" politikasını aktif edin.

15.3 RAG & Knowledge Banks — No-Code Bilgi Tabanı

Knowledge Banks, Dataiku'nun no-code RAG (Retrieval-Augmented Generation) pipeline'ıdır. Dokümanları otomatik olarak parçalara böler, vektörleştirir ve arama indeksine kaydeder. Chat UI veya ajan yapıları ile doğrudan kullanılabilir.

📋 Knowledge Bank Oluşturma Adımları
1
Kaynak Seçimi: Dataiku dataset, dosya yolu veya doğrudan yükleme ile PDF, Word, TXT, HTML belgelerini ekleyin
2
Chunking Stratejisi: Fixed-size, semantic veya sentence-based parçalama; chunk boyutu ve overlap'i ayarlayın
3
Embedding Modeli Seçimi: OpenAI text-embedding-3, Azure OpenAI, Cohere Embed veya yerel HuggingFace modeli
4
Vektör Store: Dahili Faiss indeksi veya harici Pinecone/Qdrant entegrasyonu
5
Retrieval Test: Prompt Studio'da test sorguları girerek retrieval kalitesini ölçün
6
Deployment: Chat UI, REST API veya Python recipe ile Knowledge Bank'a erişin
Python — Knowledge Bank Sorgulama ve RAG
# Dataiku Knowledge Bank API kullanımı
import dataiku

client = dataiku.api_client()
project = client.get_project("KNOWLEDGE_PROJECT")

# Knowledge Bank'ı al
kb = project.get_knowledge_bank("sirket_politikalari_kb")

# Sorgula
results = kb.search(
    query="izin ve tatil politikası nedir?",
    top_k=5,
    score_threshold=0.7
)

for chunk in results.chunks:
    print(f"Kaynak: {chunk.metadata['source']}")
    print(f"Skor: {chunk.score:.3f}")
    print(f"Içerik: {chunk.text[:200]}")
    print("---")

# LLM ile birleştirerek cevap üret
llm = project.get_llm("anthropic:claude-3-5-sonnet")
context = "\n\n".join([c.text for c in results.chunks])

comp = llm.new_completion()
comp.with_message(
    "Baglan:\n" + context +
    "\n\nSoru: izin ve tatil politikası nedir?" +
    "\nYalnizca baglamdaki bilgilere dayanarak yanıtla."
)
response = comp.execute()
print(response.text)
📌 Kod Notları
  • knowledge_bank: Dataiku DSS'in belge tabanlı RAG deposudur. Dokümanlar otomatik chunk'lanır, embed edilir ve HNSW indeksine eklenir.
  • num_results: 3-5 arası genellikle yeterlidir. Fazla sonuç prompt boyutunu şişirir ve modelin dikkatini dağıtır — 'lost-in-the-middle' problemi olarak bilinir.
  • Eşik ayarı: Minimum benzerlik skoru (threshold) belirlenmezse alakasız belgeler RAG yanıtını bozar. İlk kalibrasyon için farklı sorgularla test edin, 0.6-0.75 arası başlangıç noktası olarak kullanın.

15.4 Guardrails Sistemi — Çok Katmanlı AI Güvenliği

Dataiku Guardrails, LLM çıktılarını ve girişlerini üç farklı düzeyde korur: Bağlantı düzeyi (tüm kullanımlar için), Ajan düzeyi (belirli akışlar için) ve Kullanım zamanı (her çağrıda dinamik). Bu katmanlı mimari kurumsal güvenlik gereksinimlerini karşılar.

Guardrail TürüAçıklamaYapılandırmaEylem
🔍 PII Tespiti TC kimlik, e-posta, telefon, kredi kartı, IBAN gibi kişisel verileri girişte veya çıktıda tespit eder Varlık tipleri seçilir (regex + NER modeli) Engelle / Maskele / Uyar
🚫 Prompt Injection Sistem prompt'unu manipüle etmeye veya devre dışı bırakmaya çalışan girişleri tespit eder Dil modeli tabanlı sınıflandırıcı Engelle / Log
☠️ Toksisite Filtresi Nefret söylemi, şiddet, küfür ve zararlı içeriği hem girişte hem çıktıda filtreler Eşik skoru ayarlanabilir (0.0–1.0) Engelle / Redact / Uyar
📌 Konu Sınırları LLM'i yalnızca belirli konularla (örn. müşteri desteği) sınırlar; konu dışı sorulara yanıt vermesini engeller İzin verilen ve yasaklanan konu listesi Yönlendir / Reddet
⚖️ Önyargı Tespiti Cinsiyet, ırk, din, yaş gibi korunan özelliklere göre önyargılı çıktıları tespit eder Fairness metrik eşiği Bayrakla / Reddet
🔧 Özel Guardrail Python kodu ile kuruma özgü iş kuralları (örn. rakip marka adları, gizli proje isimleri) Python fonksiyonu yaz, True/False döndür Tamamen özelleştirilebilir
Python — Özel Guardrail Tanımlama (Rakip Marka Filtresi)
# Dataiku'da özel guardrail — rakip marka filtresi
from dataiku.llm.guardrails import BaseGuardrail

class CompetitorMentionGuardrail(BaseGuardrail):
    """Rakip markaların yanıtlarda geçmesini engeller"""

    COMPETITORS = ["RakipFirma1", "RakipFirma2", "diger_rakip"]

    def check_output(self, output_text: str, context: dict) -> dict:
        for competitor in self.COMPETITORS:
            if competitor.lower() in output_text.lower():
                return {
                    "passed": False,
                    "reason": f"Yanit rakip marka adi iceriyor: {competitor}",
                    "action": "block"  # veya "warn", "redact"
                }
        return {"passed": True}

    def check_input(self, input_text: str, context: dict) -> dict:
        return {"passed": True}  # Giris kontrolü gerekmiyor
📌 Kod Notları
  • BaseGuardrail miras alımı: Dataiku'nun yerleşik guardrail soyut sınıfından türetmek, guardrail'ı LLM Mesh pipeline'ına standart biçimde entegre eder. check_output() metodu her model yanıtı için otomatik çağrılır.
  • Rakip listesi: Bu listeyi kod içine sabit kodlamak yerine Dataiku değişkeni veya merkezi yapılandırmadan okuyun. Güncellemeler deploy gerektirmemeli.
  • False positive yönetimi: Filtre çok katıysa meşru yanıtlar bloklanır. İlk dağıtımda log-only modda çalıştırıp false positive oranını ölçün, ardından bloklamaya geçin.

15.5 Maliyet Kontrolü & Kota Yönetimi

Dataiku'nun Cost Control modülü, LLM harcamalarını gerçek zamanlı takip eder ve aşım durumunda otomatik blokaj uygular. Kurumsal bütçe yönetimi için kritik bir özellik olup yalnızca admin tarafından yapılandırılabilir.

📊 Kota Seviyeleri
  • Sağlayıcı düzeyi: Tüm OpenAI çağrıları için aylık $500 limiti
  • Proje düzeyi: "Müşteri_Chatbot" projesi için haftalık $100
  • Kullanıcı düzeyi: Her veri bilimcisi için günlük 50.000 token
  • Limitleri aşınca çağrılar otomatik bloklanır
  • %80 kullanımda uyarı e-postası gönderilir
🔄 Yenileme Dönemleri
  • Günlük, haftalık, aylık veya özel tarih aralığı
  • Kullanım geçmişi dashboard'da görselleştirme
  • Maliyet projeksiyonu ve trend analizi
  • Full / Basic görünürlük izin seviyeleri
  • CSV/API üzerinden maliyet raporları
Dataiku Admin API — Kota Tanımlama ve İzleme
# Admin API ile programatik kota yönetimi
import dataiku

admin_client = dataiku.api_client()

# Provider düzeyi kota — tüm OpenAI çağrıları
admin_client.set_llm_quota(
    scope="provider",
    scope_id="openai",
    quota_type="cost_usd",
    limit=500.0,
    reset_period="monthly",
    alert_threshold=0.8,  # %80'de uyarı
    action_on_exceed="block"
)

# Proje düzeyi kota
admin_client.set_llm_quota(
    scope="project",
    scope_id="CHATBOT_PROJECT",
    quota_type="tokens",
    limit=1_000_000,
    reset_period="weekly",
    action_on_exceed="block"
)

# Kullanım raporu çek
usage = admin_client.get_llm_usage_report(
    period="last_30_days",
    group_by="provider"  # veya "project", "user"
)

for entry in usage:
    print(f"{entry.scope}: ${entry.cost_usd:.2f} / {entry.tokens:,} token")
📌 Kod Notları
  • Programatik kota: UI yerine API üzerinden kota yönetimi, Infrastructure as Code prensibini LLM yönetimine taşır. Değişiklikler versiyon kontrolüne alınabilir.
  • set_quota(): Dataiku DSS Admin API'sindeki bu çağrı kullanıcı/grup bazlı günlük token limitlerini günceller. Limit aşıldığında Mesh, 429 Too Many Requests döndürür.
  • Otomasyon önerisi: Kota güncellemelerini Python scriptiyle otomatize etmek için n8n scheduled workflow veya Kubernetes CronJob kullanın.

15.6 Agent Hub — Kurumsal Ajan Platformu

Agent Hub, Dataiku'nun araç destekli çoklu ajan iş akışları platformudur. Veri analizi, raporlama, e-posta gönderimi ve API çağrıları gibi iş görevlerini otomatikleştiren ajanlara kolayca araç bağlanmasını sağlar.

🛠️ Desteklenen Araç Tipleri
💻 Kod Çalıştırma
Python/R sandbox'ında güvenli yürütme, veri analizi
📊 Dataiku Dataset
Veri okuma/yazma, SQL sorguları, agregasyon
🌐 Web Arama
Gerçek zamanlı web araması ve kaynak doğrulama
📚 Knowledge Bank
RAG tabanlı kurumsal bilgi tabanı sorgulama
🔌 HTTP/REST API
Dış servislere API çağrıları, webhook tetikleme
🤖 Özel Araç
Python ile şirkete özgü araç geliştirme
✅ Komtaş Dataiku Kullanım Senaryosu: Aylık Müşteri Raporu Ajanı
  1. Ajan, Dataiku Dataset aracıyla aylık satış verilerini çeker
  2. Python aracıyla analiz yapar ve grafik oluşturur
  3. Knowledge Bank'tan ürün ve müşteri bilgilerini getirir
  4. Claude Sonnet ile yönetici özeti yazar (guardrails aktif; PII koruması dahil)
  5. HTTP aracıyla raporları ilgili kişilere e-posta olarak gönderir
  6. Tüm LLM maliyeti Mesh'te izlenir; kota aşımı otomatik engellenir