Python Nedir?

Python, 1991 yılında Guido van Rossum tarafından geliştirilen, yüksek seviyeli, genel amaçlı bir programlama dilidir. Python, okunabilirliği ve basitliği ile tanınır ve yazılım geliştiriciler arasında oldukça popülerdir. Python'un bazı temel özellikleri şunlardır:

  • Kolay Öğrenilebilirlik: Basit ve anlaşılır sözdizimi sayesinde yeni başlayanlar için idealdir.
  • Çok Yönlülük: Web geliştirme, veri analizi, yapay zeka, makine öğrenimi ve daha birçok alanda kullanılabilir.
  • Geniş Kütüphane Desteği: Python, çeşitli görevler için kullanılabilecek geniş bir standart kütüphane ve üçüncü taraf kütüphanelerine sahiptir.

Pip Nedir?

Pip, Python için standart paket yönetim sistemidir. Python Package Index (PyPI) üzerinden paketleri indirip kurmak, güncellemek ve kaldırmak için kullanılır. Pip sayesinde, projeniz için gerekli olan tüm bağımlılıkları kolayca yönetebilirsiniz.

Pip Kullanımı

Pip ile bir Python paketini kurmak oldukça basittir. Örneğin, requests paketini kurmak için şu komutu kullanabilirsiniz:

pip install requests

Ayrıca, mevcut paketleri güncellemek veya kaldırmak için de pip kullanılabilir:

  • Güncelleme:
    pip install --upgrade requests
  • Kaldırma:
    pip uninstall requests

requirements.txt ile Gerekli Kütüphanelerin Kurulumu

requirements.txt dosyası, projeniz için gerekli olan tüm Python paketlerini ve sürümlerini listeleyen bir dosyadır. Bu dosya sayesinde, projeyi klonlayan diğer geliştiriciler kolayca tüm bağımlılıkları kurabilirler.

requirements.txt Dosyası Oluşturma

Öncelikle, projenizde kullanmak istediğiniz kütüphaneleri requirements.txt dosyasına ekleyin:

google-generativeai
discord.py
python-dotenv

Kütüphanelerin Kurulumu

requirements.txt dosyasındaki tüm kütüphaneleri kurmak için aşağıdaki komutu kullanabilirsiniz:

pip install -r requirements.txt

Örnek Kütüphaneler

google-generativeai

Google'ın yapay zeka ve makine öğrenimi kütüphanesi. Bu kütüphane, çeşitli AI modellerini ve araçlarını kullanmanıza olanak tanır.

discord.py

Discord botları oluşturmak için kullanılan popüler bir Python kütüphanesidir. Discord API'si ile etkileşim kurmayı kolaylaştırır.

python-dotenv

.env dosyasındaki anahtar-değer çiftlerini okuyarak bunları ortam değişkenleri olarak ayarlayan bir kütüphanedir. Bu, uygulama yapılandırmalarını yönetmeyi ve güvenli hale getirmeyi kolaylaştırır.

Python-dotenv Kullanımı

.env Dosyası

Öncelikle, proje dizininizde bir .env dosyası oluşturun ve içine ortam değişkenlerinizi ekleyin:

DISCORD_TOKEN=MTI5M...
GEMINI_API_KEY=AIza...-GoUeCB...
DISCORD_CHANNEL_ID=11649...

Python Kodu

Ardından, bu ortam değişkenlerini Python kodunuzda kullanmak için aşağıdaki adımları izleyin:

from dotenv import load_dotenv
import os

# .env dosyasındaki değişkenleri yükle
load_dotenv()

# Ortam değişkenlerini al
DISCORD_TOKEN = os.getenv('DISCORD_TOKEN')
GEMINI_API_KEY = os.getenv('GEMINI_API_KEY')
DISCORD_CHANNEL_ID = os.getenv('DISCORD_CHANNEL_ID')

# Kullanım örneği
print(f'DISCORD_TOKEN: {DISCORD_TOKEN}')
print(f'GEMINI_API_KEY: {GEMINI_API_KEY}')
print(f'DISCORD_CHANNEL_ID: {DISCORD_CHANNEL_ID}')

.env Dosyasını .gitignore'a Ekleme

.env dosyasını versiyon kontrol sistemine dahil etmemek için .gitignore dosyasına ekleyin:

# .gitignore
.env

Bu, .env dosyasının git tarafından izlenmesini engeller ve hassas bilgilerinizi korur.

.env.example Dosyası Oluşturma

Projede hangi ortam değişkenlerinin gerektiğini göstermek için bir .env.example dosyası oluşturabilirsiniz. Bu dosya, gerçek değerler yerine örnek değerler içerir:

# .env.example
DISCORD_TOKEN=your-discord-token
GEMINI_API_KEY=your-gemini-api-key
DISCORD_CHANNEL_ID=your-discord-channel-id

Bu dosya, projeyi klonlayan diğer geliştiricilerin hangi ortam değişkenlerine ihtiyaç duyduklarını anlamalarına yardımcı olur.

.env Dosyasını Kopyalama

Projeyi klonladıktan sonra .env.example dosyasını .env dosyasına kopyalamak için şu komutu kullanabilirsiniz:

cp .env.example .env

Gizli Bilgilerle Çalışırken Dikkat Edilmesi Gerekenler

Başlık: Gizli Bilgileri Yanlışlıkla Commit Etmekten Kaçının

  • Açıklama: Eğer .env dosyanızı yanlışlıkla commit ederseniz, gizli bilgileriniz tehlikeye girebilir. Böyle bir durumda Git geçmişinden bu bilgileri silmek oldukça zahmetli olabilir.
  • Öneri: .env dosyanızın versiyon kontrolüne dahil olmadığından emin olmak için her zaman commit yapmadan önce kontrol edin.
  • Komut: Hangi dosyaların commit edileceğini görmek için şu komutu kullanın:
    git status

discord.py Nedir?

discord.py, Discord API'sini kullanarak botlar ve diğer uygulamalar oluşturmanıza olanak tanıyan bir Python kütüphanesidir. Modern, kullanımı kolay, özellik açısından zengin ve asenkron programlamaya hazır bir API sarmalayıcıdır.

Özellikler

  • Modern Pythonic API: Asenkron programlama için async/await sözdizimini kullanır.
  • Hız ve Bellek Optimizasyonu: Hem hız hem de bellek kullanımı için optimize edilmiştir.
  • Komut Uzantısı: Bot oluşturmayı kolaylaştıran komut uzantısı içerir.
  • Nesne Yönelimli Tasarım: Kullanımı kolay nesne yönelimli bir tasarıma sahiptir.

Kurulum

discord.py kütüphanesini kurmak için aşağıdaki komutu kullanabilirsiniz:

pip install discord.py

Dökümantasyon

discord.py hakkında daha fazla bilgi ve detaylı dökümantasyon için aşağıdaki bağlantıları kullanabilirsiniz:

Discord Botu İçin API Anahtarı (Token) Oluşturma

  1. Discord Developer Portal'a Giriş Yapın

  2. Yeni Bir Uygulama Oluşturun

    • Sağ üst köşede bulunan "New Application" butonuna tıklayın.
    • Uygulamanız için bir isim girin ve "Create" butonuna tıklayın.
  3. Bot Ekleme

    • Sol menüden "Bot" sekmesine tıklayın.
    • "Add Bot" butonuna tıklayın ve onaylayın. Bu, uygulamanıza bir bot ekleyecektir.
  4. Bot Token'ını Alın

    • Bot sekmesinde, "TOKEN" başlığı altında "Copy" butonuna tıklayarak botunuzun token'ını kopyalayın. Bu token, botunuzun Discord API'si ile iletişim kurmasını sağlar.
    • Dikkat: Bu token'ı kimseyle paylaşmayın ve güvenli bir şekilde saklayın. Eğer token'ınızın güvenliği tehlikeye girerse, "Regenerate" butonuna tıklayarak yeni bir token oluşturabilirsiniz.
  5. Botu Sunucuya Davet Etme

    • Sol menüden "OAuth2" sekmesine tıklayın.
    • "OAuth2 URL Generator" bölümüne gidin.
    • "SCOPES" altında "bot" seçeneğini işaretleyin.
    • "BOT PERMISSIONS" altında botunuzun ihtiyaç duyduğu izinleri seçin (örneğin, "Send Messages", "Manage Messages").
    • Oluşan URL'yi kopyalayın ve tarayıcınıza yapıştırarak botunuzu sunucunuza davet edin.

Örnek Kod: Mesajı Geri Gönderme

Aşağıda, Discord'dan gelen mesajı geri gönderen basit bir bot örneği bulunmaktadır:

.env Dosyası

Öncelikle, botunuzun token'ını saklamak için bir .env dosyası oluşturun:

DISCORD_TOKEN=your-discord-token

Python Kodu

Ardından, botunuzu oluşturmak için aşağıdaki Python kodunu kullanın:

import os
import discord
from dotenv import load_dotenv

# .env dosyasındaki değişkenleri yükle
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')

# Discord istemcisi oluştur
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'{client.user} olarak giriş yapıldı!')

@client.event
async def on_message(message):
    # Botun kendi mesajlarını görmezden gel
    if message.author == client.user:
        return

    # Gelen mesajı geri gönder
    await message.channel.send(message.content)

# Botu çalıştır
client.run(TOKEN)

google-generativeai Nedir?

google-generativeai, Google'ın Gemini API'sini kullanarak üretken yapay zeka modelleri oluşturmanıza olanak tanıyan bir Python kütüphanesidir. Bu kütüphane, metin, görüntü ve kod gibi çeşitli veri türleri üzerinde çalışabilen çok modlu modeller sunar.

Özellikler

  • Çok Modlu Modeller: Metin, görüntü ve kod üzerinde çalışabilen modeller.
  • Kolay Entegrasyon: Python SDK ile hızlı ve kolay entegrasyon.
  • Gelişmiş AI Modelleri: Google DeepMind tarafından geliştirilen Gemini modellerine erişim.

Kurulum

google-generativeai kütüphanesini kurmak için aşağıdaki komutu kullanabilirsiniz:

pip install google-generativeai

Dökümantasyon

google-generativeai hakkında daha fazla bilgi ve detaylı dökümantasyon için aşağıdaki bağlantıları kullanabilirsiniz:

Gemini API Anahtarı (Token) Oluşturma

Google'ın generative AI kütüphanesini kullanmak için bir API anahtarına ihtiyacınız olacak. İşte adım adım nasıl oluşturulacağı:

  1. Google AI Studio'ya Giriş Yapın

    • İlk olarak, Google AI Studio adresine gidin ve Google hesabınızla giriş yapın.
  2. Yeni Bir API Anahtarı Oluşturun

    • "Get API key" butonuna tıklayın.
    • Yeni bir Google Cloud projesi oluşturabilir veya mevcut bir projeyi seçebilirsiniz.
    • API anahtarınızı oluşturduktan sonra, anahtarınızı kopyalayın ve güvenli bir yerde saklayın. Bu anahtar, API çağrılarınızı yetkilendirmek için kullanılacaktır.
  3. API Anahtarınızı Güvende Tutun

    • API anahtarınızı kimseyle paylaşmayın ve kaynak kontrol sistemlerine dahil etmeyin.
    • API anahtarınızı kullanırken güvenlik önlemlerini göz önünde bulundurun. Örneğin, anahtarınızı yalnızca gerekli API'lerle sınırlayın.

Örnek Kod: Metin Üretimi

Aşağıda, Google'ın generative AI kütüphanesini kullanarak basit bir metin üretimi örneği bulunmaktadır:

.env Dosyası

Öncelikle, API anahtarınızı saklamak için bir .env dosyası oluşturun:

GEMINI_API_KEY=your-gemini-api-key

Python Kodu

Ardından, aşağıdaki Python kodunu kullanarak metin üretimi yapabilirsiniz:

import os
import google.generativeai as genai
from dotenv import load_dotenv

# .env dosyasındaki değişkenleri yükle
load_dotenv()
api_key = os.getenv('GEMINI_API_KEY')

# API anahtarını yapılandır
genai.configure(api_key=api_key)

# Model oluştur ve prompt gönder
model = genai.GenerativeModel('gemini-1.5-flash')
response = model.generate_content("The opposite of hot is")

# Yanıtı yazdır
print(response.text)

Bu kod, .env dosyasındaki API anahtarını kullanarak Google'ın generative AI modeline bağlanır ve verilen prompt'a göre metin üretir.

Google AI Studio'da Discord Sohbet Botu Prompt Oluşturma

  1. Google AI Studio'ya Giriş Yapın

    • İlk olarak, Google AI Studio adresine gidin ve Google hesabınızla giriş yapın.
  2. Yeni Bir Prompt Oluşturun

    • Ana sayfada, "Create new prompt" butonuna tıklayın.
    • Açılan pencerede, prompt'unuz için bir isim girin ve "Create" butonuna tıklayın.
  3. Prompt İçeriğini Belirleyin

    • System Instructions bölümünü genişletmek için ok simgesine tıklayın.
    • Prompt'unuzun içeriğini bu alana yazın. Örneğin, bir Discord sohbet botu oluşturmak için şu şekilde bir içerik ekleyebilirsiniz:
      You are a helpful and friendly Discord bot. Your task is to respond to user messages in a supportive and informative manner.
      
  4. Prompt'u Test Edin

    • Prompt'unuzu oluşturduktan sonra, modelle etkileşime geçerek test edebilirsiniz. Bu, modelin verdiği yanıtları görmenizi sağlar ve gerektiğinde prompt'u düzenleyebilirsiniz.

Oluşturulan Örneğin Kodlarını Alma

  1. Kodları Dışa Aktarma

    • Prompt'unuzu test ettikten ve memnun kaldıktan sonra, sağ üst köşede bulunan "Get code" butonuna tıklayın.
    • Açılan menüden, kodları hangi programlama dilinde almak istediğinizi seçin (örneğin, Python).
  2. Kodları Kopyalama

    • Seçiminizi yaptıktan sonra, oluşturulan kodları kopyalayın ve kendi projenize yapıştırın.

Streamlit Nedir?

Streamlit, veri bilimciler ve makine öğrenimi mühendisleri için interaktif veri uygulamaları oluşturmayı kolaylaştıran açık kaynaklı bir Python framework'üdür. Streamlit ile sadece birkaç satır kod yazarak veri uygulamaları oluşturabilirsiniz.

Özellikler

  • Kolay Kullanım: Python bilgisi olan herkesin kolayca kullanabileceği bir yapıya sahiptir.
  • Hızlı Geliştirme: Hızlı bir şekilde prototip oluşturmanıza olanak tanır.
  • Interaktif Arayüzler: Kullanıcı dostu ve interaktif arayüzler oluşturabilirsiniz.

Kurulum

Streamlit'i kurmak için aşağıdaki komutu kullanabilirsiniz:

pip install streamlit

Basit Bir Chat Uygulaması Örneği

Aşağıda, Streamlit kullanarak basit bir chat uygulaması oluşturma ve yazılan mesajı geri gönderme örneği bulunmaktadır:

Python Kodu

import streamlit as st

st.title("Echo Bot")

# Sohbet geçmişini başlat
if "messages" not in st.session_state:
    st.session_state.messages = []

# Uygulama yeniden çalıştırıldığında sohbet geçmişindeki mesajları göster
for message in st.session_state.messages:
    with st.chat_message(message["role"]):
        st.markdown(message["content"])

# Kullanıcı girdisine tepki ver
if prompt := st.chat_input("Nasılsınız?"):
    # Kullanıcı mesajını sohbet mesajı konteynerinde göster
    st.chat_message("user").markdown(prompt)
    # Kullanıcı mesajını sohbet geçmişine ekle
    st.session_state.messages.append({"role": "user", "content": prompt})

    response = f"Echo: {prompt}"
    # Asistan yanıtını sohbet mesajı konteynerinde göster
    with st.chat_message("assistant"):
        st.markdown(response)
    # Asistan yanıtını sohbet geçmişine ekle
    st.session_state.messages.append({"role": "assistant", "content": response})

Uygulamayı Çalıştırma

Bu kodu bir Python dosyasına (örneğin, app.py) kaydedin ve ardından terminalde aşağıdaki komutu çalıştırarak uygulamayı başlatın:

streamlit run app.py

Dökümantasyon

Streamlit hakkında daha fazla bilgi ve detaylı dökümantasyon için aşağıdaki bağlantıları kullanabilirsiniz: