{"id":30809639,"url":"https://github.com/emredeveloper/agents-notebooks","last_synced_at":"2026-03-07T17:33:27.362Z","repository":{"id":310550918,"uuid":"1040300797","full_name":"emredeveloper/Agents-Notebooks","owner":"emredeveloper","description":"This is a repository of agent notebooks that contains studies on how to use various agent libraries with different tools and methods.","archived":false,"fork":false,"pushed_at":"2026-02-28T23:09:47.000Z","size":7607,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-01T02:07:45.089Z","etag":null,"topics":["agent","agents","ai","artificial-intelligence","llm","python"],"latest_commit_sha":null,"homepage":"https://emredeveloper.vercel.app/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emredeveloper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-18T19:04:14.000Z","updated_at":"2026-02-28T23:09:51.000Z","dependencies_parsed_at":"2025-08-18T21:16:30.773Z","dependency_job_id":"0af500ad-325c-4d48-93a9-18ec8e345783","html_url":"https://github.com/emredeveloper/Agents-Notebooks","commit_stats":null,"previous_names":["emredeveloper/agents-notebooks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emredeveloper/Agents-Notebooks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emredeveloper%2FAgents-Notebooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emredeveloper%2FAgents-Notebooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emredeveloper%2FAgents-Notebooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emredeveloper%2FAgents-Notebooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emredeveloper","download_url":"https://codeload.github.com/emredeveloper/Agents-Notebooks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emredeveloper%2FAgents-Notebooks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30223412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T17:00:40.062Z","status":"ssl_error","status_checked_at":"2026-03-07T17:00:39.026Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agents","ai","artificial-intelligence","llm","python"],"created_at":"2025-09-06T04:49:13.651Z","updated_at":"2026-03-07T17:33:27.328Z","avatar_url":"https://github.com/emredeveloper.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 AI Agents \u0026 LangGraph Projeleri (Türkçe)\n\nBu repository, modern AI teknolojileri ile geliştirilmiş çeşitli agent sistemleri ve LangGraph workflow örneklerini Türkçe olarak sunar.\n\n## 📸 Ekran Görüntüleri\n\n### 🎥 YouTube QA Agent\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./Youtube%20Video%20-%20RAG%20-%20Agent/image.png\" alt=\"YouTube QA - Sistem Diyagramı\" width=\"900\"\u003e\n  \u003cbr/\u003e\n  \u003cem\u003eSistem Diyagramı\u003c/em\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"./Youtube%20Video%20-%20RAG%20-%20Agent/YouTube-QA-Agent-08-22-2025_01_46_PM.png\" alt=\"YouTube QA - Ana Sayfa ve Yapılandırma\" width=\"900\"\u003e\n  \u003cbr/\u003e\n  \u003cem\u003eAna Sayfa ve Yapılandırma\u003c/em\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"./Youtube%20Video%20-%20RAG%20-%20Agent/YouTube-QA-Agent-08-22-2025_01_50_PM.png\" alt=\"YouTube QA - URL Girişi ve İşleme\" width=\"900\"\u003e\n  \u003cbr/\u003e\n  \u003cem\u003eYouTube URL Girişi ve İşleme\u003c/em\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"./Youtube%20Video%20-%20RAG%20-%20Agent/YouTube-QA-Agent-08-22-2025_01_50_PM%20%281%29.png\" alt=\"YouTube QA - Soru Cevap ve Sonuçlar\" width=\"900\"\u003e\n  \u003cbr/\u003e\n  \u003cem\u003eSoru-Cevap Arayüzü ve Sonuçlar\u003c/em\u003e\n  \u003cbr/\u003e\n\u003c/p\u003e\n\n### 🤝 A2A-Agent (Çoklu Ajan Demo)\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./A2A-Agent/A2A-Demo-08-22-2025_01_53_PM.png\" alt=\"A2A-Agent - Ekran 1\" width=\"900\"\u003e\u003cbr/\u003e\n  \u003cem\u003eEkran 1\u003c/em\u003e\u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"./A2A-Agent/A2A-Demo-08-22-2025_01_54_PM.png\" alt=\"A2A-Agent - Ekran 2\" width=\"900\"\u003e\u003cbr/\u003e\n  \u003cem\u003eEkran 2\u003c/em\u003e\u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"./A2A-Agent/A2A-Demo-08-22-2025_01_54_PM%20%281%29.png\" alt=\"A2A-Agent - Ekran 3\" width=\"900\"\u003e\u003cbr/\u003e\n  \u003cem\u003eEkran 3\u003c/em\u003e\u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg src=\"./A2A-Agent/A2A-Demo-08-22-2025_01_55_PM.png\" alt=\"A2A-Agent - Ekran 4\" width=\"900\"\u003e\u003cbr/\u003e\n  \u003cem\u003eEkran 4\u003c/em\u003e\u003cbr/\u003e\n\u003c/p\u003e\n\n## 🎥 **Ana Proje: YouTube Video QA Agent**\n\n**En gelişmiş ve güncel proje** - YouTube videolarından transcript çıkarıp akıllı soru-cevap yapabilen modern agent sistemi.\n\n### ✨ **Öne Çıkan Özellikler**\n- 🎬 **YouTube Video İşleme**: Otomatik transcript çıkarma\n- 🧠 **Multi-LLM Support**: LM Studio (yerel) + Google Gemini 2.5\n- 💡 **Ana Fikirler Çıkarımı**: Video'nun 3-5 temel mesajı\n- 🌐 **Modern Streamlit UI**: Web arayüzü + embedded video player\n- 🔍 **Vector Search**: FAISS ile hızlı içerik arama\n- 🇹🇷 **Tam Türkçe Destek**: Arayüz ve çıktılar\n\n### 🚀 **Hızlı Başlangıç**\n```bash\ncd \"Youtube Video - RAG - Agent\"\nstreamlit run streamlit_app.py\n```\n\n📖 **[Detaylı Dokümantasyon →](Youtube%20Video%20-%20RAG%20-%20Agent/README_youtube_qa.md)**\n\n## 🤝 A2A-Agent (Çoklu Ajan Demo)\n\nLM Studio'nun OpenAI uyumlu sunucusunu kullanarak basit bir çoklu ajan (MathAgent, WriterAgent) ve `orchestrator` ile A2A benzeri bir akış sunar.\n\n### 🚀 Hızlı Başlangıç (A2A-Agent)\n```bash\ncd A2A-Agent\n\n# Ayrı terminallerde çalıştırın\npython math_agent.py\npython writer_agent.py\npython orchestrator.py\n```\n\n📖 **[A2A-Agent Dokümantasyonu →](A2A-Agent/README.md)**\n\n---\n\n## 🔧 **LangGraph Örnekleri**\n\nLangGraph kütüphanesi kullanarak çeşitli AI workflow örnekleri:\n\n## Diyagramlar\n\n### 1. Temel Akış (`langraph_basic.py`)\n\n```mermaid\nflowchart LR\n    U[Mesaj] --\u003e LLM[llm_node]\n    LLM --\u003e C{done var mı?}\n    C --\u003e|Hayır| LLM\n    C --\u003e|Evet / MAX_TURN| E[Son]\n```\n\n### 2. Thread / Hafıza (`langraph_stream_memory.py`)\n\n```mermaid\nflowchart TB\n    subgraph T1[Thread 1]\n        Name[Adım Will] --\u003e G1[Graph]\n        G1 --\u003e M1[(Memory)]\n        M1 --\u003e A1[Yanıt 1]\n        A1 --\u003e Recall[Adımı hatırlıyor musun?]\n        Recall --\u003e G1\n    end\n    subgraph T2[Thread 2]\n        Recall2[Adımı hatırlıyor musun?] --\u003e G2[Graph]\n        G2 --\u003e M2[(Memory)]\n        M2 --\u003e A2[Yanıt 2]\n    end\n```\n\n### 3. Persona Branching (`langraph_branch_personas.py`)\n\n```mermaid\nflowchart LR\n    P[Prompt] --\u003e F1[Persona sicak]\n    P --\u003e F2[Persona resmi]\n    P --\u003e F3[Persona egitmen]\n    P --\u003e F4[Persona supheci]\n    F1 --\u003e R1[Yanıt 1]\n    F2 --\u003e R2[Yanıt 2]\n    F3 --\u003e R3[Yanıt 3]\n    F4 --\u003e R4[Yanıt 4]\n    R1 --\u003e COL[Özet Tablo]\n    R2 --\u003e COL\n    R3 --\u003e COL\n    R4 --\u003e COL\n    COL --\u003e DIFF[Diff Analizi]\n```\n\n### 4. Dinamik Sıcaklık (`langraph_dynamic_temperature.py`)\n\n```mermaid\nflowchart LR\n    P2[Prompt] --\u003e CLS[Heuristik Sınıflandırma]\n    CLS --\u003e DYN[LLM dinamik]\n    P2 --\u003e FIX[LLM sabit]\n    DYN --\u003e CMP[Karşılaştırma]\n    FIX --\u003e CMP\n```\n\n## 📁 **Proje Yapısı**\n\n```\nAgents-Denemeler/\n├── 🎥 Youtube Video - RAG - Agent/      # Ana proje (Streamlit UI)\n│   ├── streamlit_app.py                 # Web arayüzü\n│   ├── youtube_qa_agent.py              # Core agent logic\n│   └── README_youtube_qa.md             # Detaylı dokümantasyon\n├── 🔧 Langraph/                         # LangGraph örnekleri\n│   ├── langraph_basic.py               # Temel akış\n│   ├── langraph_stream_memory.py       # Thread tabanlı hafıza\n│   ├── langraph_branch_personas.py     # Persona branching\n│   └── langraph_dynamic_temperature.py  # Dinamik sıcaklık\n├── A2A-Agent/                           # A2A benzeri çoklu ajan demo (LM Studio destekli)\n│   ├── orchestrator.py                  # Basit orkestratör\n│   ├── math_agent.py                    # Basit matematik ajanı\n│   ├── writer_agent.py                  # Yazım ajanı (LM Studio)\n│   ├── embedding_agent.py               # Embedding yardımcıları\n│   ├── ui_streamlit.py                  # Opsiyonel UI\n│   ├── common.py                        # Ortak yardımcılar (LM Studio, JSON-RPC)\n│   ├── README.md\n│   └── logs/                            # Log dosyaları\n└── requirements.txt                     # Ortak bağımlılıklar\n```\n\n## 📋 **LangGraph Betikleri Hakkında**\n\n1. **`langraph_basic.py`** – Temel akış: kullanıcı mesajı → LLM → döngü (\"done\" geçerse durur)\n2. **`langraph_stream_memory.py`** – `InMemorySaver` ile thread tabanlı hafıza (farklı `thread_id` = ayrı geçmiş)\n3. **`langraph_branch_personas.py`** – Aynı prompt'u farklı persona'larla paralel çalıştırıp sonuçları renkli diff / yan yana / kelime farkı ile karşılaştırma\n4. **`langraph_dynamic_temperature.py`** – Prompt türünü sınıflandırıp sıcaklığı (temperature) otomatik seçer; isteğe bağlı sabit sıcaklık karşılaştırması\n\n## 🚀 **Hızlı Başlangıç**\n\n### 🎥 **YouTube QA Agent (Ana Proje)**\n\n```bash\n# Ana projeye git\ncd \"Youtube Video - RAG - Agent\"\n\n# Streamlit uygulamasını başlat\nstreamlit run streamlit_app.py\n```\n\nTarayıcıda `http://localhost:8501` açılır.\n\n### 🔧 **LangGraph Örnekleri (Windows cmd.exe)**\n\n#### Ortam Kurulumu\nSanal ortamını (örn. `.venv`) aktifleştir ve gerekli ortam değişkenlerini ayarla:\n\n```cmd\nset LG_BASE_URL=http://127.0.0.1:1234/v1\nset LG_API_KEY=lm-studio\nset LG_MODEL=google/gemma-3n-e4b\n```\n\n#### Paket Kurulumu\n```cmd\npip install -r requirements.txt\n```\n\n#### Temel Örneği Çalıştırma\n```cmd\ncd Langraph\npython langraph_basic.py\n```\n\n### Genel Özellikler\n\n- Ortam değişkeni ile yapılandırma (model, base URL, API key)\n- Geçici bağlantı hatalarına yeniden deneme (retry)\n- Mesaj rolleri doğru eşleme (user / assistant / system / tool)\n- Maksimum tur sınırı (sonsuz döngü engeli)\n- Günlük (logging) ile izlenebilirlik\n\n## Thread / Hafıza Örneği\n\n**Betik:** `langraph_stream_memory.py`\n\n**Amaç:** Aynı uygulamada farklı oturumları (thread) izole etmek. `thread_id=1` kullanıcının ismini hatırlar, `thread_id=2` temiz başlar.\n\n**Çalıştır:**\n```cmd\npython langraph_stream_memory.py\n```\n\n## Persona Branching (Karşılaştırmalı) Örneği\n\n**Betik:** `langraph_branch_personas.py`\n\n**Ne yapar:** Tek bir prompt'u tanımlı persona'lara paralel yollayıp çıktıların:\n- Bir özet tablosunu\n- Seçilen moda göre farklarını\n\ngösterir.\n\n### Diff Modları (`--diff-mode`)\n\n- `unified` : Klasik satır bazlı (eklenen yeşil, silinen kırmızı)\n- `side` : Yan yana satırlar\n- `words` : Kelime düzeyinde eklenen / silinen\n- `all` : Hepsi birden\n\n### Diğer Bayraklar\n\n- `--no-diff` : Farkları gösterme (sadece özet tablo)\n- `--strict-turkish` : İngilizce sızıntısı varsa uyarı\n- `--max-preview-chars N` : Özet tablo kesme uzunluğu\n\n### Örnek Kullanım\n\n```cmd\npython langraph_branch_personas.py --prompt \"Kısa bir motivasyon cümlesi yaz\" --diff-mode side --strict-turkish\n```\n\n**Persona kimlikleri (Türkçe üretim):** `sicak`, `resmi`, `egitmen`, `supheci`\n\n## Dinamik Sıcaklık (Temperature) Örneği\n\n**Betik:** `langraph_dynamic_temperature.py`\n\n**Mantık:** Prompt içeriğini heuristiklerle sınıflandırır:\n- çeviri / yaratıcı / akıl yürütme / kod / faktüel / genel\n\nve buna göre bir sıcaklık seçer. İstersen sabit sıcaklıkla karşılaştırma yapar.\n\n### Örnek Kullanım\n\n```cmd\npython langraph_dynamic_temperature.py --prompt \"Kısa bir motivasyon cümlesi yaz\" --show-rationale --compare\n```\n\n### Bayraklar\n\n- `--show-rationale` : Sınıflandırma gerekçesini yazdır\n- `--compare` : Dinamik vs sabit çıktı\n- `--fixed-temperature 0.7` : Karşılaştırma için sabit değer\n\n## Yerel Model Kullanmıyorsanız\n\n`LG_BASE_URL` değerini erişilebilir bir OpenAI-uyumlu son noktaya yönlendirin (örn. bir bulut servis ya da LM Studio). `LG_API_KEY` değerini de o servisin anahtarıyla değiştirin.\n\n## 🌟 **Önerilen Geliştirmeler**\n\n### 🎥 **YouTube QA Agent**\n- [x] ✅ **Streamlit UI** - Tamamlandı\n- [x] ✅ **Ana Fikirler Çıkarımı** - Tamamlandı  \n- [x] ✅ **Multi-LLM Support** - Tamamlandı\n- [ ] 🔄 **A2A Protocol Entegrasyonu** - Devam ediyor\n- [ ] 📊 **Video Timeline Navigation**\n- [ ] 📤 **Export Features** (PDF/Word)\n- [ ] 🌍 **Multi-language Support**\n\n### 🔧 **LangGraph Örnekleri**\n- [ ] 💾 Kalıcı hafıza (SQLite / dosya) ekleme\n- [ ] 🔍 Vektör hafıza \u0026 özetleme\n- [ ] 📝 JSON/CSV çıktı loglama\n- [ ] 🚀 FastAPI arayüzü\n- [ ] 📋 Persona tanımlarını harici YAML'den yükleme\n\n## 🤝 **Katkıda Bulunma**\n\n### 🎯 **Nasıl Katkıda Bulunurum?**\n1. **Fork yapın** ve feature branch oluşturun\n2. **Kod değişikliklerinizi** commit edin\n3. **Pull Request** açın\n4. **Issue'lar** açarak özellik önerilerinde bulunun\n\n### 📋 **Katkı Alanları**\n- 🐛 **Bug Fixes**: Hata düzeltmeleri\n- ✨ **New Features**: Yeni özellikler\n- 📚 **Documentation**: Dokümantasyon iyileştirmeleri\n- 🎨 **UI/UX**: Arayüz geliştirmeleri\n- 🧪 **Testing**: Test senaryoları\n\n### 🔧 **Geliştirme Ortamı**\n- **Python 3.8+** gerekli\n- **Virtual environment** kullanımı önerilir\n- **Code formatting**: Black, isort kullanın\n\n---\n\n## 📝 **Notlar**\n\n- **Windows cmd.exe**: `set DEGISKEN=\"deger\"` formatı\n- **PowerShell**: `$env:DEGISKEN=\"deger\"` formatı  \n- **Linux/Mac**: `export DEGISKEN=\"deger\"` formatı\n\n## 🏷️ **Teknoloji Stack**\n\n- **🐍 Backend**: Python, LangGraph, LangChain\n- **🤖 LLM**: LM Studio, Google Gemini\n- **🌐 Frontend**: Streamlit, HTML/CSS\n- **🔍 Vector DB**: FAISS\n- **📹 Video**: YouTube Transcript API, PyTube","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femredeveloper%2Fagents-notebooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femredeveloper%2Fagents-notebooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femredeveloper%2Fagents-notebooks/lists"}