Last chance! 50% off DataCamp Premium
Sale ends in
Google, en gelişmiş modeli Gemini 2.0 Pro’nun lansmanıyla yapay zekâ yarışına geri döndü. Şu anda deneysel aşamada, yani yalnızca API üzerinden geliştiricilere açık.
Gemini 2.0 Pro, kodlama performansında öne çıkıyor ve gelişmiş akıl yürütme ile dünya bilgisi sayesinde karmaşık istemleri işleyebiliyor. 2 milyon tokenlık devasa bir bağlam penceresine sahip olması, kapsamlı bilgileri işlemesini ve analiz etmesini sağlıyor. Ayrıca Google Search gibi araçları kullanma ve kod yürütme yeteneği de bulunuyor; bu da çok yönlülüğünü artırıyor.
Bu eğitimde, Google’ın yeni GenAI Python paketi aracılığıyla Gemini 2.0 Pro’nun çeşitli özelliklerine nasıl erişileceğini öğreneceğiz. Ardından herkesin butonlara tıklayarak bu özellikleri deneyimleyebilmesi için bir Gradio uygulaması geliştireceğiz. Son olarak uygulamayı Space’e dağıtarak kamuya açacağız.
Modelin Gemini 2.0 Flash Thinking Experimental kılavuzumuza göz atarak modelin OpenAI’nin o-serisi ve DeepSeek’in R-serisi ile nasıl rekabet ettiğini görebilirsiniz. Ayrıca Gemini 2.0 ile çok modlu uygulama geliştirme hakkında daha fazla bilgi edinmek için Adel Nehme’nin şu eğitimini öneririm:
Şu anda Gemini 2.0 Pro’ya yalnızca Google AI Studio üzerinden erişilebiliyor ve bir Google hesabıyla oturum açmanız gerekiyor. Başlamak için şu adımları izleyin:
Google AI Studio web sitesini ziyaret edin ve Google hesabı bilgilerinizle oturum açın. Giriş yaptıktan sonra Google AI Studio kontrol paneline yönlendirileceksiniz.

Kaynak: Google AI Studio
GEMINI_API_KEY adlı bir ortam değişkeni oluşturun ve az önce ürettiğiniz API anahtarını değeri olarak atayın.
Gerekli Python paketlerini terminalinizde aşağıdaki komutla yükleyin:
pip install google-genai
pip install gradio
Şimdi Gemini Python istemcisini kullanarak Gemini 2.0 Pro modelinin çeşitli özelliklerine erişeceğiz. Bu özellikler; metin anlama, görsel işleme, ses analizi ve belge kavrama içerir.
Ayrıca, bulut Python çekirdeğinde doğrudan kod üretip çalıştırmamıza olanak tanıyan kod yürütme özelliğini de test edeceğiz.
API anahtarını ortam değişkeninden yükleyip istemciyi bununla başlatacağız. Bu istemci, çeşitli modellere ve özelliklere erişim için arayüz görevi görecek.
Ardından modele bir soru verip akışlı bir yanıt üreteceğiz. Bu, tokenlar üretilir üretilmez terminalde artımlı olarak görüntülenecekleri ve gerçek zamanlı geri bildirim sunacağı anlamına gelir.
import os
from google import genai
API_KEY = os.environ.get("GEMINI_API_KEY")
client = genai.Client(api_key=API_KEY)
response = client.models.generate_content_stream(
model="gemini-2.0-pro-exp-02-05",
contents=["Explain how Stock Market works"])
for chunk in response:
print(chunk.text, end="")
Model ayrıntılı ve doğru bir yanıt üretti.
The stock market is a complex system, but here's a breakdown of how it works in a simplified way, covering the key concepts:
**1. What are Stocks (Shares)?**
* **Ownership:** Stocks, also called shares or equities, represent ownership in a company. When you buy a stock, you're buying a tiny piece of that company.
* **Claim on Assets and Earnings:** As a shareholder, you have a claim on the company's assets and earnings. You're entitled to a portion of the company's profits (often distributed as dividends, though not always) and, in theory, a share of the company's value if it were to be liquidated.
* **Voting Rights (Sometimes):** Many stocks (but not all) come with voting rights, allowing you to have a say in certain company decisions (like electing the board of directors).
**2. Why Companies Issue Stock (Go Public)?**
Görsel anlamada, Python’da Pillow kütüphanesiyle görseli yükleyip contents parametresine ekleyeceğiz. contents, görselle ilgili soruları görsel nesnesiyle birlikte içerecek.
from google import genai
from google.genai import types
import PIL.Image
image = PIL.Image.open('image.png')
response = client.models.generate_content_stream(
model="gemini-2.0-pro-exp-02-05",
contents=["Explain the image", image])
for chunk in response:
print(chunk.text, end="")
Model görseli isabetli biçimde anladı ve küçük ayrıntılara kadar aktardı.
The image is a stylized, abstract graphic. It looks like a simplified diagram or node network, with a black background.
Here's a breakdown:
* **Nodes:** There are four circular nodes. Each node is a different color:
* Light Blue (Top Left)
* Light Green (Bottom Left)
* White (Top Right)
* Red (Bottom Right)
* **Node outline:** There is a thick outline around each of the circles.
* **Shadow:** Each circle appears to be casting a white shadow.
Gemini 2.0 Pro, sesi metne dönüştürmeden doğrudan anlayabilir. Sesi yükleyip ilgili soruyla birlikte content parametresine verin.
with open('audio.wav', 'rb') as f:
audio_bytes = f.read()
response = client.models.generate_content_stream(
model='gemini-2.0-pro-exp-02-05',
contents=[
'Describe this audio',
types.Part.from_bytes(
data=audio_bytes,
mime_type='audio/wav',
)
]
)
for chunk in response:
print(chunk.text, end="")
Yine, sesin oldukça isabetli bir betimlemesini sağlıyor.
The audio appears to be a collection of short, spoken phrases or sentences. There is only one speaker, a male, and he seems to be reading or reciting these phrases, possibly as part of a list or exercise. The content focuses on food and related concepts like smell and temperature.
Langchain veya herhangi bir RAG çerçevesi kullanmak yerine, Gemini 2.0 Pro’ya belgeleri verebiliriz; model bunları ayrıştırıp indeksler ve ardından bu belgeler hakkında sorular sormaya başlayabiliriz.
Bir PDF dosyası yükledik ve içeriğine dayalı sorular sorduk. Bu kadar basit.
from google import genai
from google.genai import types
import pathlib
prompt = "What the document is about"
response = client.models.generate_content_stream(
model="gemini-2.0-pro-exp-02-05",
contents=[
types.Part.from_bytes(
data=pathlib.Path('cv.pdf').read_bytes(),
mime_type='application/pdf',
),
prompt])
for chunk in response:
print(chunk.text, end="")
Sonuç olarak, bu belgenin ne hakkında olduğunu kusursuz şekilde açıkladı.
Based on the OCR output, the document is **Abid Ali Awan's Curriculum Vitae (CV) or resume**. It details his:
* **Contact Information:** Name, address, email, and phone number.
* **Work Experience:** A chronological list of his professional roles, including job titles, companies, locations, dates of employment, and brief descriptions of his responsibilities. This includes experience in data science, freelancing, research, media, and network engineering.
* **Education:** His academic background, listing degrees earned, institutions attended, graduation dates, GPAs, and areas of specialization.
* **Gap Year:** Explaining the time that have taken for medical/personal issues.
* **Professional Skills:** A list of his technical and soft skills, categorized and rated
Gemini API’nin en dikkat çekici yanı, aynı API ile kod üretebilmeniz ve çalıştırabilmenizdir. Bu da kodunuzun üretilip test edileceği; bir hata varsa modelin hatayı düzelterek doğru yanıt üretilene kadar kodu tekrar çalıştıracağı anlamına gelir.
Gemini 2.0 Pro’ya bir kodlama sorusu sorduk ve sonunda kodu yürütmesini istedik. config parametresine bakarsanız, kodu bulutta çalıştırmak için kod yürütme aracını dahil ettiğimizi göreceksiniz.
from google import genai
from google.genai import types
from IPython.display import Markdown, HTML, Image, display
response = client.models.generate_content(
model='gemini-2.0-pro-exp-02-05',
contents="""
Write a Python program to calculate the sum of the first 50 prime numbers. The program should:
- Use a function to check if a number is prime.
- Use another function to find and sum the first n prime numbers, where n is 50 in this case.
- Ensure the code is efficient and readable.
- Print the result clearly.
After writing the code, execute it to verify that the sum of the first 50 prime numbers is correct.
""",
config=types.GenerateContentConfig(
tools=[types.Tool(
code_execution=types.ToolCodeExecution
)]
)
)
def display_code_execution_result(response):
for part in response.candidates[0].content.parts:
if part.text is not None:
display(Markdown(part.text))
if part.executable_code is not None:
code_html = f'<pre style="background-color: green;">{part.executable_code.code}</pre>' # Change code color
display(HTML(code_html))
if part.code_execution_result is not None:
display(Markdown(part.code_execution_result.output))
if part.inline_data is not None:
display(Image(data=part.inline_data.data, format="png"))
display(Markdown("---"))
display_code_execution_result(response)
Model kodu üretti ancak ilk denemede çalıştıramadı. Sonra sorunları düzeltti, kodu yeniden çalıştırdı ve sonuçları başarıyla gösterdi.

Şimdi, önceki adımlarda test ettiğimiz tüm özellikleri entegre eden bir Gradio web uygulaması geliştireceğiz. Böylece herkes, dosyalar yükleyip görseller, sesler, belgeler hakkında sorular sorarak ve hatta kod çalıştırarak uygulamayı test edebilecek.
app.py dosyasının kodu GitHub deposu Gemini-2-Pro-Chat’te mevcuttur. Her özelliğin nasıl uygulandığını anlamak için inceleyebilirsiniz.
Kısaca, uygulama şunları içerir:
generate_content_stream yöntemiyle yanıtları akışlı olarak üretir.
Uzak depodaki kodu yerel projenize kopyaladıktan sonra, uygulamayı yerelde çalıştırabilirsiniz.
python app.py

Her şeyin düzgün çalıştığından emin olmak için şimdi web uygulamasını test edeceğiz. Web uygulamasının kullanıcı arayüzü üzerinden tüm özellikleri tek tek inceleyeceğiz.
1. Sorunuzu yazın ve [Enter] tuşuna basın. Yanıt üretimi başlayacak ve birkaç saniye içinde cevabınızı alacaksınız.

2. Görsel yüklemek için “Upload Images” düğmesine tıklayın ve dosyayı dizinden seçin. Sonra görselle ilgili bir soru sorun; Gemini 2.0 Pro doğru ve yüksek ayrıntı düzeyinde bir yanıt üretmeye başlayacaktır.

3. “Upload Audio” düğmesine tıklayıp ses dosyasını seçerek ses yükleyin. Ardından ses hakkında bir soru sorun. Model son derece isabetli yanıtlar üretecektir.

4. Belgeleri de yükleyebilirsiniz. “Upload Documents” düğmesine tıklayarak bir PDF dosyası yükleyin ve ardından belge hakkında soru sorun.

5. Kod yürütme biraz farklıdır. Çakışmaları önlemek için geçmişi yoktur; yani aynı istemde ondan kodu üretmesini ve yürütmesini istemeniz gerekir.
Örneğin, ondan PNG formatında rastgele bir görsel oluşturacak örnek Python kodu üretip çalıştırmasını istedik ve ardından “Run Code Execution” düğmesine bastık.

Birkaç saniye içinde kodu üretti, çalıştırdı ve görselleri sohbet kutusunda gösterdi.

Kod yürütme özelliği sonunda bir sonuç değerlendirmesi de sunar.

Uygulamamızı Hugging Face Spaces kullanarak buluta dağıtalım. Hugging Face Spaces’e gidin ve “+ New Space” düğmesine tıklayın. Space’in adını, açıklamasını ve lisansını girin; ayrıca SDK olarak Gradio’yu seçin.

Kaynak: Hugging Face
Space’i oluşturduktan sonra depoyu nasıl klonlayacağınıza dair talimatlar alacaksınız:
git clone https://huggingface.co/spaces/kingabzpro/Gemini-2-Pro-Chat
cd Gemini-2-Pro-Chat
Yerel depo içinde bir requirements.txt dosyası oluşturun ve aşağıdaki Python bağımlılığını ekleyin:
google-genai==1.0.0
Ardından, README.md dosyasını aşağıdaki içeriği içerecek şekilde düzenleyin:
---
title: Gemini 2 Pro Chat
emoji: ♊💬
colorFrom: green
colorTo: pink
sdk: gradio
sdk_version: 5.15.0
app_file: app.py
pinned: false
license: mit
short_description: 'Image, Audio, and Document understanding + Code Execution. '
---
Daha sonra, app.py dosyasını depoya ekleyin. Değişiklikleri hazırlayın, commit atın ve güncellemeleri uzak depoya gönderin:
git add .
git commit -m "deploying the app"
git push
Commit’leri gönderdikten sonra, Space’inizin Docker imajını oluşturduğunu ve bağımlılıkları yüklediğini göreceksiniz.

Kaynak: Gemini 2 Pro Chat
Her şey tamamlandıktan sonra bir hata mesajıyla karşılaşabilirsiniz. Endişelenmeyin; bu, Spaces’te ekleyeceğimiz eksik ortam değişkenleriyle ilgilidir.

Kaynak: Gemini 2 Pro Chat
Space ayarlarınıza gidin ve "Variables and Secrets" bölümüne kadar kaydırın. “New Secret” düğmesine tıklayarak yeni bir gizli değişken oluşturun. Adını ve Gemini API anahtarınızı girin.

Kaynak: Gemini 2 Pro Chat
Gizli anahtarı ekledikten sonra space otomatik olarak yeniden başlayacak ve uygulamanız yerelde çalıştığı gibi sorunsuz çalışacaktır.

Kaynak: Gemini 2 Pro Chat
Yeni Gemini 2.0 Pro API ve gelişmiş özellikleri sayesinde yüksek performanslı bir yapay zekâ uygulaması geliştirmek belirgin biçimde kolaylaştı. Görsel, ses veya belgeleri işlemek için birden çok Python paketi kurmak yerine, bu girdileri doğrudan API uç noktasına verebilirsiniz. Model saniyeler içinde sonuç üreterek süreci pürüzsüz ve verimli hâle getirir.
Şu anda Gemini 2.0 Pro’ya erişim ücretsizdir ancak günde 50 istekle sınırlıdır. Bununla birlikte, hesabınızın askıya alınması riskini önlemek için API’nin ticari amaçlarla kullanılmaması gerektiğini unutmayın.
Bu eğitimde, son teknoloji Gemini 2.0 Pro modelini ve özelliklerini inceledik. Bu yetenekleri Jupyter Notebook’larda test ettik ve bir Gradio uygulamasına entegre ettik. Son olarak uygulamayı buluta dağıtarak kamuya açık hâle getirdik.
Yapay zekâ destekli uygulamalar oluşturma hakkında daha fazla bilgi edinmek isterseniz, Developing AI Applications beceri yolumuza göz atarak en yeni AI geliştirici araçlarını öğrenebilirsiniz.
Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.
DataCamp’in En İyi Kursları
Program
Kurs
Program

blog
Abid Ali Awan
14 dk.
blog
Dario Radečić
15 dk.
Eğitim
Adel Nehme
Eğitim
Kurtis Pykes
8 dk.