Ana içeriğe geç

Google Gemini API Tanıtımı: Yeni Gemini AI Modellerinin Gücünü Keşfedin

Gemini Python API'yi ve çeşitli işlevlerini kullanarak ücretsiz olarak yapay zekâ özellikli uygulamalar oluşturmayı öğrenin.
· 13 dk. oku

Yapay Zeka ile Keşfedin

Google Bard, ChatGPT'den artan bir rekabetle karşılaştı; ancak en yeni Gemini AI modellerini piyasaya sürmeleriyle birlikte pazardaki konumlarını yeniden güçlendirmeyi umuyorlar. Kullanıcı deneyimini geliştirmek amacıyla Google, yakın zamanda Bard yapay zekâ asistanını Gemini Pro modelleriyle yeniledi ve hem metin hem de görsel girişi bir arada kullanarak doğru ve doğal yanıtlar almak isteyen kullanıcılar için daha erişilebilir hale getirdi.

Bu eğitimde, gelişmiş yapay zekâ tabanlı uygulamalar oluşturmanıza olanak tanıyan Google Gemini API'yi inceleyeceğiz. Güçlü yeteneklerinden yararlanarak, hem metin hem de görsel girdileri kolayca birleştirip doğru ve bağlama uygun çıktılar üretebilirsiniz. Gemini Python API, mevcut projelerinize entegrasyonu basitleştirerek son teknoloji yapay zekâ özelliklerinin sorunsuz bir şekilde uygulanmasını sağlar.

Gemini AI nedir?

Gemini AI, Google Research ve Google DeepMind gibi Google içindeki çeşitli ekiplerin ortak çalışmasıyla oluşturulan son teknoloji bir yapay zekâ (AI) modelidir. Çok modlu olacak şekilde tasarlanan Gemini AI, metin, kod, ses, görseller ve videolar dâhil olmak üzere birçok veri biçimini anlayabilir ve işleyebilir.

Google DeepMind'ın yapay zekâya yönelik çalışmaları uzun süredir bu teknolojinin insanlığın ortak yararı için kullanılabileceği umuduyla şekilleniyor. Bu doğrultuda Gemini AI, insanların dünyayı algılama ve onunla etkileşime geçme biçimlerinden esinlenen yeni bir yapay zekâ modeli neslinin oluşturulmasında önemli ilerlemeler kaydetti.

Bugüne kadar Google'ın ürettiği en gelişmiş ve en büyük yapay zekâ modeli olan Gemini AI, son derece esnek olacak ve farklı türde bilgileri işleyebilecek şekilde tasarlandı. Bu çok yönlülük, güçlü veri merkezi sunucularından mobil cihazlara kadar çeşitli sistemlerde verimli bir şekilde çalışmasını sağlar.

Belirli kullanım senaryoları için eğitilmiş Gemini modellerinin üç sürümü aşağıdadır:

  1. Gemini Ultra: En gelişmiş sürüm; karmaşık görevleri yerine getirebilir.
  2. Gemini Pro: İyi performans ve ölçeklenebilirlik sunan dengeli bir seçenek.
  3. Gemini Nano: Mobil cihazlar için optimize edilmiştir; en yüksek verimliliği sağlar.

Gemini Ultra vs GPT4

Görsel kaynağı

Bu varyantlar arasında Gemini Ultra, birden çok ölçütte GPT-4'ü geride bırakan olağanüstü bir performans sergiledi. 57 konu alanında dünya bilgisi ve problem çözme yeteneklerini değerlendiren Massive Multitask Language Understanding kıyaslamasında, insan uzmanları geride bırakan ilk modeldir. Bu başarı, Gemini Ultra'nın üstün anlama ve problem çözme yeteneklerini göstermektedir.

Yapay Zekâda yeniyseniz, AI Fundamentals beceri yolunu inceleyin. ChatGPT, büyük dil modelleri ve üretici yapay zekâ gibi popüler AI konularını kapsar.

Ortam Kurulumu

API'yi kullanmaya başlamadan önce, Google AI for Developers üzerinden API anahtarını almamız gerekiyor.

1. "Get an API key" düğmesine tıklayın.

image1.png

2. Ardından projeyi oluşturun ve API anahtarını üretin.

image16.png

3. API anahtarını kopyalayın ve sisteminizde "Gemini_API_KEY" adlı bir ortam değişkeni ekleyin. Kaggle üzerinde güvenli bir ortam değişkeni oluşturmak için "Add-ons" bölümüne gidin ve "Secrets" seçeneğini tıklayın. Ardından bir etiket ve karşılık gelen değerini eklemek için "Add a new secret" düğmesine tıklayın ve kaydedin.

image6.png

4. pip kullanarak Gemini Python API paketini yükleyin.

%pip install google-generativeai

5. API anahtarını ekleyerek Gemini API'yi yapılandırın. Güvene erişmek için UserSecretsClient nesnesi oluşturmanız ve ardından etiketi sağlamanız gerekir.

import google.generativeai as genai
from kaggle_secrets import UserSecretsClient

user_secrets = UserSecretsClient()
gemini_key = user_secrets.get_secret("GEMINI_API_KEY")

genai.configure(api_key = gemini_key)

Yanıt Oluşturma

Bu bölümde, Gemini Pro modelini kullanarak yanıtların nasıl üretileceğini öğreneceğiz. Kodu kendi başınıza çalıştırırken sorun yaşıyorsanız, Gemini API Kaggle Notebook'unu takip edebilirsiniz.

Şimdi ücretsiz API ile hangi modellere erişimimiz olduğunu kontrol edeceğiz. Bunu yapmak için aşağıdaki kodu çalıştırın. list_models işlevini kullanarak desteklenen üretim modellerini gösterecektir.

for m in genai.list_models():
    if 'generateContent' in m.supported_generation_methods:
        print(m.name)

Görünüşe göre yalnızca iki modele erişimimiz var: "gemini-pro" ve "gemini-pro-vision".

models/gemini-pro
models/gemini-pro-vision

Hadi "Gemini Pro" modeline erişip basit bir istem vererek bir yanıt üretelim.

model = genai.GenerativeModel('gemini-pro')

response = model.generate_content("Please provide a list of the most influential people in the world.")

print(response.text)

Yalnızca birkaç satır kodla son derece doğru bir yanıt üretebildik.

image2.png

Gemini AI, bir istem için birden fazla yanıt (candidate) üretebilir; böylece en uygun olanı seçebilirsiniz. Ancak API'nin ücretsiz sürümü yalnızca bir candidate seçeneği sunar.

response.candidates

image7.png

Çıktımız Markdown biçiminde. Bunu IPython Markdown aracını kullanarak düzeltelim. Şimdi Gemini'den Python kodu üretmesini isteyeceğiz.

from IPython.display import Markdown

response = model.generate_content("Build a simple Python web application.")

Markdown(response.text)

Model harika bir iş çıkardı. Flask kullanarak basit bir web uygulamasının nasıl oluşturulup çalıştırılacağına ilişkin adım adım bir kılavuz üretti.

image11.png

Yayın (Streaming)

Uygulamanın algılanan hızını artırmak için streaming kullanmak önemlidir. 'stream' argümanını açtığınızda, yanıt kullanıma sunulur sunulmaz oluşturulup görüntülenir. Çıktımız parçalar hâlinde üretileceğinden, response üzerinde yineleme yapmamız gerekir.

from IPython.display import display

model = genai.GenerativeModel("gemini-pro")
response = model.generate_content(
    "How can I make authentic Italian pasta?", stream=True
)

for chunk in response:
    display(Markdown(chunk.text))
    display(Markdown("_" * 80))

Her parça kesikli bir çizgiyle ayrılır. Aşağıda gördüğümüz gibi içeriğimiz parçalar hâlinde üretiliyor. Gemini API'deki streaming, OpenAI ve Anthropic API'lerine benzer.

image5.png

Yanıtı İnce Ayarlama

Oluşturulan yanıtı gereksinimlerimize uyacak şekilde ayarlayabiliriz.

Aşağıdaki örnekte, maksimum 1000 token ve 0,7 sıcaklıkla tek bir candidate üretiyoruz. Ayrıca bir durdurma dizisi belirledik; böylece oluşturulan metinde "time" kelimesi geçtiğinde üretim süreci otomatik olarak durur.

response = model.generate_content(
    'How to be productive during a burnout stage.',
    generation_config=genai.types.GenerationConfig(
        candidate_count=1,
        stop_sequences=['time'],
        max_output_tokens=1000,
        temperature=0.7)
)

Markdown(response.text)

image10.png

Gemini Pro Vision'ı Denemek

Bu bölümde, Gemini AI'ın çoklu kip (multi-modality) özelliklerine erişmek için Gemini Pro Vision'ı kullanacağız.

Görseli curl aracıyla pexel.com üzerinden Mayumi Maciel'den indireceğiz.

!curl -o landscape.jpg "https://images.pexels.com/photos/18776367/pexels-photo-18776367/free-photo-of-colorful-houses-line-the-canal-in-burano-italy.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

image3.png

Görseli Kaggle Notebook'ta yükleyip görüntülemek için Pillow Python paketini kullanacağız.

import PIL.Image

img = PIL.Image.open('landscape.jpg')
display(img)

image15.jpg

Bu görselin içeriğini anlamak için önce "gemini-pro-vision" modelini yükleyip ona bir görsel nesnesi sağlamalıyız.

model = genai.GenerativeModel('gemini-pro-vision')

response = model.generate_content(img)

Markdown(response.text)

Görseldeki konumu doğru şekilde belirledi ve bir açıklama sundu.

A beautiful day in Burano, Italy. The colorful houses and the calm water make this a perfect place to relax and enjoy the scenery.

Modelimize görsel hakkında soru sormak için istem metniyle görsel nesnesini birlikte üretim işlevine verelim.

response = model.generate_content(
    ["Can you provide the exact location with coordinates?", img]
)

Markdown(response.text)
45.4408° N, 12.3150° E

Mekânın koordinatlarını doğru bir şekilde verdi ve biz de bu koordinatları Google Haritalar'a ekleyerek doğruladık.

image13.png

Sohbet Görüşmeleri

Önceki konuşmaların geçmişini kullanarak sohbet bağlamını koruyan bir yapay zekâ modeliyle konuşmak mümkündür. Bu sayede model, konuşmanın içeriğini hatırlayabilir ve önceki etkileşimlere dayalı olarak uygun yanıtlar verebilir.

Yapmamız gereken tek şey model.start_chat kullanarak bir sohbet nesnesi oluşturmak ve ona ilk mesajı vermektir.

model = genai.GenerativeModel('gemini-pro')

chat = model.start_chat(history=[])

chat.send_message("Who created the Mona Lisa?")

for message in chat.history:
    display(Markdown(f'**{message.role}**: {message.parts[0].text}'))

image8.png

Bir başka soru soralım ve yanıtı sohbet biçiminde görüntüleyelim.

chat.send_message("What else he created?")

for message in chat.history:
    display(Markdown(f'**{message.role}**: {message.parts[0].text}'))

Model bağlamı hatırladı ve uygun bir yanıt verdi.

image9.png

Gömme Temsiller (Embeddings)

API, bağlam farkındalığına sahip uygulamalar için popüler bir araç olan gömme model(ler)ine erişim sunar. Basit bir Python işleviyle, isteminizi veya içeriğinizi embedding'e dönüştürerek kelimeleri, cümleleri veya tüm belgeleri anlamsal anlamı kodlayan yoğun vektörler olarak temsil edebilirsiniz.

embed_content işlevine model adını, içeriği, görev türünü ve başlığı sağlayacağız.

result = genai.embed_content(
    model="models/embedding-001",
    content="Who created the Mona Lisa?",
    task_type="retrieval_document",
    title="Mona Lisa Research")

print(result['embedding'][:10])
[0.086675204, -0.027617611, -0.015689207, -0.00445945, 0.07286186, 0.00017529335, 0.07243656, -0.018299067, 0.018799499, 0.028495966]

Birden fazla içeriği embedding'e dönüştürmek için 'content' argümanına bir dizi (liste) metin sağlamanız gerekir.

result = genai.embed_content(
    model="models/embedding-001",
    content=[
        "Who created the Mona Lisa?",
        "What else he created?",
        "When did he died?"
    ],
    task_type="retrieval_document",
    title="Mona Lisa Research 2")

for emb in result['embedding']:
    print(emb[:10],"\n")
[0.07942627, -0.032543894, -0.010346633, -0.0039942865, 0.071596086, -0.0016670177, 0.07821064, -0.011955016, 0.019478166, 0.03784406] 

[0.027897138, -0.030693276, -0.0012639443, 0.0018902065, 0.07171923, -0.011544562, 0.04235154, -0.024570161, 0.013215181, 0.03026724] 

[0.04341321, 0.013262799, -0.0152797215, -0.009688456, 0.07342798, 0.0033503908, 0.05274988, -0.010907041, 0.05933596, 0.019402765]

Introduction to Embeddings with the OpenAI API kursuna kaydolun; anlamsal arama ve öneri motorları gibi gelişmiş AI uygulamaları için embedding modellerini öğrenin.

Gelişmiş Kullanım Senaryoları

Gemini API'nin tüm potansiyelinden yararlanmak için geliştiricilerin güvenlik ayarları ve düşük seviyeli API gibi gelişmiş özelliklere daha derinlemesine dalmaları gerekebilir.

  • Güvenlik ayarları, istemlerde ve yanıtlarda içerik engelleme ve izin verme yapılandırmasına olanak tanıyarak topluluk yönergelerine uyumu sağlar.
  • Daha düşük seviyeli API, özelleştirme için artan esneklik sunar.
  • Çok turlu sohbet deneyimleri, GenaiChatSession sınıfı kullanılarak genişletilebilir ve konuşma deneyimlerini iyileştirir.

Gelişmiş özelliklerin kullanılması, geliştiricilerin daha verimli uygulamalar oluşturmasına olanak tanır ve kullanıcı etkileşimleri için yeni olasılıkların kilidini açar.

Sonuç

Gemini API, hem metin hem de görsel girdileri kullanarak geliştiricilerin gelişmiş yapay zekâ uygulamaları oluşturması için heyecan verici olanaklar sunar. Gemini Ultra gibi en son teknoloji modelleri, yapay zekâ sistemlerinin anlayıp üretebileceği sınırları zorluyor.

Google, Python API üzerinden sağladığı kolay erişimle yapay zekâyı uygulamalara entegre etmeyi daha sorunsuz hale getirdi. Gemini API; içerik üretimi, embedding ve çok turlu sohbetler gibi bir dizi özellik sunarak yapay zekâyı daha erişilebilir kılıyor. Gemini AI, çok modlu anlama konusunda büyük bir sıçramayı temsil ediyor.

Daha fazla bilgi edinmek isterseniz, kısa bir Working with the OpenAI API kursuna kaydolup OpenAI API ile yapay zekâ destekli uygulamalar geliştirme yolculuğunuza başlayın. ChatGPT ve DataCamp'in yapay zekâ özellikli veri not defteri DataLab gibi popüler AI uygulamalarının arkasındaki işlevleri keşfedin.

Profesyonelseniz ve uygulamalı bir kursa ihtiyaç duymuyorsanız, OpenAI API in Python başvuru kılavuzumuzu inceleyebilirsiniz.

Abid Ali Awan

Yazar

Abid Ali Awan

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

İlgili