- Genel Bakış
- Proje Yapısı
- Sistem Gereksinimleri
- Kurulum
- Kullanım
- API Dokümantasyonu
- Yapılandırma
- Sorun Giderme
- Katkıda Bulunma
Intellium, iş süreçlerini otomatikleştiren ve analiz eden kapsamlı bir platformdur. Sistem şu ana bileşenlerden oluşur:
- IIAS (Intelligent Interview Analysis System): Video mülakatları analiz eden, transkript çıkaran, duygu analizi yapan ve detaylı raporlar oluşturan AI destekli sistem
- ToDo Management System: Görev yönetimi için tam özellikli bir uygulama (Backend + Frontend)
- Notes Management System: Not yönetimi için RESTful API tabanlı backend
- Integration Layer: Toplantı kayıtlarını otomatik olarak todo ve note'lara dönüştüren entegrasyon katmanı
- AI Destekli Mülakat Analizi: Video mülakatlarından otomatik transkript, duygu analizi ve kapsamlı raporlar
- Akıllı İçerik Sınıflandırması: Toplantı transkriptlerinden otomatik todo ve note çıkarma
- Görev Yönetimi: Kategori, öncelik, tarih ve durum yönetimi ile tam özellikli todo sistemi
- Not Yönetimi: Klasör, etiket, hatırlatıcı ve paylaşım özellikleri ile not sistemi
- Gerçek Zamanlı Entegrasyon: Toplantı kayıtlarının otomatik olarak todo ve note sistemlerine aktarılması
Intellium Full/
│
├── IIAS-main/ # Mülakat Analiz Sistemi
│ ├── IIAS.py # Ana analiz scripti
│ ├── requirements.txt # Python bağımlılıkları
│ ├── video1723838072.mp4 # Örnek video dosyası
│ ├── mulakat_transkripti.docx # Çıktı: Transkript
│ └── analiz_sonucu.docx # Çıktı: Analiz raporu
│
├── to do/ # ToDo Uygulaması
│ ├── todo-backend/ # .NET Core Backend
│ │ ├── ToDoList.Api/ # API katmanı
│ │ ├── ToDoList.AppLogic/ # İş mantığı
│ │ ├── ToDoList.Domain/ # Domain modelleri
│ │ └── ToDoList.Infrastructure/ # Veritabanı ve repository
│ │
│ └── todo-frontend/ # React Frontend
│ ├── src/
│ │ ├── components/ # UI bileşenleri
│ │ ├── pages/ # Sayfa bileşenleri
│ │ └── App.tsx # Ana uygulama
│ └── package.json
│
├── portal-notes-backend-clone-main/ # Notes Backend
│ └── portal-notes-backend/
│ └── NoteApp/
│ ├── NoteApp.WebApi/ # API katmanı
│ ├── NoteApp.Business/ # İş mantığı
│ ├── NoteApp.DataAccess/ # Veritabanı erişimi
│ └── NoteApp.Test/ # Test projesi
│
└── Integration/ # Entegrasyon Scriptleri
├── extract_audio.py # Video'dan ses çıkarma
├── transcribe_audio.py # Ses'ten metin çıkarma
├── smart_integration.py # Akıllı sınıflandırma ve entegrasyon
├── INotes_integration.py # Notes entegrasyonu
├── To_Do_integration.py # Todo entegrasyonu
└── INotes_ve_ToDo.py # Kombine entegrasyon
- İşletim Sistemi: Windows 10/11, Linux, macOS
- RAM: Minimum 8GB (16GB önerilir)
- Disk Alanı: Minimum 10GB boş alan
- İnternet Bağlantısı: API çağrıları için gerekli
- Python: 3.8 veya üzeri
- FFmpeg: Video işleme için
- LM Studio: Yerel LLM sunucusu (opsiyonel, önerilir)
- API Anahtarları:
- ElevenLabs API Key (Speech-to-Text için)
- Google Gemini API Key (Görsel analiz için)
- .NET SDK: 8.0 veya üzeri
- PostgreSQL: 14 veya üzeri
- Node.js: 18 veya üzeri (Frontend için)
- Node.js: 18 veya üzeri
- npm veya yarn
# Python sanal ortamı oluştur
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activatecd IIAS-main
pip install -r requirements.txt
# spaCy modelini yükle
python -m spacy download xx_ent_wiki_smWindows:
- FFmpeg indirin
- ZIP dosyasını çıkarın
extract_audio.pydosyasındaki path'i güncelleyin:os.environ["PATH"] += os.pathsep + r"C:/path/to/ffmpeg/bin"
Linux:
sudo apt-get update
sudo apt-get install ffmpegmacOS:
brew install ffmpeg- LM Studio indirin ve kurun
- LM Studio'yu açın
- Model indirin (ör:
qwen/qwen3-4b-2507) - Local Server'ı başlatın (varsayılan port: 1234)
IIAS.py dosyasını açın ve API anahtarlarını güncelleyin:
ELEVENLABS_API_KEY = "your_elevenlabs_api_key_here"
GEMINI_API_KEY = "your_gemini_api_key_here"Analiz edilecek video dosyasını IIAS-main klasörüne koyun ve IIAS.py içinde dosya adını güncelleyin:
INPUT_VIDEO_FILE = "your_video.mp4"# PostgreSQL'i başlat
# Windows: Services'ten başlatın
# Linux:
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Veritabanı oluştur
psql -U postgres
CREATE DATABASE ToDoListDb;
\qto do/todo-backend/ToDoList.Api/appsettings.json dosyasını açın:
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=ToDoListDb;Username=postgres;Password=your_password;"
}
}cd "to do/todo-backend/ToDoList.Api"
dotnet restore
dotnet ef database update # Migration'ları uygula
dotnet runBackend http://localhost:5142 adresinde çalışacaktır.
Swagger UI: http://localhost:5142/swagger
cd "to do/todo-frontend"
npm installBackend URL'ini yapılandırın (gerekirse src klasöründeki API dosyalarını kontrol edin).
npm run devFrontend http://localhost:5173 (veya Vite'ın belirlediği port) adresinde çalışacaktır.
psql -U postgres
CREATE DATABASE noteapp;
\qportal-notes-backend-clone-main/portal-notes-backend/NoteApp/NoteApp.WebApi/appsettings.json dosyasını açın:
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=noteapp;Username=postgres;Password=your_password"
},
"JwtSettings": {
"SecretKey": "your_super_secret_key_that_is_at_least_32_characters_long_1234567890!@#$%^&*()",
"Issuer": "NoteApp",
"Audience": "NoteAppUsers",
"ExpiresInMinutes": 60
}
}cd "portal-notes-backend-clone-main/portal-notes-backend/NoteApp/NoteApp.WebApi"
dotnet restore
dotnet ef database update
dotnet runBackend http://localhost:5258 adresinde çalışacaktır.
Swagger UI: http://localhost:5258 (kök URL)
cd Integration
pip install openai requests moviepy python-docxIntegration scriptlerinde LM Studio kullanılıyorsa, LM Studio'nun çalıştığından emin olun:
# LM Studio'yu açın ve local server'ı başlatın
# Varsayılan: http://127.0.0.1:1234smart_integration.py dosyasını açın ve backend URL'lerini kontrol edin:
TODO_BACKEND_URL = "http://localhost:5142"
NOTES_BACKEND_URL = "http://localhost:5258"-
Video Dosyasını Hazırlama
- Video dosyasını
IIAS-mainklasörüne koyun IIAS.pyiçindeINPUT_VIDEO_FILEdeğişkenini güncelleyin
- Video dosyasını
-
Analizi Başlatma
cd IIAS-main
python IIAS.py- Çıktılar
mulakat_transkripti.docx: Konuşmacı ayrımlı transkriptanaliz_sonucu.docx: Kapsamlı analiz raporutemp_face.jpg: Çıkarılan yüz görüntüsü
-
Backend'i Başlatma
cd "to do/todo-backend/ToDoList.Api" dotnet run
-
Frontend'i Başlatma
cd "to do/todo-frontend" npm run dev
-
Kullanım
- Tarayıcıda
http://localhost:5173adresine gidin - Kayıt olun veya giriş yapın
- Görevler oluşturun, düzenleyin ve yönetin
- Tarayıcıda
-
Backend'i Başlatma
cd "portal-notes-backend-clone-main/portal-notes-backend/NoteApp/NoteApp.WebApi" dotnet run
-
API Kullanımı
- Swagger UI:
http://localhost:5258 - JWT token ile kimlik doğrulama yapın
- Notlar oluşturun, düzenleyin ve yönetin
- Swagger UI:
-
Video'dan Ses Çıkarma
cd Integration python extract_audio.py -
Ses'ten Metin Çıkarma
python transcribe_audio.py # Çıktı: Tanınan Metin.txt -
Akıllı Sınıflandırma ve Entegrasyon
python smart_integration.py # Otomatik olarak todo ve note'ları backend'lere gönderir -
Ayrı Entegrasyonlar
# Sadece Notes python INotes_integration.py # Sadece ToDo python To_Do_integration.py # Her ikisi birden python INotes_ve_ToDo.py
Base URL: http://localhost:5142
POST /api/Auth/Register- Kullanıcı kaydıPOST /api/Auth/Login- Kullanıcı girişi
GET /api/Task- Tüm görevleri getirGET /api/Task/{id}- Görev detayıPOST /api/Task- Yeni görev oluşturPOST /api/Task/bulk- Toplu görev oluşturPUT /api/Task/{id}- Görev güncelleDELETE /api/Task/{id}- Görev sil
GET /api/Category- Tüm kategorileri getirPOST /api/Category- Yeni kategori oluştur
Swagger: http://localhost:5142/swagger
Base URL: http://localhost:5258
POST /api/Auth/Register- Kullanıcı kaydıPOST /api/Auth/Login- Kullanıcı girişi
GET /api/Note- Tüm notları getir (Auth gerekli)GET /api/Note/{id}- Not detayıPOST /api/Note- Yeni not oluştur (AllowAnonymous)PUT /api/Note/{id}- Not güncelleDELETE /api/Note/{id}- Not silGET /api/Note/me- Kullanıcının notları
GET /api/Folder- Tüm klasörleri getirPOST /api/Folder- Yeni klasör oluştur
Swagger: http://localhost:5258
IIAS.py dosyasındaki önemli değişkenler:
# API Anahtarları
ELEVENLABS_API_KEY = "your_key"
GEMINI_API_KEY = "your_key"
# Dosya Yolları
INPUT_VIDEO_FILE = "video.mp4"
TRANSCRIPT_DOCX_FILE = "mulakat_transkripti.docx"
FINAL_ANALYSIS_TXT_FILE = "analiz_sonucu.docx"
# Analiz Ayarları
SANIYEDE_ANALIZ_SAYISI = 2 # Duygu analizi sıklığı
DURATION_THRESHOLD = 20 # Chunk analizi için eşik (dakika)
# LM Studio
LM_STUDIO_API_URL = "http://localhost:1234/v1/chat/completions"
MODEL_NAME = "qwen/qwen3-4b-2507"smart_integration.py dosyasındaki ayarlar:
# LM Studio
LM_STUDIO_BASE_URL = "http://127.0.0.1:1234"
MODEL_NAME = "qwen/qwen3-4b-2507"
# Backend URL'leri
TODO_BACKEND_URL = "http://localhost:5142"
NOTES_BACKEND_URL = "http://localhost:5258"
DEFAULT_CATEGORY_ID = "01990c81-4b45-7b89-89d1-82b7d41059aa"
# Dosya Yolları
TRANSCRIPT_INPUT_FILE = "Tanınan Metin.txt"ToDo Backend (appsettings.json):
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=ToDoListDb;Username=postgres;Password=123456;"
}
}Notes Backend (appsettings.json):
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=noteapp;Username=postgres;Password=123456"
},
"JwtSettings": {
"SecretKey": "your_secret_key_min_32_chars",
"Issuer": "NoteApp",
"Audience": "NoteAppUsers",
"ExpiresInMinutes": 60
}
}Problem: Video işlenemiyor
- Çözüm: FFmpeg'in kurulu ve PATH'te olduğundan emin olun
Problem: ElevenLabs API hatası
- Çözüm: API anahtarının geçerli olduğunu ve kredilerin yeterli olduğunu kontrol edin
Problem: LM Studio bağlantı hatası
- Çözüm:
- LM Studio'nun açık olduğundan emin olun
- Local server'ın başlatıldığını kontrol edin
- Model'in yüklü olduğunu doğrulayın
Problem: DeepFace yükleme hatası
- Çözüm: TensorFlow ve gerekli bağımlılıkların yüklü olduğundan emin olun
Problem: Veritabanı bağlantı hatası
- Çözüm:
- PostgreSQL'in çalıştığını kontrol edin
- Connection string'i doğrulayın
- Veritabanının oluşturulduğundan emin olun
Problem: Migration hatası
- Çözüm:
dotnet ef migrations add InitialCreate dotnet ef database update
Problem: Port zaten kullanımda
- Çözüm:
launchSettings.jsondosyasında port numarasını değiştirin
Problem: API bağlantı hatası
- Çözüm: Backend'in çalıştığını ve CORS ayarlarının doğru olduğunu kontrol edin
Problem: Bağımlılık hataları
- Çözüm:
rm -rf node_modules package-lock.json npm install
Problem: Backend'e veri gönderilemiyor
- Çözüm:
- Backend'lerin çalıştığını kontrol edin
- URL'lerin doğru olduğunu doğrulayın
- Network bağlantısını kontrol edin
Problem: LM Studio yanıt vermiyor
- Çözüm: LM Studio'nun çalıştığını ve model'in yüklü olduğunu kontrol edin
-
Video İşleme
- Video kalitesi değerlendirmesi
- Frame bazlı duygu analizi
- Yüz tespiti ve çıkarma
-
Ses İşleme
- Video'dan ses çıkarma
- ElevenLabs ile konuşmacı ayrımlı transkript
- Duygu-zaman çizelgesi oluşturma
-
Metin Analizi
- LLM ile puanlama tablosu
- Recruiter notu
- Soru-cevap analizi
- Teknik yetkinlik değerlendirmesi
- Soft skill analizi
-
Görsel Analiz
- Gemini AI ile profesyonel görünüm analizi
- Beden dili değerlendirmesi
- Yüz ifadesi analizi
-
İçerik Analizi
- Eylem fiilleri tespiti
- Sahip/rol çıkarımı
- Tarih çözümlemesi
- Confidence skorlama
-
Sınıflandırma
- Todo/Note ayrımı
- Status belirleme (planned/in_progress/done)
- Priority hesaplama
- Tag önerileri
-
Backend Entegrasyonu
- Otomatik format dönüşümü
- Bulk gönderim
- Hata yönetimi
- API Anahtarları: Tüm API anahtarlarını güvenli bir şekilde saklayın ve asla commit etmeyin
- Veritabanı Şifreleri: Production ortamında güçlü şifreler kullanın
- LM Studio: Yerel LLM kullanımı için yeterli RAM gerekir (en az 8GB önerilir)
- Video Formatları: IIAS, MP4 formatını destekler
- Dil Desteği: Sistem Türkçe ve İngilizce transkriptleri destekler
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit edin (
git commit -m 'Add amazing feature') - Push edin (
git push origin feature/amazing-feature) - Pull Request açın
Bu proje özel bir projedir. Tüm hakları saklıdır.
Sorularınız için issue açabilir veya proje sahibi ile iletişime geçebilirsiniz.
- ElevenLabs - Speech-to-Text API
- Google Gemini - Görsel analiz
- LM Studio - Yerel LLM desteği
- DeepFace - Duygu analizi
- spaCy - Doğal dil işleme
Son Güncelleme: 2025