Skip to content

Latest commit

 

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KariyerKoçu AI — CV & Uyum Analizi

Akbank GenAI Bootcamp Projesi

KariyerKoçu AI, yapay zekâ destekli bir özgeçmiş (CV) değerlendirme ve iş ilanı uyumluluk analiz uygulamasıdır.
Kullanıcı, PDF veya metin formatında CV’sini yükleyip bir pozisyon belirttiğinde sistem, vektör tabanlı arama (RAG) ve Gemini LLM kullanarak adayın iş ilanlarına olan uygunluğunu değerlendirir.


Proje Özeti

  • Amaç: CV içeriğini analiz ederek iş ilanlarına uygunluk oranını hesaplamak.
  • Teknoloji: RAG (Retrieval-Augmented Generation) + Google Gemini
  • Girdi: Kullanıcının CV’si (PDF/metin) ve opsiyonel hedef pozisyon
  • Çıktı:
    • Uyum yüzdesi (0–100 arası)
    • Türkçe özet (güçlü yönler & geliştirme önerileri)
    • 3 önerilen pozisyon

Mimarisi

kariyerkocu-ai/
├── app.py                 # Streamlit arayüzü
├── rag_pipeline.py        # RAG + Gemini analiz fonksiyonları
├── utils.py               # PDF → Word → Metin dönüşüm yardımcı fonksiyonları
├── data/
│   └── job_postings.csv   # İş ilanı veriseti
├── chroma_software_jobs/  # Vektör veritabanı (otomatik oluşturulur)
├── .env                   # GEMINI_API_KEY burada saklanır
└── requirements.txt       # Bağımlılıklar listesi

⚙️ Kurulum Rehberi

1️ Depoyu klonla

git clone https://github.com/asknnsinem/careercoach-ai-akbankbootcamp.git
cd kariyerkocu-ai-akbankbootcamp

2️ Ortam Değişkenleri (.env) Proje kök dizinine bir .env dosyası oluşturun:

GEMINI_API_KEY=your_gemini_api_key_here

3️ Sanal Ortam Oluşturma

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

4️ Dataset Kurulumu

#data klasörü oluşturulmuş olmalı
python dataset_download.py

5️ Uygulamayı Çalıştırma

streamlit run app.py

Çözüm Mimarisi

 CV veya metin girişi
     ↓
 Çeviri (Türkçe → İngilizce)
     ↓
 Embedding çıkarımı
     ↓
 Chroma veritabanında benzer ilan arama
     ↓
 Gemini API (değerlendirme, özet, skor, öneriler)
     ↓
 Streamlit arayüzünde sonuçların gösterimi

🧠 RAG mimarisi:

  • Retriever → Top-5 ilanları getirir
  • Augmenter → Bu ilanları LLM’e (Gemini) gönderir
  • Generator → LLM cevabını JSON formatında üretir ve UI’ye döner

🧾 Kullanılan Datasetler

  • Kaynak: Hugging Face
  • İçerik: Gerçek LinkedIn iş ilanlarından toplanan başlık, açıklama, konum ve sektör bilgileri.
  • Boyut: ~3.2M satır
  • Kullanım:
    • build_vector_db() fonksiyonu bu ilanları vektör embedding'e dönüştürerek Chroma veritabanına kaydetti.
    • RAG pipeline’ı bu ilanları kullanarak kullanıcının CV’sine en benzer 5 ilanı seçiyor.

  • Tür: Çok dilli embedding modeli
  • Rolü: CV ve iş ilanı metinlerinin vektör temsillerini oluşturur
  • Avantajı: Türkçe dahil 50+ dil desteği
  • Kullanım: LangChain HuggingFaceEmbeddings aracılığıyla çağrılır.

  • Tür: Çok dilli çeviri modeli
  • Rolü: Türkçe CV’leri İngilizceye çevirerek Gemini modeline gönderir
  • Kullanım:
    • translate_to_en() fonksiyonu içinde çağrılır.
    • src_lang = "tr"en dönüşümü yapılır.

4️⃣ Özel Embedding Dataset (Yerel)

  • Dosya: data/job_postings.csv
  • Tür: Ön işlenmiş, yerel olarak indirilen ilan verisi
  • İçerik:
    • Kolonlar: title, description
    • Filtreleme: title içinde “software”, “developer”, “engineer” geçen kayıtlar
  • Kullanım: Uygulama ilk kez çalıştırıldığında embedding veritabanı (chroma_software_jobs/) bu dosyadan oluşturulur.

Bu veri kaynakları sayesinde sistem, hem gerçekçi iş ilanı bağlamı hem de dil bağımsız analiz yapabilmektedir.

🌐 Web Arayüzü

Arayüz Özellikleri:

  • 📎 PDF CV yükleme veya metin girişi

  • 🎯 Hedef pozisyon girme (opsiyonel)

  • 🧮 Uygunluk yüzdesi + AI değerlendirmesi

  • 🔍 Pozisyon Önerisi

Demo Linki: 🔗 (örnek) https://huggingface.co/spaces/asknnsinem/careercoach-ai

📊 Örnek Çıktı

🎯 Pozisyon: Yazılım Mühendisi 📊 Uyum: %82 🧠 Değerlendirme:

Adayın yazılım geliştirme tecrübesi güçlü. Ancak bulut teknolojileri (AWS, GCP) tarafında daha fazla deneyim kazanması faydalı olur.

💼 Önerilen Pozisyonlar:

Backend Developer

Python Engineer

Full Stack Developer

🏁 Katkıda Bulunanlar

Geliştirici:

🔗 Kaynaklar

Bu proje geliştirilirken aşağıdaki kaynaklardan yararlanılmıştır:

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages