TEKNOFEST 2025 Türkçe Doğal Dil İşleme Yarışması Projesi - Senaryo Kategorisi (Üretken Yapay Zeka Destekli Otonom Çağrı Merkezi Senaryoları)
Bu proje; çağrı merkezi/telekom müşteri işlemleri senaryolarını çalıştıran bir LLM destekli ajan iskeleti içerir. Python tarafında LangChain + FastAPI, ön yüzde ise React tabanlı bir arayüz (alfai-ui) bulunur. LLM olarak varsayılan Ollama üzerinden qwen3:32b kullanılır. Veriler için SQLite (alfai.db) kullanılır.
- Python 3.10+ (önerilen)
- Node.js 16+ ve npm (ön yüz için)
- Ollama (LLM servisi;
qwen3:32bmodelini çekecek) - Git (opsiyonel)
- FFmpeg (Whisper için önerilir)
- CUDA sürücüleri (GPU kullanacaksanız)
git clone https://github.com/your-repository-url.git
cd agent_skeleton/agent_skeleton
# bağımlılıklar
pip install --upgrade pip
pip install fastapi uvicorn langchain langchain-community langchain-ollama pydantic==2.* openai-whisper gTTS matplotlib python-multipart
python -m venv .venv
source .venv/bin/activate # Windows için: .venv\Scripts\activate
cd ../alfai-ui
npm install
cd ../agent_skeleton
uvicorn api:app --reload
(Farklı bir CMD'de)
cd alfai-ui
npm start
## LLM ve Ollama
1. Ollama’yı kurun: https://ollama.com
2. Modeli indirin:
```bash
ollama pull qwen3:32b- Backend tarafında varsayılan model
qwen3:32bolarak ayarlanmıştır (bkz.agent_runner.py). Gerekirse değiştirin.
LoRA/adapter kullanıyorsanız kendi
Modelfileile modeliniziollama createkomutu üzerinden oluşturabilirsiniz.
Proje kökünde agent_skeleton/ klasörüne gidin:
# .env (opsiyonel) oluşturup yapılandırabilirsiniz
uvicorn api:app --reloadveya doğrudan örnek script:
python agent_runner.py
api.pyiçinde/api/messagegibi uç noktalar;agent_runner.pyiçinde LLM ajan akışı ve araç entegrasyonları bulunur.
scenarios.json: Ajanın deneme diyalogları ve tool zinciri kurguları.agent_memory.json: Basit hafıza örneği.
Klasör: agent_skeleton/alfai-ui
cd alfai-ui
npm install
npm startVarsayılan komutlar package.json içinde mevcuttur. Gerekirse API adresini .env veya kod içinde güncelleyin.
agent_runner.py— LangChain ajanı, araç kaydı ve akış.api.py— FastAPI servis uçları (metin/ses işleme vb.).tools.py— İş mantığı sarmalayan StructuredTool tanımları.tool_registry.py— Araç kayıt/metadata.memory.py—AgentMemoryve bellek yardımcıları.mock_apis.py— SQLite tabanlı sahte servisler (kullanıcı, paket, fatura, kampanya, ticket).scenarios.json— Test senaryoları.agent_memory.json— Örnek bellek dosyası.alfai-ui/— React arayüzü.
- Araçlar; paket değişimi, fatura itirazı, ek paket talebi, kampanya katılımı, destek bileti, bakiye ödeme vb. fonksiyonları
mock_apis.pyüstünden yürütür. scenarios.jsonsenaryoları; intent, tool zinciri, cevap türü ve bellek anahtarlarıyla gelir.- Önemli Not: Bazı projelerde
register/tcakışları devre dışı bırakılabilir. Kendi veritabanınıza göretools.pyçağrılarını ve senaryoları düzenleyin.
Sadece Ollama sunucusunun göreceği şekilde CUDA GPU seçebilirsiniz.
# Örn. sadece GPU 2'yi görünür yap
export CUDA_VISIBLE_DEVICES=2 # Windows PowerShell: $env:CUDA_VISIBLE_DEVICES="2"
ollama serveModel tarafında ek ayar gerekiyorsa (örn.
num_gpu,num_ctx), Ollama servis konfigürasyonu veya Modelfile üzerinden yapılandırın.
Bu proje için lisans bilgisi ekleyin (MIT/Apache-2.0 vb.).