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
Tamamlanmış araştırma asistanının demosu Ücretsiz
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
Proje klasörünü ve sanal ortamı (virtual environment) hazırlamak Beyond Pass
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
Bir LLM Seçmek ve API Anahtarlarını Yüklemek Beyond Pass
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
Pydantic şeması ve istem şablonu tanımlamak Beyond Pass
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
Araç çağıran agent'ı ve executor'ı oluşturma Beyond Pass
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
[38] Parsing agent output and handling errors Beyond Pass
[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
Ajanına bir arama aracı ver (DuckDuckGo) Beyond Pass
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
[29] Adding the Wikipedia tool to your agent Beyond Pass
[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
Kendi dosyaya kaydetme aracını yazmak Beyond Pass
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.
Dersin komutlarını yaz, boz ve nedenini gör.
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
- 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. Göreceğin: Program ne araştırmak istediğinizi sorar ve metninizi bekler.
$ python main.py What should I research?
- 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.
- 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.
- 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
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
- Düz bir model, zaten bildiklerinden yanıt verir.
- Bir ajan, işi sırasında araçları (örneğin Wikipedia araması veya dosyaya kaydetme fonksiyonu) çağırabilir.
- 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.
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
- Invoking, ajanın bir aracı çağırdığı anlamına gelir.
- Invoking kelimesinden sonra gelen ad wikipedia, yani araç budur.
- query değeri Alan Turing, yani arama terimi budur.
Ajan wikipedia aracını seçti ve Alan Turing için arama yaptı.
Ş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
- Kara delikler hakkında bilgi bulmak için arama aracı gerekir: wikipedia.
- Sonucu dosyaya kaydetmek için saveTextToFile aracı gerekir.
- 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
'Invoking: wikipedia with {query: LangChain framework}' satırı neyi gösterir?
- Ajan işini bitirdi ve programı kapatıyor
- Ajan Wikipedia aracını seçti ve ona bir arama sorgusu gönderdi
- research_output.txt dosyası silindi
- 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ı izleDemodaki son yapılandırılmış çıktının parçası hangisidir?
- Topic (Konu), Summary (Özet), Sources (Kaynaklar) ve Tools Used (Kullanılan Araçlar)
- Python paket sürümlerinin listesi
- main.py dosyasının kaynak kodu
- 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ı izleKaydedilen araştırma nereye gider?
- Yalnızca terminal geçmişinde kalır ve sonra kaybolur
- Proje klasöründeki research_output.txt adlı bir metin dosyasına
- Videonun yazarına ait uzak bir sunucuda
- 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ı izleBu derste araç (tool) nedir?
- Modelin ne zaman çağıracağını seçtiği, sana verdiğin bir fonksiyon
- Terminalde kendin bastığın bir düğme
- Bir Python hata mesajı türü
- 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
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
