Bugün sizlere, Python ile basit bir yapay zeka kişisel asistanı yapmayı adım adım anlatacağım. Bu rehber, hem yapay zeka meraklıları hem de Python'a yeni başlayanlar için mükemmel bir başlangıç olabilir.
Python'da Yapay Zeka Temelleri
1. `speech_recognition`: Bu kütüphane, kullanıcının sesli komutlarını almak için harika bir araçtır. Kendi asistanınızı sesli komutlarla kontrol edebilmek çok eğlenceli olabilir.
2. `pyttsx3`: Bu kütüphane sayesinde yazılı metinleri sesli olarak okuyabilirsiniz. Yani asistanınız size söylediklerinizi sesli olarak aktarabilir.
3. `datetime`: Zamanla ilgili işlemler yapabilmek, örneğin hatırlatıcılar kurmak veya saat bilgisi almak için bu kütüphane oldukça kullanışlıdır.
Eğer Python'a aşina değilseniz, endişelenmeyin! Adım adım ilerleyeceğiz.
Pratik Uygulamalar
# 1. Sesli Komutla Hava Durumunu Öğrenme
İlk adım olarak, bir hava durumu API'si (örneğin, OpenWeatherMap API'si) kullanacağız. Bu API, güncel hava durumu bilgilerini almak için gerekli veriyi sağlar.
İşte basit bir hava durumu fonksiyonu:
import speech_recognition as sr
import pyttsx3
import requests
# Sesli yanıt için pyttsx3 başlatılıyor
engine = pyttsx3.init()
# Hava durumu bilgilerini almak için bir fonksiyon
def get_weather(city):
api_key = "YOUR_API_KEY"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
response = requests.get(url)
data = response.json()
if data["cod"] == "404":
engine.say("Üzgünüm, şehir bulunamadı.")
else:
main = data["main"]
weather_description = data["weather"][0]["description"]
temperature = main["temp"]
engine.say(f"{city} için hava durumu: {weather_description} ve sıcaklık {temperature} derece.")
engine.runAndWait()
# Kullanıcıdan sesli komut al
def listen_command():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("Dinliyorum...")
audio = recognizer.listen(source)
command = ""
try:
command = recognizer.recognize_google(audio, language='tr-TR')
print(f"Komut: {command}")
except sr.UnknownValueError:
engine.say("Ne dediğinizi anlayamadım.")
except sr.RequestError:
engine.say("Servis şu anda ulaşılabilir değil.")
return command
# Hava durumu komutunu dinle
if __name__ == "__main__":
while True:
command = listen_command().lower()
if "hava durumu" in command:
city = command.replace("hava durumu", "").strip()
get_weather(city)
Bu kod, kullanıcının sesli komutuyla hava durumu bilgisini alıp, asistanın sesli olarak cevap vermesini sağlar. Gerçekten basit ve işlevsel bir başlangıç!
# 2. Hatırlatıcı Oluşturma
İşte bir hatırlatıcı fonksiyonu:
import time
import pyttsx3
from datetime import datetime
engine = pyttsx3.init()
def set_reminder(reminder, reminder_time):
while True:
current_time = datetime.now().strftime("%H:%M")
if current_time == reminder_time:
engine.say(f"Hatırlatma: {reminder}")
engine.runAndWait()
break
time.sleep(60)
# Hatırlatıcı ayarlama
if __name__ == "__main__":
reminder = "Python dersini çalış"
reminder_time = "14:30" # Saat 14:30'da hatırlatma yap
set_reminder(reminder, reminder_time)
Bu kod, belirli bir saatte hatırlatıcıyı sesli olarak bildirir. Saat 14:30'da Python dersini çalışmanız gerektiğini hatırlatmak için çok kullanışlı!
SEO'yu Güçlendirecek Anahtar Kelimeler
Sonuç
Ayrıca, günlük yaşamınızı kolaylaştıracak küçük ama etkili asistanlar yapmak, yazılım geliştirme yolculuğunuzda önemli bir adımdır. Bu projeler, hem yeteneklerinizi geliştirmeye yardımcı olur hem de gelecekteki projeleriniz için harika bir temel oluşturur.