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
Tamamlanmış yerel inceleme asistanının demosu Ücretsiz
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
Proje klasörünü ve sanal ortamı kur Beyond Pass
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
Ollama'yı kurun ve bir sohbet modeli ile bir gömme (embedding) modeli indirin Beyond Pass
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
[47] LangChain prompt zinciriyle yerel bir modeli çağır Beyond Pass
[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
[44] Etkileşimli bir soru döngüsü ekle Beyond Pass
[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
Load the CSV and build a persistent Chroma vector store Beyond Pass
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
[30] Bir retriever oluştur ve RAG'i zincire bağla Beyond Pass
[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.
Dersin komutlarını yaz, boz ve nedenini gör.
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
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.
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
- Bir terminal aç ve proje klasörüne geç (videoda Masaüstünde Local Ai Agent adlı bir klasör kullanılıyor). Göreceğin: Komut istemi artık Masaüstü klasörünü gösteriyor.
$ cd Desktop C:\Users\User>cd Desktop C:\Users\User\Desktop>
- 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. Göreceğin: Program bir satır tire işareti yazar ve sorunu bekler.
$ python main.py -------------------- Ask your question here (q to quit):
Bilerek boz
$ python main.py python: can't open file 'main.py': [Errno 2] No such file or directoryNeden: 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.
$ 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
Alıştırma
Retrieval augmented generation'ın ne anlama geldiğini, pizza yorumlarını örnek alarak kendi cümlelerinle açıkla.
Çözüm
- Retrieval (geri getirme): Soruyla eşleşen yorumları CSV'de bul; örneğin vegan geçen yorumlar.
- 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
Uygulama restoran hakkındaki soruları yanıtlamak için neyi kullanır?
- Yalnızca kendi yerleşik pizza bilgisini
- CSV'den getirilen ilgili yorumları, bir modele verilmiş olarak
- Ücretli bir OpenAI bulut hesabını
- İ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ı izleBu projede vektör arama veritabanı hangi araçtır?
- Ollama
- LangChain
- ChromaDB
- 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ı izleUygulamadan nasıl çıkarsın?
- Ctrl+Alt+Delete tuşlarına bas
- Soru istemine q yaz
- CSV dosyasına exit yaz
- 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
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
