Skip to content

HEGS-HABER/HEGS-AI

Repository files navigation

HEGS AI - Haber Asistanı

HEGS AI, Anadolu Ajansı tabanlı haber sistemi için geliştirilmiş yapay zeka destekli haber asistanıdır. Kullanıcılara güncel haberler hakkında bilgi vermek, soru-cevap yapmak ve haber içeriklerinden quiz oluşturmak için OpenAI API'sini kullanır.

🎯 Özellikler

Ana Özellikler

  • AI Sohbet Asistanı: OpenAI GPT-4 tabanlı akıllı sohbet sistemi
  • Haber Arama: Çoklu kategori desteği ile haber arama ve filtreleme
  • Quiz Oluşturma: Haber içeriklerinden otomatik quiz soruları üretme
  • Konuşma Hafızası: Kullanıcı oturumlarını hatırlayan context-aware sohbet
  • Güvenlik: Input validasyonu ve zararlı içerik filtresi
  • Çoklu Kategori Desteği: Güncel, dünya, spor, teknoloji, sağlık, ekonomi

API Endpoints

  • POST /chat - AI ile sohbet etme
  • POST /quiz - Haber metninden quiz oluşturma
  • GET /health - Sistem sağlık kontrolü
  • GET /categories - Mevcut haber kategorilerini listele
  • GET /search - Haber arama
  • GET /info - API bilgileri

🔧 Teknolojiler

  • Framework: FastAPI 0.118.0
  • AI Model: OpenAI GPT-4 (gpt-4o-mini)
  • Web Server: Uvicorn
  • Async HTTP: aiohttp, requests
  • Veri Validasyonu: Pydantic 2.11.9
  • Python: 3.8+

🚀 Kurulum

Bu servis HEGS mikroservis ekosisteminin bir parçasıdır ve HEGS-SETUP reposu üzerinden Docker Compose ile çalıştırılır.

Kurulum Adımları

Tüm HEGS sistemini kurmak ve çalıştırmak için:

  1. HEGS-SETUP reposuna gidin: HEGS-SETUP Repository
  2. HEGS-SETUP README'sindeki adımları takip edin
  3. Tüm mikroservisler otomatik olarak başlatılacaktır

Not: Bu servisi tek başına çalıştırmak için Docker Compose yerine manuel kurulum yapabilirsiniz, ancak diğer servislere bağımlılıklar nedeniyle tam fonksiyonellik için HEGS-SETUP kullanılması önerilir.

📡 API Kullanımı

Chat Endpoint

curl -X POST "http://localhost:8000/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Güncel haberleri özetle",
    "session_id": "user-session-123"
  }'

Response:

{
  "response": "İşte güncel haberlerden öne çıkanlar...",
  "keywords_found": ["güncel", "haber"],
  "news_categories_searched": ["guncel", "dunya"]
}

Quiz Oluşturma

curl -X POST "http://localhost:8000/quiz" \
  -H "Content-Type: application/json" \
  -d '{
    "news_text": "Türkiye Cumhuriyeti, 29 Ekim 1923 tarihinde kuruldu..."
  }'

Response:

{
  "question": "Türkiye Cumhuriyeti hangi tarihte kurulmuştur?",
  "options": [
    "29 Ekim 1923",
    "23 Nisan 1920",
    "30 Ağustos 1922",
    "13 Mart 1921"
  ],
  "correct_answer": 0
}

Sağlık Kontrolü

curl -X GET "http://localhost:8000/health"

🏗️ Proje Yapısı

HEGS-AI/
├── main.py                 # FastAPI uygulaması ve endpoint'ler
├── config.py              # Konfigürasyon yönetimi
├── models.py              # Pydantic modeller
├── ai_service.py          # OpenAI servis entegrasyonu
├── news_service.py        # Haber arama ve filtreleme
├── conversation_memory.py # Konuşma hafızası
├── security.py            # Güvenlik ve validasyon
├── properties.json        # Uygulama ayarları
├── requirements.txt       # Python bağımlılıkları
└── README.md             # Bu dosya

🔐 Güvenlik

  • Input Validasyonu: Tüm kullanıcı girdileri temizlenir
  • Rate Limiting: API istekleri sınırlandırılabilir
  • CORS: Sadece izin verilen origin'ler
  • Zararlı İçerik Filtresi: Uygunsuz içerik engellenir
  • Session Yönetimi: Her kullanıcı için izole session'lar

🔗 Entegrasyon

Backend (HEGS-HABER-backend)

  • Port: 8080
  • Haber API: http://localhost:8080/news/{kategori}

Frontend (HEGS-HABER-frontend)

  • Port: 5173 (development), 3000 (fallback)
  • AI sohbet bileşeni entegrasyonu

Diğer Mikroservisler

  • HEGS-SCRAPPER: Haber içerik çekme (Port: 9932)
  • HEGS-CROSSWORD: Çengel bulmaca (Port: 8001)
  • HEGS-QUIZGAME: Quiz oyunu (Port: 4478)

📊 Performans

  • Ortalama Yanıt Süresi: ~2-3 saniye
  • Eşzamanlı İstek Kapasitesi: 50+ concurrent users
  • Hafıza Kullanımı: ~200MB (base)
  • OpenAI API Timeout: 30 saniye

🐛 Hata Ayıklama

Loglar

# Uygulama logları
tail -f logs/app.log

# Hata logları
tail -f logs/error.log

Yaygın Hatalar

  1. OpenAI API Anahtarı Hatası

    • Çözüm: OPENAI_API_KEY ortam değişkenini kontrol edin
  2. Haber API Bağlantı Hatası

    • Çözüm: Backend servisinin çalıştığından emin olun
  3. CORS Hatası

    • Çözüm: main.py içindeki allow_origins listesini kontrol edin

📈 Geliştirme Planları

  • Çoklu dil desteği
  • Gelişmiş haber öneri algoritması
  • Ses tanıma entegrasyonu
  • Real-time haber bildirimleri
  • Cache mekanizması optimizasyonu

Not: Bu servis localhost üzerinde çalışacak şekilde yapılandırılmıştır. Docker ile çalıştırmak için root dizindeki docker-compose.yml dosyasını kullanın.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors