Dersler · Kodlama · orta · Tech With Tim

Yerel bir Yapay Zeka Ajanı Nasıl Python ile Oluşturulur (Ollama, LangChain ve RAG)

Tech With Tim kanalının “How to Build a Local AI Agent With Python (Ollama, LangChain & RAG)” videosu 7 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.

7ders
8kod parçası
17alıştırma
21soru
28dk 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.

How to Build a Local AI Agent With Python (Ollama, LangChain & RAG), video by Tech With Tim▶ 28:08 · Tech With Tim
1234567
0:00videonun tamamına yayılmış 7 ders28:08

Neler yapabileceksin

  • Yalıtılmış bir Python sanal ortamı oluştur ve LangChain, Ollama ile Chroma bağımlılıklarını yükle
  • Ollama ile yerel bir LLM çalıştır ve LangChain prompt zinciriyle Python'dan çağır
  • Kullanıcı girdisini bir model zincirinden geçiren etkileşimli bir soru döngüsü oluştur
  • CSV satırlarını yerel bir gömme modeli kullanarak kalıcı bir Chroma vektör deposuna belge olarak göm
  • Getirilen belgeleri, model cevap vermeden önce prompt'a ekleyerek retrieval-augmented generation uygula

Önce bilmen iyi olur

  • Fonksiyonlar, döngüler ve sözlükler dahil temel Python sözdizimi
  • Terminal ve komut satırını rahat kullanabilmek
  • VS Code veya başka bir kod editörüne aşinalık
  • CSV dosyalarının temel bir kavrayışı

Müfredat

7 ders

  1. 1

    Tamamlanmış yerel inceleme asistanının demosu Ücretsiz

    0:00–2:012 dk video

    Bitmiş uygulamaya ilk bakışı alıyorsun: CSV'deki restoran yorumlarını okuyarak soruları yanıtlayan bir terminal programı. Tamamen kendi bilgisayarında çalışır, ücretli bir bulut hesabı gerekmez.

    2 kod2 adım1 alıştırma3 soru
  2. 2

    Proje klasörünü ve sanal ortamı kur Beyond Pass

    2:01–4:333 dk video

    Bir proje klasörü oluşturacak, içinde yalıtılmış bir Python sanal ortamı yapacak, onu etkinleştirecek ve ajanın ihtiyaç duyduğu kütüphaneleri kuracaksın. Bunu önce kurmak, projenin paketlerini bilgisayarındaki diğer her şeyden ayrı tutar.

    1 kod6 adım2 alıştırma3 soru
  3. 3

    Ollama'yı kurun ve bir sohbet modeli ile bir gömme (embedding) modeli indirin Beyond Pass

    4:33–7:033 dk video

    Yerel bilgisayarınızda AI modelleri çalıştıran Ollama'yı kurarsınız ve sonra iki model indirirsiniz: bir sohbet modeli (llama3.2) ve bir gömme modeli (mxbai-embed-large). Kod yazmadan önce ikisinin de kullanılabilir olduğunu doğrulayın.

    1 kod4 adım2 alıştırma3 soru
  4. 4

    [47] LangChain prompt zinciriyle yerel bir modeli çağır Beyond Pass

    7:03–13:357 dk video

    [48] Bu derste, LangChain kullanarak bir Python betiğini Ollama üzerinden bilgisayarında çalışan bir modele bağlayacaksın. Yer tutucuları olan bir prompt şablonu yazacak ve onu çağrılabilir bir zincir halinde modele bağlayacaksın.

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

    [44] Etkileşimli bir soru döngüsü ekle Beyond Pass

    13:35–14:501 dk video

    [45] Kullanıcı q yazana kadar soru sorabilmesi için zinciri bir while True döngüsünün içine alacaksın. input(), break ve chain.invoke() birlikte nasıl çalışarak basit bir soru-cevap programı oluşturur, bunu öğreneceksin.

    1 kod6 adım3 alıştırma3 soru
  6. 6

    Load the CSV and build a persistent Chroma vector store Beyond Pass

    14:50–23:259 dk video

    You will turn each row of a restaurant-reviews CSV into a Document, convert the text into vectors with a local Ollama embedding model, and store them in a persistent Chroma database that is built only once. You will also see why IDs, metadata and a "does the database already exist?" check matter.

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

    [30] Bir retriever oluştur ve RAG'i zincire bağla Beyond Pass

    23:25–28:085 dk video

    [31] Chroma vektör deposunu, bir soru için en ilgili yorumları getiren bir retriever'a dönüştürürsün. Ardından bu yorumları prompt'a geçirirsin; böylece yerel LLM cevabını kendi verilerini kullanarak verir.

    1 kod5 adım3 alıştırma3 soru

Ücretsiz önizleme · 1. dersin tamamı

Tamamlanmış yerel inceleme asistanının demosu

Bitmiş uygulamaya ilk bakışı alıyorsun: CSV'deki restoran yorumlarını okuyarak soruları yanıtlayan bir terminal programı. Tamamen kendi bilgisayarında çalışır, ücretli bir bulut hesabı gerekmez.

0:00 videoda 2:01 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. Kod yazılmadan önce video bitmiş ürünü gösterir, böylece neyi inşa ettiğini bilirsin. Uygulama komut satırından çalıştırılan küçük bir Python programıdır. Sana bir soru sorar, sahte pizza restoranı yorumlarından oluşan bir dosyaya bakar ve bulduklarını kullanarak yanıt verir.

Veriler realistic_restaurant_reviews.csv adlı bir CSV dosyasında bulunur. CSV, her satırın bir satır, sütunların ise virgüllerle ayrıldığı düz bir metin tablosudur. Burada sütunlar Title, Date, Rating ve Review'dır. Bir yorum 'Şehrin en iyi pizzası' başlığını, bir tarihi, beşe üzerinden bir puanı ve pizzayı anlatan uzun bir metni içerebilir.

Uygulamanın arkasındaki fikir, genellikle RAG olarak kısaltılan retrieval-augmented generation (geri getirmeyle zenginleştirilmiş üretim). Program önce sorunla ilgili yorumları dosyadan bulup getirir, sonra bu yorumları cevabı yazan bir dil modeline verir. Model bu restoran hakkında önceden bir şey bilmek zorunda değildir; yalnızca aramanın bulduğu parçaları görür.

Araçların hepsi ücretsiz ve yerel olarak çalışır. Videoda, makinende bir dil modeli çalıştırmak için Ollama, parçaları birbirine bağlamak için LangChain ve ilgili yorumları bulan bir vektör veritabanı olarak ChromaDB kullanılıyor. OpenAI hesabı ya da bulut hizmeti gerekmez.

Demoda kullanıcı 'pizzanın kalitesi nasıl?' diye sorar. Ajan eşleşen yorumları getirir ve yanıtın yalnızca yorumlardan zor puanlanabileceğini belirten bir sonuç yazar. Ardından kullanıcı 'vegan seçenek var mı?' diye sorar ve ajan, bir yorumda geçen vegan pizzayı işaret eder ve yorumun meta verisini alıntılar. Yanıt dosyadaki yorumlara bağlıdır, dolayısıyla yalnızca verisi kadar iyidir.

Ana noktalar

  • Bitmiş uygulama, yerel bir CSV dosyasındaki restoran yorumları hakkındaki soruları yanıtlar. 0:00
  • RAG, bir modelin cevap vermeden önce bir dosyadan ilgili bilgiyi bulup modele vermesi anlamına gelir. 0:12
  • Her şey ücretsizdir ve kendi bilgisayarında çalışır: OpenAI ya da bulut hesabı gerekmez. 0:24
  • Araçlar Ollama (yerel model), LangChain (parçaları bağlar) ve ChromaDB (vektör arama veritabanı). 0:36
  • Uygulama komut satırından python main.py ile çalıştırılır ve sen q yazana kadar soru sormaya devam eder. 0:59

Ekrandaki kod

realistic_restaurant_reviews.csv (ekranda ilk satırlar gösteriliyor)text
Title,Date,Rating,Review
Best pizza in town,2024-03-15,5,"The crust was perfectly crispy on the outside and chewy inside. Their signature pepperoni pizza had the perfect ratio of sauce to cheese, and the pepperoni curled up into little cups of deliciousness. Will definitely be back!"
Disappointed with service,2024-02-20,2,"While the pizza itself was decent, we waited over an hour for delivery despite being told it would be 30 minutes. When it finally arrived, it was barely warm. The flavors were good but the experience ruined it."

Satırları görmek için dosyayı herhangi bir metin editöründe aç; bu bölüm için çalıştırılacak kod yok.

Uygulamayı çalıştırmaktext
C:\Users\User\Desktop\Local Ai Agent>python main.py

--------------------
Ask your question here (q to quit):

Proje klasörünün içindeki bir terminalde python main.py yaz ve Enter'a bas.

Alıştırma terminalinde birlikte yap

  1. Bir terminal aç ve proje klasörüne geç (videoda Masaüstünde Local Ai Agent adlı bir klasör kullanılıyor).
    $ cd Desktop
    C:\Users\User>cd Desktop
    C:\Users\User\Desktop>
    Göreceğin: Komut istemi artık Masaüstü klasörünü gösteriyor.
  2. Uygulamayı python main.py ile çalıştır. Video bunu bir önizleme olarak gösterir, bu yüzden dosyaya henüz sahip olmayabilirsin; bu adım, bitmiş programın başladığında nasıl göründüğünü gösterir.
    $ python main.py
    --------------------
    Ask your question here (q to quit):
    Göreceğin: Program bir satır tire işareti yazar ve sorunu bekler.

Bilerek boz

Practice terminal
$ python main.py
python: can't open file 'main.py': [Errno 2] No such file or directory
Neden: Python yalnızca bulunduğun klasörde var olan bir dosyayı çalıştırabilir. main.py dosyasının kaydedildiği proje klasörüne cd ile geçtiğinden emin ol.
Practice terminal
$ cd Local Ai Agent
The system cannot find the path specified.
Neden: Boşluk içeren klasör adları tırnak içine alınmalıdır, bu yüzden cd "Local Ai Agent" kullan.

Dikkat

  • Uygulama genel amaçlı bir sohbet botu değildir: cevapları dosyadaki yorumlardan verir, bu yüzden yorumların kapsamadığı sorulara zayıf cevaplar alırsın. 0:24
  • Yerel modeller kendi donanımında çalışır, bu yüzden yanıtlar bir bulut hizmetine göre daha yavaş olabilir. 0:59

Alıştırma

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

Retrieval augmented generation'ın ne anlama geldiğini, pizza yorumlarını örnek alarak kendi cümlelerinle açıkla.

Çözüm
  1. Retrieval (geri getirme): Soruyla eşleşen yorumları CSV'de bul; örneğin vegan geçen yorumlar.
  2. Augmented generation (zenginleştirilmiş üretim): Bu yorumları dil modeline ver, böylece model cevabını onlara dayanarak yazsın.

RAG önce bir belgede soruyla ilgili parçaları arar (retrieval), sonra bu parçaları cevabı yazan bir dil modeline verir (generation). Örneğin vegan seçenekler sorulduğunda, uygulama vegan yemekten bahseden yorumları bulur ve model cevabını bunlara dayanarak verir.

Karalama defterinde

Kağıdına üç kutu çiz ve bunları 'CSV yorumları', 'İlgili yorumlar' ve 'Model cevabı' diye etiketle; aralarına oklar koy. Her okun altına, orada olan biteni anlatan bir cümle yaz.

Test

  1. Uygulama restoran hakkındaki soruları yanıtlamak için neyi kullanır?

    1. Yalnızca kendi yerleşik pizza bilgisini
    2. CSV'den getirilen ilgili yorumları, bir modele verilmiş olarak
    3. Ücretli bir OpenAI bulut hesabını
    4. İnternette bir web araması yapmayı
    Cevabı göster

    B. CSV'den getirilen ilgili yorumları, bir modele verilmiş olarak · Uygulama CSV'den ilgili yorumları bulur ve bunları yerel bir modele verir (RAG).

    0:19 o anı izle
  2. Bu projede vektör arama veritabanı hangi araçtır?

    1. Ollama
    2. LangChain
    3. ChromaDB
    4. Sublime Text
    Cevabı göster

    C. ChromaDB · ChromaDB vektör veritabanıdır; Ollama modeli çalıştırır ve LangChain parçaları birbirine bağlar.

    0:08 o anı izle
  3. Uygulamadan nasıl çıkarsın?

    1. Ctrl+Alt+Delete tuşlarına bas
    2. Soru istemine q yaz
    3. CSV dosyasına exit yaz
    4. Sublime Text penceresini kapat
    Cevabı göster

    B. Soru istemine q yaz · İstem 'çıkmak için q' yazıyor, yani q yazmak programı sonlandırır.

    1:18 o anı izle

1. dersi videoyla aç →

2–7. dersler

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 “How to Build a Local AI Agent With Python (Ollama, LangChain & RAG)” videosundan yaptı. Video YouTube’un kendi oynatıcısında oynar. YouTube’da izle · Bütün dersler