Ana içeriğe atla

Gemini 2.0 Pro ile Çok Modlu Yapay Zekâ Uygulaması Geliştirme

Metin, görsel, ses ve belgeleri anlayabilen; ayrıca Python kodu çalıştırabilen bir sohbet uygulaması geliştirin. AGI’ye daha yakın gerçek bir çok modlu uygulama.
Güncel 3 Eki 2026  · 11 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

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:

Gemini 2.0 ile Çok Modlu Uygulamalar | Yerel Bir YouTube İçerik Üretici Aracı Geliştirin

Gemini 2.0 Pro’yu Kurma

Ş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:

1. Google AI Studio’ya giriş yapın

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.

2. Bir API anahtarı oluşturun

  • Kontrol panelinde sol üst köşedeki “Get API Key” düğmesini bulun ve tıklayın.
  • Ardından, ilk API anahtarınızı oluşturmak için “Create API Key” düğmesine tıklayın.

Google Studio Generate API key

Kaynak: Google AI Studio 

3. Ortam değişkenini ayarlayın

GEMINI_API_KEY adlı bir ortam değişkeni oluşturun ve az önce ürettiğiniz API anahtarını değeri olarak atayın.

4. Gerekli Python paketlerini yükleyin

Gerekli Python paketlerini terminalinizde aşağıdaki komutla yükleyin:

pip install google-genai 
pip install gradio

Gemini 2.0 Pro Özelliklerini Test Etme

Ş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.

1. Metin üretimi

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)?**

2. Görsel anlama

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.

3. Ses anlama

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.

4. Belge anlama

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

5. Kod üretimi ve yürütme

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. 

Gemini 2.0 code generation

Gemini 2.0 Pro Uygulaması Geliştirme

Ş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:

  • Çok modlu girdi işleme: Sohbet botu metin, görsel, ses ve belgeleri işleyebilir.
  • Dinamik yanıt üretimi: Google GenAI’nin generate_content_stream yöntemiyle yanıtları akışlı olarak üretir.
  • Kod yürütme: Kullanıcılar kod üretebilir; sohbet botundan kodu yürütmesini ve sonuçları döndürmesini isteyebilir.
  • Görsel ve ses işleme: Görseller HTML’ye gömmek için yeniden boyutlandırılır ve base64’e dönüştürülür; ses dosyaları kodlanır ve bir ses oynatıcıyla gösterilir.
  • Belge yükleme: PDF dosyaları işlenir ve sohbet geçmişine eklenir.

Gemini-2-Pro-Chat code

Uzak depodaki kodu yerel projenize kopyaladıktan sonra, uygulamayı yerelde çalıştırabilirsiniz.

python app.py

Running locally

Gemini 2.0 Pro Uygulamasını Test Etme

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.

Testing the Gemini 2.0 Pro multi-modal chatbot

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. 

Uploading audio to Gemini 2.0

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

Uploading documents to Gemini 2.0 pro

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.

Gemini 2.0 Pro code execution

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

Gemini 2.0 Pro code output

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

Gemini 2.0 Pro code conclusion

Gemini 2.0 Pro Uygulamasını Dağıtma

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.

Deploying Gemini 2.0 Pro app

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.

Docker image and installing the dependencies

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.

Error message

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.

Create a new secret in Hugging Face Spaces

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.

Gemini 2.0 Pro app running

Kaynak: Gemini 2 Pro Chat

Sonuç

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.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

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.

Konular
Yapay Zeka
Büyük Dil Modelleri

DataCamp’in En İyi Kursları

Program

Büyük Dil Modelleri Geliştirme

16 sa
PyTorch ve Hugging Face ile en yeni derin öğrenme ve NLP tekniklerini kullanarak büyük dil modelleri (LLM'ler) geliştirmeyi öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör