Skip to content

Instantly share code, notes, and snippets.

@zaferayan
Created March 2, 2026 10:53
Show Gist options
  • Select an option

  • Save zaferayan/f1b4e2504c11493e5b0afec8e5bb3aa2 to your computer and use it in GitHub Desktop.

Select an option

Save zaferayan/f1b4e2504c11493e5b0afec8e5bb3aa2 to your computer and use it in GitHub Desktop.
Llama 3.2 ve RAG mimarisi kullanarak FAQ tabanlı bir AI Customer Service sisteminin 1 haftada kurulması için adım adım teknik plan. React, Supabase Vector ve local LLM yaklaşımıyla production’a yakın bir yol haritası.

Llama 3.2 + RAG ile FAQ Customer Service Kurulum Planı

🎯 Hedef

Kullanıcı sorusu → FAQ/dokümanlardan doğru parçayı bul →
Llama 3.2 sadece bu bilgiye dayanarak cevap versin.

Cevap veremiyorsa: - İnsan desteğe yönlendirme - Ticket oluşturma


🏗️ Mimari

Bileşenler

  • Frontend (React): Chat UI + kaynak gösterme + feedback
  • Backend (Node / Serverless): RAG orkestrasyonu ve guardrails
  • Vector DB (Supabase + pgvector): Embedding ve similarity search
  • LLM Runtime: Ollama veya llama.cpp üzerinden Llama 3.2
  • Embedding Modeli: Local veya API tabanlı embedding

Akış

  1. User mesajı
  2. Query embedding
  3. Top‑K context çekme
  4. Prompt oluşturma
  5. Llama 3.2 cevap üretimi
  6. Guardrails + escalation

🛡️ Guardrails (Güven Katmanı)

  • Context dışına çıkma → Bilgi yoksa "Bilmiyorum" de
  • Her cevapta kaynak zorunlu
  • Kritik konularda human escalation
  • Sohbet transcript'i ile ticket oluşturma

📅 1 Haftalık Uygulanabilir Plan

Gün 1 --- Veri Hazırlığı

  • FAQ'ları standart formata getir:
    • question
    • answer
    • category
    • tags
    • updated_at
  • Hedef: 50--150 FAQ

Gün 2 --- Supabase Şeması

Tablolar:

kb_documents - id - title - source - url - updated_at

kb_chunks - id - doc_id - chunk_text - metadata_json - embedding (VECTOR)

Ek: - kb_feedback - support_tickets


Gün 3 --- Ingestion & Embedding

  • FAQ → chunk'lara böl
  • Embedding üret ve kaydet

Chunk önerisi: - FAQ için: 1 soru + 1 cevap


Gün 4 --- Retrieval Endpoint

POST /rag/retrieve

Input: - query

Output: - topK chunks - score - metadata

Öneriler: - topK = 5 - düşük score → escalation


Gün 5 --- Answer Endpoint + Prompt

POST /rag/answer

Adımlar: - retrieve - prompt compose - LLM çağır - JSON parse

Örnek çıktı:

{
  "answer": "...",
  "sources": ["chunk_12"],
  "confidence": "medium",
  "handoff": false
}

Gün 6 --- React Chat UI

Minimum özellikler: - Chat ekranı - Kaynak göster - Feedback butonu - İnsan desteğe aktar


Gün 7 --- Test & Ölçüm

Ölç: - Retrieval doğruluğu - Hallucination oranı - Escalation oranı

İyileştirme: - Chunk boyutu - Prompt sıkılığı - Score threshold


⚙️ Local Runtime Önerisi

  • Başlangıç: Ollama + Llama 3.2
  • İleri optimizasyon: llama.cpp

✅ En İyi İlk Kullanım Alanları

  • İade süreçleri
  • Kargo bilgisi
  • Üyelik işlemleri
  • Şifre sıfırlama

🚫 İlk aşamada kaçınılması gerekenler

  • Hukuki yorumlar
  • Finansal kararlar
  • Hassas kişisel veri işlemleri

🧠 Özet

Llama 3.2 tek başına customer service değildir.

Doğru yaklaşım: > Küçük model + doğru bilgi + iyi mimari = güvenilir AI destek sistemi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment