Dersler · Kodlama · başlangıç · Tech With Tim

Python ile Sıfırdan Bir Yapay Zeka Ajanı Oluşturun - Yeni Başlayanlar için Eğitim

Tech With Tim kanalının “Build an AI Agent From Scratch in Python - Tutorial for Beginners” videosu 9 ders halinde: konunun anlatımı, ekrandaki kod, alıştırma terminalinde denenecek adımlar, çözümlü alıştırmalar ve cevabı videodaki ana götüren bir quiz.

9ders
17kod parçası
24alıştırma
31soru
34dk video
Derslere git →1. ders ücretsiz · Beyond Pass hepsini açar

Diğer dillerde: English · Español

Video İngilizce. YouTube oynatıcısında altyazıyı açıp Otomatik çevir → Türkçe seçebilirsin.

Build an AI Agent From Scratch in Python - Tutorial for Beginners, video by Tech With Tim▶ 34:19 · Tech With Tim
123456789
0:00videonun tamamına yayılmış 9 ders34:19

Neler yapabileceksin

  • Python sanal ortamı oluşturun ve bir gereksinimler dosyasından LangChain bağımlılıklarını kurun
  • OpenAI veya Anthropic'ten bir sohbet modelini, .env dosyasında saklanan API anahtarlarıyla bağlayın
  • LLM'nin yapılandırılmış ve öngörülebilir çıktı vermesi için bir Pydantic şeması ve bir ayrıştırıcı tanımlayın
  • AgentExecutor ile bir araç çağıran ajan oluşturun ve kullanıcı girdisinden çalıştırın
  • DuckDuckGo aramasını, Wikipedia sorgusunu ve özel bir Python fonksiyonunu ajan araçları olarak sarmalayın
  • Ayrıştırma hatalarını ele alın ve yapılandırılmış ajan sonuçlarını bir metin dosyasına kaydedin

Önce bilmen iyi olur

  • Python 3.10 veya daha yeni bir sürüm kurulu olmalı; sınıflar ve fonksiyonlar gibi temel Python sözdizimini bilmelisiniz
  • Terminalde komut çalıştırmaya ve VS Code gibi bir kod editörü kullanmaya aşina olmalısınız
  • LLM API'sinin ne olduğunu ve nasıl çağrıldığını temel düzeyde bilmelisiniz
  • OpenAI veya Anthropic hesabı ve bir API anahtarı

Müfredat

9 ders ve bir final projesi

  1. 1

    Tamamlanmış araştırma asistanının demosu Ücretsiz

    0:00–1:352 dk video

    Bu derste, bitmiş yapay zeka araştırma asistanının terminalde çalıştığını görürsünüz: bir konu yazarsınız, ajan Wikipedia'da arama yapar, bir özeti dosyaya kaydeder ve yapılandırılmış bir rapor yazdırır. Bu ders, inşa etmeden önce hedefin ne olduğunu bilmeniz için bitmiş ajanın ne yaptığını gösterir.

    4 adım3 alıştırma4 soru
  2. 2

    Proje klasörünü ve sanal ortamı (virtual environment) hazırlamak Beyond Pass

    1:35–6:555 dk video

    Proje klasörü oluşturacak, ajanın ihtiyaç duyduğu Python paketlerini bir requirements.txt dosyasında listeleyecek ve bunları kuracağın yalıtılmış bir sanal ortam (venv) oluşturacaksın. Sonunda terminalinde (venv) ön eki görünecek ve paketler kurulmuş olacak.

    5 kod5 adım3 alıştırma3 soru
  3. 3

    Bir LLM Seçmek ve API Anahtarlarını Yüklemek Beyond Pass

    6:55–12:306 dk video

    Bu bölümde main.py dosyasını, bir dil modeli oluşturacak (OpenAI'ın veya Anthropic'in Claude modeli), gizli API anahtarını bir .env dosyasında güvenle saklayacak ve ilk test çağrısını yapacak şekilde ayarlayacaksın. Bölüm, ajanının bir yapay zeka modeliyle konuşabilmesi için her parçanın nasıl bağlandığını gösterir.

    2 kod5 adım3 alıştırma3 soru
  4. 4

    Pydantic şeması ve istem şablonu tanımlamak Beyond Pass

    12:30–16:404 dk video

    Bir agent'tan ne tür bir yanıt istediğini tarif eden bir Pydantic sınıfı tanımlayacaksın ve modelin bu yapıya uymasını söyleyen bir istem şablonu oluşturacaksın. Bu ikisi birlikte, modelin çıktısını kodunun normal bir Python nesnesi gibi kullanabileceği kadar öngörülebilir hale getirir.

    1 kod4 adım3 alıştırma3 soru
  5. 5

    Araç çağıran agent'ı ve executor'ı oluşturma Beyond Pass

    16:40–20:574 dk video

    Format talimatlarını partial() ile dolduracak, create_tool_calling_agent ile bir araç çağıran agent kuracak ve ham bir yanıt almak için onu bir AgentExecutor ile çalıştıracaksın. Önceki adımlardaki parçaların (LLM, parser, prompt) tek bir çalışan agent'ta birleştiği nokta burasıdır.

    1 kod5 adım2 alıştırma4 soru
  6. 6

    [38] Parsing agent output and handling errors Beyond Pass

    20:57–23:373 dk video

    [39] You will pull the text out of the agent's raw response, turn it into a typed Python object with a parser, and wrap that step in try/except so a bad model reply produces a readable error instead of a crash. You will then read fields like topic straight off the result.

    2 kod3 adım4 alıştırma3 soru
  7. 7

    Ajanına bir arama aracı ver (DuckDuckGo) Beyond Pass

    23:37–28:535 dk video

    Bir AI ajanı için aracın ne olduğunu öğreneceksin ve ücretsiz DuckDuckGo aramasını, ajanın çağırabileceği adlandırılmış ve açıklamalı bir Tool olarak nasıl saracağını göreceksin. Ardından bu aracı ajana verip canlı web araması gerektiren bir soru soracaksın.

    2 kod4 adım2 alıştırma4 soru
  8. 8

    [29] Adding the Wikipedia tool to your agent Beyond Pass

    28:53–30:552 dk video

    [30] You learn how to create a Wikipedia tool with WikipediaAPIWrapper and WikipediaQueryRun, configure how much it returns, and hand it to the agent's tools list. You also see how the agent chooses between the search tool and the Wikipedia tool.

    2 kod5 adım2 alıştırma3 soru
  9. 9

    Kendi dosyaya kaydetme aracını yazmak Beyond Pass

    30:55–34:193 dk video

    Herhangi bir sıradan Python fonksiyonunun, tiplerini belirtip bir ad ve açıklamayla sarmalayarak, agent'ın çağırabileceği bir araca nasıl dönüşebileceğini öğreneceksin. Ardından agent'a yeni kaydetme aracını verip bir konuyu araştırıp sonucu bir dosyaya yazmasını izleyeceksin.

    2 kod5 adım2 alıştırma4 soru

Final projesi

Build Your Own Research Assistant Agent

Terminal için sıfırdan bir araştırma asistanı oluştur. Bir konu alır, bir web arama aracı, bir Wikipedia aracı ve özel bir dosyaya kaydetme aracı kullanır ve yapılandırılmış bir rapor yazdırır. Bu, kurstaki ortam kurulumu, LLM bağlantısı, Pydantic ayrıştırma, araçlar ve hata yönetimini bir araya getirir.

7 görev Beyond Pass ile açılır.

Ücretsiz önizleme · 1. dersin tamamı

Tamamlanmış araştırma asistanının demosu

Bu derste, bitmiş yapay zeka araştırma asistanının terminalde çalıştığını görürsünüz: bir konu yazarsınız, ajan Wikipedia'da arama yapar, bir özeti dosyaya kaydeder ve yapılandırılmış bir rapor yazdırır. Bu ders, inşa etmeden önce hedefin ne olduğunu bilmeniz için bitmiş ajanın ne yaptığını gösterir.

0:00 videoda 1:35 anına kadar

Alıştırma terminali

Dersin komutlarını yaz, boz ve nedenini gör.

Karalama defteri

Videonun yanında çiz ve yaz.

Fikir

Bu bölüm bir önizlemedir. Tech With Tim, projeyi inşa etmeden önce bitmiş halini gösterir ki neyi hedeflediğinizi bilin. Proje bir araştırma asistanıdır: sizden bir soru alan, bilgi arayan ve düzenli bir yanıt veren bir programdır.

Program, What should I research? (Ne araştırmalıyım?) diye sorarak başlar. Düz İngilizce bir istek yazarsınız, örneğin: Tell me about LangChain and its applications and save it to a file. İsteğinizde hiçbir araç adı geçmez. Ajanın hangi araçları kullanacağına kendisi karar vermelidir.

Ajan çalışırken terminalde adımlarını görürsünüz. Entering new AgentExecutor chain... satırı ajanın başladığı anlamına gelir. Ardından Invoking: wikipedia satırı yazılır; bu, ajanın Wikipedia aracını seçtiğini ve LangChain framework gibi bir arama terimi verdiğini gösterir. Daha sonra sonucu diske yazmak için saveTextToFile aracını çağırır. Yalnızca son yanıtı istiyorsanız bu adım adım görünümü kapatabilirsiniz.

Son çıktı yapılandırılmıştır. Topic (Konu), Summary (Özet), kullanılan Sources (Kaynaklar) ve Tools Used (Kullanılan Araçlar) bölümlerini içerir. Video ayrıca proje klasöründe research_output.txt adlı bir dosyanın oluştuğunu gösterir. Bu dosya araştırma metnini, bir zaman damgasını ve içeriği tutar; böylece sonuç daha sonra kullanılmak üzere saklanır.

Temel fikir şudur: ajan, Claude ya da GPT gibi bir dil modelidir; size verilen araçları çağırabilir, sonuçlarını okuyabilir ve bir yanıt bulana kadar devam edebilir. Demo küçüktür, ancak aynı örüntü çok daha fazla aracı destekleyebilir.

Ana noktalar

  • Ajan, düz İngilizce bir isteği alır ve hangi araçları kullanacağına kendi başına karar verir. 0:26
  • Invoking: wikipedia, ajanın bir aracı arama sorgusuyla çağırdığını gösterir. 0:48
  • Son yanıt yapılandırılmıştır: Topic (Konu), Summary (Özet), Sources (Kaynaklar) ve Tools Used (Kullanılan Araçlar). 1:06
  • Ajan, sonucunu özel saveTextToFile aracını kullanarak zaman damgalı bir metin dosyasına da kaydeder. 1:12
  • Araç, modele verdiğiniz bir fonksiyondur; modeli ne zaman ve nasıl çağıracağına model karar verir. 1:30

Bilmen gereken kelimeler

AI ajanı
Modelin araçları çağırabildiği, sonuçlarını okuduğu ve bir yanıt bulana kadar devam ettiği dil modeli.
Araç
Modele verdiğiniz bir fonksiyon; örneğin Wikipedia araması ya da dosyaya kaydetme fonksiyonu.
Dil modeli
İsteğinizi anlayan ve ne yapacağına karar veren yapay zeka (örneğin Claude veya GPT).
Sorgu
Ajanın bir araca gönderdiği arama metni; örneğin LangChain framework.

Alıştırma terminalinde birlikte yap

  1. Proje klasörünüzde (main.py dosyasının bulunduğu klasörde) bir terminal açın ve programı python main.py komutuyla çalıştırın.
    $ python main.py
    What should I research?
    Göreceğin: Program ne araştırmak istediğinizi sorar ve metninizi bekler.
  2. Bir araştırma isteği yazın ve Enter tuşuna basın. Kaydetme aracının kullanılması için bir dosyaya kaydedilmesini isteyin. Göreceğin: Ajan çalışmaya başlar ve ilk adımını yazdırır.
  3. Hangi aracın adını içeren Invoking satırına dikkat edin, örneğin wikipedia, ve gönderdiği sorguyu okuyun. Göreceğin: Ajanın hangi aracı seçtiğini ve neyi aradığını görebilirsiniz.
  4. Zincir bittiğinde, Topic (Konu), Summary (Özet), Sources (Kaynaklar) ve Tools Used (Kullanılan Araçlar) bölümlerinden oluşan raporu okuyun. Göreceğin: Temiz bir rapor alırsınız ve proje klasörünüzde research_output.txt dosyası belirir.

Alıştırma

Açıkla Çözümü kontrol edildi

Kendi cümlelerinizle açıklayın: Bir AI ajanı, normal bir sohbet botunun yanıtının yapamadığı neyi yapar?

İpucu

Araçları düşünün: Ajan kendi başına neler yapabilir ki, bellekten yanıt veren bir model yapamaz?

Çözüm
  1. Düz bir model, zaten bildiklerinden yanıt verir.
  2. Bir ajan, işi sırasında araçları (örneğin Wikipedia araması veya dosyaya kaydetme fonksiyonu) çağırabilir.
  3. Araç sonuçlarını okur ve son yanıtı verebilene kadar bir sonraki adıma karar verir.

Bir ajan Wikipedia'da arama yapmak veya dosya kaydetmek gibi araçları çağırabilir, sonuçları okuyabilir ve sonraki adıma karar verebilir; düz bir sohbet botu ise yalnızca kendi bilgisinden yanıt verir.

Açıkla Çözümü kontrol edildi

Terminalde şu satır görünüyor: Invoking: `wikipedia` with `{'query': 'Alan Turing'}`. Ajan hangi aracı seçti ve neyi aradı?

İpucu

Invoking kelimesinden sonra gelen kelime araçtır. Query ise bu araca gönderilen metindir.

Çözüm
  1. Invoking, ajanın bir aracı çağırdığı anlamına gelir.
  2. Invoking kelimesinden sonra gelen ad wikipedia, yani araç budur.
  3. query değeri Alan Turing, yani arama terimi budur.

Ajan wikipedia aracını seçti ve Alan Turing için arama yaptı.

Açıkla Çözümü kontrol edildi

Şunu yazarsınız: Tell me about black holes and save it to a file. İsteğinizde hiçbir araç adı geçmiyor. Demodaki iki araçtan hangileri ajanın ihtiyaç duyacağı araçlardır ve neden?

İpucu

Biri bilgi bulur, diğeri sonucu saklar.

Çözüm
  1. Kara delikler hakkında bilgi bulmak için arama aracı gerekir: wikipedia.
  2. Sonucu dosyaya kaydetmek için saveTextToFile aracı gerekir.
  3. Ajan bunu isteğinizden kendisi çıkarır; araçların adını siz belirtmezsiniz.

wikipedia (kara delikleri aramak için) ve saveTextToFile (sonucu dosyaya kaydetmek için).

Karalama defterinde

Basit bir kutu diyagramı çizin: Siz (soru) -> Ajan (dil modeli) -> Araçlar (Wikipedia, dosyaya kaydetme) -> Son rapor. Her oktun üzerine o okta ne aktarıldığını yazın.

Test

  1. 'Invoking: wikipedia with {query: LangChain framework}' satırı neyi gösterir?

    1. Ajan işini bitirdi ve programı kapatıyor
    2. Ajan Wikipedia aracını seçti ve ona bir arama sorgusu gönderdi
    3. research_output.txt dosyası silindi
    4. Dil modeli çöktü
    Cevabı göster

    B. Ajan Wikipedia aracını seçti ve ona bir arama sorgusu gönderdi · Invoking, ajanın bir aracı çağırdığı anlamına gelir. Burada wikipedia aracı LangChain framework sorgusuyla çağrılmış.

    0:53 o anı izle
  2. Demodaki son yapılandırılmış çıktının parçası hangisidir?

    1. Topic (Konu), Summary (Özet), Sources (Kaynaklar) ve Tools Used (Kullanılan Araçlar)
    2. Python paket sürümlerinin listesi
    3. main.py dosyasının kaynak kodu
    4. Yanıt sürelerinin bir grafiği
    Cevabı göster

    A. Topic (Konu), Summary (Özet), Sources (Kaynaklar) ve Tools Used (Kullanılan Araçlar) · Son raporda bir Konu (Topic), bir Özet (Summary), kullandığı Kaynaklar (Sources) ve Kullanılan Araçlar (Tools Used) bulunur.

    1:06 o anı izle
  3. Kaydedilen araştırma nereye gider?

    1. Yalnızca terminal geçmişinde kalır ve sonra kaybolur
    2. Proje klasöründeki research_output.txt adlı bir metin dosyasına
    3. Videonun yazarına ait uzak bir sunucuda
    4. Yalnızca Python yorumlayıcısının belleğinde
    Cevabı göster

    B. Proje klasöründeki research_output.txt adlı bir metin dosyasına · saveTextToFile aracı, zaman damgası dahil içeriği proje klasöründeki research_output.txt dosyasına yazar.

    1:12 o anı izle
  4. Bu derste araç (tool) nedir?

    1. Modelin ne zaman çağıracağını seçtiği, sana verdiğin bir fonksiyon
    2. Terminalde kendin bastığın bir düğme
    3. Bir Python hata mesajı türü
    4. Cevabın kaydedildiği metin dosyası
    Cevabı göster

    A. Modelin ne zaman çağıracağını seçtiği, sana verdiğin bir fonksiyon · Araç (tool), ajanın çağırabileceği bir fonksiyondur; örneğin bir Wikipedia araması ya da bir dosyaya kaydetme gibi. Modelin onu ne zaman ve nasıl kullanacağına model karar verir.

    1:30 o anı izle

1. dersi videoyla aç →

2–9. dersler ve final projesi

Beyond Pass ile açılırlar: her kursun her dersi, eksiksiz. Tek ödeme: 90 gün için $14.99 ya da bir yıl için $29. Abonelik yok.

Beyond, Tech With Tim kanalının “Build an AI Agent From Scratch in Python - Tutorial for Beginners” videosundan yaptı. Video YouTube’un kendi oynatıcısında oynar. YouTube’da izle · Bütün dersler