1. Başlamadan önce
En heyecan verici makine öğrenimi (ML) atılımlarından biri, kullanıcıların basit metinlerine veya istemlerine dayalı olarak muhteşem görüntüler, metinler, sesler ve hatta videolar üretebilen üretken yapay zekadır. Google, özellikle PaLM API'nin kullanıma sunulmasıyla geliştiricilerin PaLM teknolojisiyle yeniden tasarlanan keyifli kullanıcı deneyimlerine sahip uygulama kategorileri oluşturmasına olanak tanır.
Bu codelab'de, Google ürün adlarına dayalı olarak haiku oluşturmak için PaLM API'yi kullanan bir uygulama oluşturacaksınız. Ayrıca, Flutter'ı kullanarak haikuları gösteren platformlar arası bir uygulama oluşturursunuz.
Ön koşullar
- İstem gibi büyük dil modelleri (LLM'ler) hakkında temel düzeyde bilgi
- Dart ile Flutter geliştirme konusunda temel bilgi
Neler öğreneceksiniz?
- Google'ın PaLM API'sini kullanma
- Sonuçları göstermek için platformlar arası bir Flutter uygulaması oluşturma
İhtiyacınız olanlar
- Flutter SDK'sı
- Visual Studio Code (VS Code) gibi bir metin düzenleyici
- Flutter ve Dart için VS Code kurulumu
- Flutter için Android veya iOS kurulumu (emülatörler ve simülatörler dahil)
- Windows, Linux veya macOS için Flutter'ın masaüstü kurulumu
- Flutter için web kurulumu
- PaLM API için bir API anahtarı
2. Hazırlanın
Başlangıç kodunu indirin
- Bu GitHub deposuna gidin.
- Bu codelab'in tüm kodunu indirmek için Code > Download zip'i (Kod > Zip dosyasını indir) tıklayın.
- İndirilen ZIP dosyasını açarak
codelabs-mainkök klasörünü çıkarın. Aşağıdaki klasörleri içerenhaiku-generatoralt dizinine ihtiyacınız vardır:
- Bu codelab'deki her adımda temel alacağınız başlangıç kodunu içeren
step0ilestep3klasörleri. - Tamamlanmış örnek uygulamanın kodunu içeren
finishedklasörü.
Proje bağımlılıklarını indirme
- VS Code'da File > Open folder > codelabs-main > haiku_generator > step0 > lib > main.dart'ı (Dosya > Klasör aç > codelabs-main > haiku_generator > step0 > lib > main.dart) tıklayın.
- Başlangıç uygulaması için gerekli paketleri indirmenizi isteyen bir VS Code iletişim kutusu görürseniz Paketleri al'ı tıklayın.

- Başlangıç uygulaması için gerekli paketleri indirmenizi isteyen bir VS Code iletişim kutusu görmüyorsanız terminalinizi açın,
step0klasörüne gidin veflutter pub getkomutunu çalıştırın.
Başlangıç uygulamasını çalıştırma
- VS Code'da Android Emulator veya iOS Simulator'ın düzgün şekilde ayarlandığından ve durum çubuğunda göründüğünden emin olun.
Örneğin, Pixel 5'i Android Emulator ile kullandığınızda gördüğünüz ekranı aşağıda bulabilirsiniz:

iOS Simülatörü ile iPhone 13'ü kullandığınızda gördüğünüz ekran:

Hata ayıklamayı başlat'ı tıklayın. Uygulama, Android Emulator veya iOS Simulator'da başlatılır.
Başlangıç uygulamasını keşfetme
Başlangıç uygulamasında aşağıdakilere dikkat edin:
- Kullanıcı arayüzü oldukça basittir.
- Kullanıcıların belirli bir Google ürününü seçmesine olanak tanıyan bir açılır menü bulunur.
- Kullanıcılar Generate haiku! (Haiku oluştur!) düğmesini seçtikten sonra Flutter uygulaması, yerleşik istemi PaLM API uç noktasına gönderir. Bu uç nokta, haikular oluşturur.
- Uygulama, yanıt aldıktan sonra oluşturulan haikuları metin widget'ında gösterir. Ancak Generate haiku! (Haiku oluştur!) seçeneğini belirlerseniz uygulama henüz PaLM API ile iletişim kuramadığı için hiçbir şey olmaz.

3. PaLM API'ye erişimi ayarlama
PaLM API'yi kullanmak için API anahtarına ihtiyacınız vardır. Bu codelab'in yayınlandığı sırada PaLM API hâlâ gizli önizleme aşamasındadır.
- PaLM API'ye erişiminizi ayarlamak için belgeleri inceleyerek bir API anahtarı oluşturun ve bu anahtarı daha sonra bu codelab'de kullanmak üzere not alın.
4. Google ürünlerinin menüsünü ekleme
Amacınız, Google ürünleri için haiku oluşturmak. Uygulama kullanıcısı, çalışma zamanında önceden doldurulmuş ürün adları listesinden dinamik olarak bir ürün seçebilir.
Uygulamaya Google ürünlerinin listesini eklemek için aşağıdaki adımları uygulayın:
- VS Code'da
step1/lib/data/repositories/product_repository_impl.dartdosyasına gidin. getAllProducts()işlevinin gövdesine, Google ürün adlarının dizisini depolayan aşağıdaki değişkeni ekleyin:
product_repository_impl .dart
var productData = [
{'productName': 'Google Search'},
{'productName': 'YouTube'},
{'productName': 'Android'},
{'productName': 'Google Maps'},
{'productName': 'Gmail'}
];
5. İsteği PaLM API'ye gönderme ve yanıtın kodunu çözme
Kullanıcı tarafından seçilen ürün adı aşağıdaki istem şablonuyla birleştirilir:
Context: You are an awesome haiku writer.
Message content: Write a cool haiku about {product name}.
Bu isteği PaLM API uç noktasına göndererek haiku oluşturmak için aşağıdaki adımları uygulayın:
- VS Code'da
step2/lib/data/repositories/poem_repository_impl.dartdosyasına gidin. getPoems()işlevinin gövdesine aşağıdaki kodu ekleyin:
poem_repository_impl.dart
// TODO: Replace YOUR_API_KEY with your API key.
var apiKey = 'YOUR_API_KEY';
const haikuCount = 5;
final url = Uri.parse(
'https://generativelanguage.googleapis.com/v1beta2/models/chat-bison-001:generateMessage?key=$apiKey');
final headers = {'Content-Type': 'application/json'};
final body = jsonEncode({
"prompt": {
"context": "You are an awesome haiku writer.",
"examples": [
{
"input": {"content": "Write a haiku about Google Photos."},
"output": {
"content":
"Google Photos, my friend\nA journey of a lifetime\nCaptured in pixels"
}
}
],
"messages": [
{"content": "Write a cool haiku for $productName"}
]
},
"candidate_count": haikuCount,
"temperature": 1,
});
try {
final response = await http.post(url, headers: headers, body: body);
if (response.statusCode == 200) {
final decodedResponse = json.decode(response.body);
String haikus = 'Here are $haikuCount haikus about $productName:\n\n';
for (var i = 0; i < haikuCount; i++) {
haikus += '${i + 1}.\n';
haikus += decodedResponse['candidates'][i]['content'] + '\n\n';
}
return haikus;
} else {
return 'Request failed with status: ${response.statusCode}.\n\n${response.body}';
}
} catch (error) {
throw Exception('Error sending POST request: $error');
}
YOUR_API_KEY dizesini daha önce kullandığınız API anahtarınızla değiştirin.
Yanıt alındıktan ve başarıyla kod çözme işleminden geçirildikten sonra, kullanıcı arayüzündeki metin widget'ı oluşturulan haikuları oluşturur.
6. Uygulamayı mobil platformlarda çalıştırma
- VS Code'da hedef cihazı Android veya iOS cihaz olarak ayarlayın.
Hata ayıklamayı başlat'ı tıklayın ve uygulamanın yüklenmesini bekleyin.- Açılır menüden bir ürün seçin ve ardından Haiku oluştur'u seçin. Uygulama, seçilen ürünle ilgili bir haiku gösteriyor.

7. Uygulamayı masaüstü platformlarda çalıştırma
Android ve iOS'e ek olarak Flutter; Linux, macOS ve Windows gibi masaüstü platformlarını da destekler.
Uygulamayı Linux'ta çalıştırma
- VS Code'da hedef cihazı Linux (linux-x64) olarak ayarlayın.
Hata ayıklamayı başlat'ı tıklayın ve uygulamanın yüklenmesini bekleyin.- Açılır menüden bir ürün seçin ve Generate haiku! (Haiku oluştur!) seçeneğini belirleyin.

Uygulamayı macOS'te çalıştırma
macOS'te, uygulama arka uca HTTP istekleri gönderdiğinden uygun yetkileri ayarlamanız gerekir. Daha fazla bilgi için Haklar ve uygulama korumalı alanı başlıklı makaleyi inceleyin.
Uygulamayı macOS'te çalıştırmak için aşağıdaki adımları uygulayın:
step3/macos/Runner/DebugProfile.entitlementsvestep3/macos/Runner/Release.entitlementsdosyalarına aşağıdaki kodu ekleyin:
DebugProfile.entitlements | Release.entitlements
<key>com.apple.security.network.client</key>
<true/>
- VS Code'da hedef cihazı macOS (darwin) olarak ayarlayın .
Hata ayıklamayı başlat'ı tıklayın ve uygulamanın yüklenmesini bekleyin.- Açılır menüden bir ürün seçin ve Generate haiku! (Haiku oluştur!) seçeneğini belirleyin.

Uygulamayı Windows'da çalıştırma
- VS Code'da hedef cihazı Windows (windows-x64) olarak ayarlayın.
Hata ayıklamayı başlat'ı tıklayın ve uygulamanın yüklenmesini bekleyin.- Açılır menüden bir ürün seçin ve Generate haiku! (Haiku oluştur!) seçeneğini belirleyin.

8. Uygulamayı web platformunda çalıştırma
Flutter uygulamasına web desteği de ekleyebilirsiniz. Web platformu, varsayılan olarak Flutter uygulamaları için otomatik olarak etkinleştirilir. Bu nedenle, tek yapmanız gereken platformu başlatmaktır.
Uygulamayı web platformunda çalıştırmak için aşağıdaki adımları uygulayın:
- VS Code'da hedef cihazı Chrome (web-javascript) olarak ayarlayın.
Hata ayıklamayı başlat'ı tıklayın ve uygulamanın Google Chrome'da yüklenmesini bekleyin.- Açılır menüden bir ürün seçin ve Generate haiku! (Haiku oluştur!) seçeneğini belirleyin.

9. Tebrikler
Google ürünleri hakkında haiku'lar oluşturan tam yığın bir uygulama geliştirdiniz. Uygulama yalnızca belirli Google ürünleri için haiku oluştursa da istemi kolayca değiştirip istediğiniz metni oluşturabilirsiniz. PaLM API'yi nasıl kullanacağınızı öğrendiğinize göre artık LLM'lerin inanılmaz gücünden yararlanarak muhteşem uygulamalar oluşturabilirsiniz.