Sistem Tasarımı GenAI: Üretim Uygulamalarının Temelleri ve Mimarileri
Yüksek Lisansı uygulamanıza entegre etmeye çalışıyorsunuz ve RAG mı, ince ayar mı yoksa sadece basit bir ayar mı yapacağınızı merak ediyorsunuz istemleri iyileştirmek mi istiyorsunuz? Yalnız değilsiniz: 2024 yılına kadar yapılan bir analize göre, GenAI dağıtımlarının %73'ü girişim başarısız oluyor etaplardaki yanlış mimari seçimler nedeniyle altı ay içinde tasarım baş harfleri. Sorun model değil; sorun birçok takımın önce teknolojiyi seçmesi sorunu anlayın.
Bu kılavuz size üretimdeki GenAI sistemlerini tasarlamak için pratik bir karar çerçevesi sağlar. temel mimariler - RAG, ince ayar, hızlı mühendislik - ve yaklaşımı seçme kriterleri özel kullanım durumunuz için doğru.
Ne Öğreneceksiniz
- Üç temel mimari: RAG, ince ayar ve hızlı mühendislik
- Karar çerçevesi: her yaklaşımın ne zaman kullanılacağı
- Üretimdeki GenAI uygulamaları için sistem mimarileri
- Teknoloji Yığını 2026: LangChain, LlamaIndex, vLLM
- Kaçınılması gereken yaygın kalıplar ve anti-örüntüler
- Bir RAG sistemini değerlendirmek için kalite ölçümleri
%73 Sorunu: GenAI Dağıtımları Neden Başarısız?
Mimarlığa girmeden önce neden bu kadar çok projenin başarısız olduğunu anlamak çok önemlidir. Sebepler Otopsi sonrası kurumsal dağıtımda tanımlanan başlıca olanlar şunlardır:
- Yönetilmeyen halüsinasyon: model makul fakat yanlış cevaplar üretiyor ve hiçbiri doğrulama sistemi hayata geçirildi
- Kabul edilemez gecikme:p99 kullanıcının beklediği sorgularda 3-5 saniyenin ötesinde hızlı
- Patlayıcı maliyetler: yayına geçmeden önce sorgu başına maliyet hesaplaması yapılmaz, ardından bütçe haftalar içinde tükeniyor
- Yönetilmeyen bilgi kesintisi: Model güncel veya özel verileri bilmiyor şirketin
- İzlenebilirlik eksikliği: Bir belgenin hangi belgelere dayandığını bilmek imkansızdır yanıt (düzenlenmiş bağlamlarda kritik)
İnceleyeceğimiz her mimari bu sorunların bazılarını diğerlerinden daha iyi ele alıyor. bilmek ödünleşim, başlangıçtan itibaren sağlam sistemler tasarlamanıza olanak tanır.
Üç Temel Mimari
1. Hızlı Mühendislik
Herhangi bir GenAI sistemi için başlangıç noktası: modeli yönlendirecek istemi yapılandırmak İstenilen çıktı. 2026'daki temel teknikler:
- Birkaç atışlık ipucu: İstemde giriş-çıkış örnekleri sağlayın
- Düşünce Zinciri (CoT): modelden önce adım adım düşünmesini isteyin cevaplamak
- Sistem istemi: Modelin davranışını ve bağlamını tanımlayın
- Yapılandırılmış çıktı: Güvenilir ayrıştırma için çıktıyı JSON veya XML formatına zorlayın
# Esempio: prompt engineering con structured output
import json
from openai import OpenAI
client = OpenAI()
def analyze_ticket(ticket_text: str) -> dict:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": """Sei un sistema di triage per ticket di supporto.
Analizza il ticket e restituisci JSON con:
- priority: "high" | "medium" | "low"
- category: "bug" | "feature" | "question"
- sentiment: "frustrated" | "neutral" | "positive"
- estimated_resolution_hours: numero intero"""
},
{
"role": "user",
"content": f"Ticket: {ticket_text}"
}
],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
# Uso
result = analyze_ticket("Il mio account e bloccato da ieri, non riesco ad accedere!")
# {"priority": "high", "category": "bug", "sentiment": "frustrated", ...}
Ne zaman kullanılmalı?: basit ve iyi tanımlanmış durumlar, hızlı prototipleme, elinizde olmadığında entegre edilecek özel veriler ve temel model zaten etki alanını biliyor.
Sınırlar: güncel veya özel verilerle çalışmaz, gerçeklerle ilgili halüsinasyon spesifik, maliyet bağlamın uzunluğuyla orantılı.
2. RAG — Erişimle Artırılmış Nesil
RAG, bilgi kesintisi ve özel veriler sorununu çözüyor: yalnızca verilere güvenmek yerine model bilgisi, ilgili belgeleri bir veri tabanından alır ve bunları bağlama yerleştirir nesilden önce.
Bir RAG sisteminin temel mimarisi dört aşamadan oluşur:
- İndeksleme: Belgeler parçalara bölünür ve gömme vektörlerine dönüştürülür ve bir vektör veritabanına kaydedildi
- Geri alma: Kullanıcının sorgusu aynı yerleştirme alanına dönüştürülür en benzer parçalar kurtarıldı
- Büyütme: Alınan parçalar bilgi istemine bağlam olarak eklenir
- Nesil: LLM, sağlanan bağlama göre yanıtı oluşturur
# RAG minimo funzionante con LangChain e Qdrant
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_qdrant import QdrantVectorStore
from langchain.chains import RetrievalQA
from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
# 1. Carica e chunka i documenti
loader = PyPDFLoader("manuale_prodotto.pdf")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(
chunk_size=512,
chunk_overlap=64
)
chunks = splitter.split_documents(docs)
# 2. Crea il vector store
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
vectorstore = QdrantVectorStore.from_documents(
documents=chunks,
embedding=embeddings,
url="http://localhost:6333",
collection_name="manuale_prodotto"
)
# 3. Crea la chain RAG
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
retriever = vectorstore.as_retriever(search_kwargs={"k": 5})
rag_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=retriever,
return_source_documents=True
)
# 4. Query
result = rag_chain.invoke({"query": "Come configuro le notifiche email?"})
print(result["result"])
# La risposta cita i documenti recuperati, non inventa
Ne zaman kullanılmalı?: şirket bilgi tabanı, teknik belgeler, SSS, herhangi biri Yanıtın belirli ve izlenebilir belgelere dayalı olması gerektiği durum.
Sınırlar: kalite, alma kalitesine bağlıdır, ek gecikme, altyapı yükü.
3. İnce ayar
İnce ayar, verilerle ilgili ek eğitim yoluyla modelin davranışını uyarlar etki alanına özgü. 2026 yılında hakim paradigma, Parametre Açısından Verimli İnce Ayar (PEFT) Tüketici donanımı konusunda eğitime olanak tanıyan LoRA ve QLoRA gibi tekniklerle.
# Fine-tuning con LoRA usando transformers e PEFT
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model, TaskType
import torch
model_name = "meta-llama/Llama-3.1-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
# Configurazione LoRA: adatta solo il 0.1% dei parametri
lora_config = LoraConfig(
task_type=TaskType.CAUSAL_LM,
r=16, # rank della matrice di adattamento
lora_alpha=32, # scaling factor
lora_dropout=0.1,
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"]
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# trainable params: 6,815,744 || all params: 8,037,191,680
# trainable%: 0.0848%
Ne zaman kullanılmalı?: Binlerce eğitim örneğiniz olduğunda, bir formata ihtiyacınız vardır: çok spesifik ve tutarlı çıktılar veya örnekleri ortadan kaldırarak istemin uzunluğunu azaltmak istiyorsunuz birkaç atış.
Kritik anti-patern: Gerçek bilgiyi enjekte etmek için ince ayar yapmayın (tarihler, sayılar, belirli gerçekler). Model anlamadan ve halüsinasyon olmadan "ezberliyor" neyse. Bilgi için RAG kullanın.
Karar Çerçevesi
En önemli soru "hangi teknolojiyi kullanacağım" değil, "asıl sorunum nedir". Bu karar ağacı kullanım durumlarının %90'ını kapsar:
Hai dati privati o recenti che il modello non conosce?
SI --> Considera RAG come base
NO --> Prompt engineering puo essere sufficiente
Il tuo knowledge base e aggiornato frequentemente?
SI --> RAG (indicizza i nuovi documenti, non ri-addestra)
NO --> Fine-tuning puo essere considerato
Hai 1000+ esempi di coppie input-output di alta qualita?
SI --> Fine-tuning e un'opzione valida
NO --> Stai nei limiti di RAG + few-shot
Hai bisogno di tracciabilita (citare le fonti)?
SI --> RAG obbligatorio
NO --> Piu flessibilita
Latenza critica (sotto 500ms)?
SI --> Fine-tuning (elimina retrieval overhead) o caching aggressivo
NO --> RAG funziona bene
Conclusione tipica 2026:
Start with RAG + prompt engineering
Add fine-tuning solo se RAG non raggiunge qualita richiesta
Üretim için Sistem Mimarisi
Üretim düzeyinde bir GenAI sistemi, "LLM + vektör veritabanı"nın çok ötesine geçer. Bileşenler ciddi bir dağıtım için gerekli:
# Stack minimo per RAG in produzione (Docker Compose)
services:
api:
image: your-genai-api:latest
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}
QDRANT_URL: http://qdrant:6333
REDIS_URL: redis://redis:6379
depends_on:
- qdrant
- redis
qdrant:
image: qdrant/qdrant:v1.9.0
volumes:
- qdrant_storage:/qdrant/storage
ports:
- "6333:6333"
redis:
image: redis:7-alpine
# Semantic cache: evita LLM calls per query simili
volumes:
- redis_data:/data
prometheus:
image: prom/prometheus:latest
# Monitora: latency p50/p95/p99, costo per query, quality score
grafana:
image: grafana/grafana:latest
# Dashboard: LLM performance, retrieval quality, cost tracking
Bir prototipi üretim sisteminden ayıran kritik bileşenler:
- Anlamsal önbelleğe alma (Redis + GPTCache gibi kütüphane): maliyetleri %30-60 oranında azaltır benzer yinelenen sorgulara sahip uygulamalar için
- gözlemlenebilirlik: her LLM çağrısını gecikme, kullanılan jetonlar, maliyet ve kalite puanı — bu veriler olmadan optimizasyon yapamazsınız
- Geri dönüş stratejisi: OpenAI çöktüğünde ne olur? Yerel bir modeliniz var yedekleme nasıl yapılır?
- Hız sınırlama ve kota yönetimi: Bütçenizi sorgulardan koruyun anormal
- PII tespiti: LLM'ye veri göndermeden önce kişisel verileri tespit edin ve gizleyin hassas
2026 Teknoloji Yığını
GenAI ekosistemi birkaç baskın oyuncunun etrafında istikrar kazandı:
Önerilen Yığın 2026
- Orkestrasyon: Karmaşık RAG işlem hatları için LangChain v0.3+ veya LlamaIndex v0.10+; Temsilci iş akışları için LangGraph
- Vektör Veritabanı: Qdrant (kendi kendine barındırılan, mükemmel performans), pgvector (zaten PostgreSQL, 1 milyon vektör altında), Pinecone (yönetilen, garantili gecikme)
- Çıkarım: Kendi kendine barındırılan açık kaynaklı modeller için vLLM veya TensorRT-LLM; OpenAI/Antropik bulut API'leri için
- Gömmeler: OpenAI'den text-embedding-3-small (1536 dim, 0,02 ABD doları/1 milyon token) veya ücretsiz kendi kendine barındırma için all-MiniLM-L6-v2
- gözlemlenebilirlik: İzleme için LangSmith, Weights & Biases Weave veya Phoenix zincirlerin
- Değerlendirme: Otomatik RAG ölçümleri için RAGAS (doğruluk, yanıt alaka düzeyi, bağlam hatırlama)
RAG Sistemleri için Kalite Metrikleri
RAG sisteminizin iyi çalışıp çalışmadığını nasıl anlarsınız? RAGAS çerçevesi ölçülebilir ölçümleri tanımlar:
# Valutazione automatica con RAGAS
from ragas import evaluate
from ragas.metrics import (
faithfulness, # la risposta e supportata dai documenti recuperati?
answer_relevancy, # la risposta risponde alla domanda?
context_recall, # i documenti recuperati contengono le info necessarie?
context_precision # i documenti recuperati sono tutti rilevanti?
)
from datasets import Dataset
# Dataset di test (ground truth necessario)
test_data = {
"question": ["Come configuro l'autenticazione 2FA?"],
"answer": ["Per configurare 2FA, vai in Impostazioni > Sicurezza..."],
"contexts": [["Documentazione 2FA: ...", "Guida sicurezza: ..."]],
"ground_truth": ["La 2FA si configura tramite l'app mobile nelle impostazioni sicurezza"]
}
dataset = Dataset.from_dict(test_data)
result = evaluate(dataset, metrics=[
faithfulness,
answer_relevancy,
context_recall,
context_precision
])
print(result)
# faithfulness: 0.95 (la risposta non inventa)
# answer_relevancy: 0.88 (la risposta e pertinente)
# context_recall: 0.82 (i doc recuperati coprono la risposta)
# context_precision: 0.91 (i doc recuperati sono rilevanti)
Bir üretim sistemi için gerçekçi hedefler: sadakat > 0,85 (kritik: bunun altı eşik halüsinasyonları sıktır), cevap_ilgisi > 0,80, bağlam_geri çağırma > 0,75.
Kaçınılması Gereken Anti-örüntüler
- Tüm belgeler için sabit yığın boyutu: yapılandırılmış belgeler (SSS, API belgeleri) anlatı metni dışında parçalama gerektirir
- Yalnızca anlamsal erişim: tam teknik terimler açısından başarısız; karma aramayı kullan (BM25 + anlamsal)
- Yeniden sıralama yok: üst-k vektörleri mutlaka en kullanışlı olanlar değildir; bir çapraz kodlayıcı hassasiyeti %15-20 artırır
- Sürekli değerlendirme olmadan RAG: Belgeler değiştirildiğinde kalite düşer. değişirler; üretimdeki sadakati izler
- İlk tercih olarak ince ayar: ve pahalı ve yavaş; RAG neredeyse her zaman oradadır başlamak için doğru hamle
Sonuçlar ve Sonraki Adımlar
GenAI uygulamalarına yönelik sistem tasarımı, bunun çok ötesine geçen mimari seçimler gerektirir modeli seçimi. 2026'nın temel kuralı: her zaman RAG + istemiyle başlar mühendislik, RAGAS ile kaliteyi ölçün ve yalnızca boşluk varsa ince ayar ekleyin Kalite, alma optimizasyonundan sonra da devam eder.
Bu serideki sonraki makalelerde her bileşeni ayrıntılı olarak inceleyeceğiz: doğru vektör veritabanı, parçalama stratejileri, hibrit arama ve ajan mimarisi LangGraph.







