Gemini Nano doğrudan model erişimiyle özel istekler gönderme

ML Kiti'nin doğrudan model erişimi (com.google.mlkit:genai-prompt) sayesinde, GenerativeModel sınıfı aracılığıyla cihaz üzerinde Gemini Nano temel modeline özel doğal dil istekleri gönderebilirsiniz. Doğrudan model erişimi, metin veya çok formatlı (görüntü ve metin) girişleri kabul eder, istemci tarafından yönetilen çok turlu sohbetleri (List<Content>, USER ve MODEL rolleri ve sessionId ile) destekler ve metin çıkışı veya yazılı yapılandırılmış çıkış üretir.

Doğrudan model erişimini aşağıdakiler gibi çeşitli kullanım alanları için kullanabilirsiniz:

Kullanım alanı

Örnek

Görüntü anlama

Fotoğrafları "evcil hayvanlar", "yemek" veya "seyahat" gibi kategorilere ayırmak için analiz etme

Shorts çevirileri

Teslimat görevlisi ile müşteri arasındaki kısa mesajları çevirme

Rehberli özetleme

Bir restoranla ilgili yorumları, kullanıcının belirli bir ilgi alanına göre özetleme

Varlık çıkarma

E-posta ileti dizisinden yaklaşan bir etkinlikle ilgili önemli ayrıntıları ayıklama

İçerik oluşturma konusunda ilham kaynağı

Günlük girişi için istem öneriliyor.

Akıllı belge tarama

Makbuz resmindeki öğeleri ayıklama ve kategorize etme

Metin sınıflandırma

Müşteri yorumlarını olumlu, nötr veya olumsuz kategorilerine ayırma

Doğrudan model erişimi ve göreve özel API'ler

ML Kiti, özel istemler için Gemini Nano temel modeline doğrudan erişimin yanı sıra konuşma, görüntü ve metin görevlerine özel önceden yapılandırılmış API'ler sağlar: Konuşma Tanıma, Görüntü Açıklama, Özetleme, Gözden Geçirme, Yeniden Yazma ve daha fazlası. Metin ve resim Tasks API'leri, paylaşılan temel modelin üzerinde göreve özel özellik türlerini ve hassas ayarlanmış LoRA adaptörlerini kullanır. Aşağıdaki tabloda her yaklaşımın avantajları özetlenmiştir:

Üzerinde düşünme

Doğrudan model erişimi (GenerativeModel)

Metin ve resim görevi API'leri

Entegrasyon çalışması

Yüksek.

İstem mühendisliği ve kalite kontrolü nedeniyle uygulamak için daha fazla çaba gerekir.

Yok.

Bu API'ler, temel modelin yanı sıra göreve özel özellik türlerini ve hassas ayarlanmış LoRA bağdaştırıcılarını kullandığından daha az çaba gerektirir. Doğrudan LLM ile çalışmanız gerekmez.

Esneklik

İstemleri özel olarak tasarlayabilir, çok adımlı bağlamı yönetebilir, yazılı yapılandırılmış şemaları uygulayabilir veya GenerativeModel üzerinde daha üst düzey aracı iş akışları (AgentRunner) oluşturabilirsiniz.

Daha az esneklik. Göreve özel her API'de sabit LoRA ince ayarı ve aşağıdaki özelliklere sahip yerleşik bir istem bulunur:

  • Resim açıklaması genel ve kısa.
  • Özetler yalnızca 1-3 madde işaretinden oluşabilir.
  • Yeniden yazma özelliği yalnızca önceden tanımlanmış stilleri destekler.

Genel bir kural olarak, daha fazla özelleştirme ve esnekliğe ihtiyacınız olduğunda doğrudan model erişimini, özel mantık gerektirmeyen standart görevler için ise göreve özel API'leri kullanın.

Örnek kod