İçeriğe atla
Son haberler
Rhino 8 yüzey filleti rehberi: Değişken yarıçap ve birleşim kontrolüBlender eklenti kurulumu: Extensions ve Add-ons için adım adım rehberGemini API ile mimari metinlerden şemalı JSON çıktısı üretmeKaraköy Timber Extension: Ahşap çerçeveli pavyon köy yaşamına alan açıyorRhino 8 yüzey analizi rehberi: Zebra ve eğrilik kontrolüBlender Cycles malzeme ayarları: displacement, emisyon ve hacim rehberiBlender Cycles ve Compositor rehberi: mimari görselleştirmede 6 ayarNano Banana ile mimari görsel üretimi: 5 prompt ve düzenleme yöntemiBlender render çıktı ayarları: Mimari görsel ve animasyon rehberiRhino 8’de ShrinkTrimmedSrf: Kırpılmış yüzey dokularını düzeltme rehberi
EğitimlerGemini APIMariYapılandırılmış çıktı

Gemini API ile mimari metinlerden şemalı JSON çıktısı üretme

Gemini API, yanıtları belirli bir JSON Schema’ya göre üretmeye olanak tanıyor. Bu rehberde mimari metinlerden düzenli veri çıkarmak için şema kurmayı, açık istem yazmayı ve örneklerle biçimi netleştirmeyi ele alıyoruz.

Mimari stüdyo masasındaki iç mekân maketi ve düzenli malzeme örnekleriAI görsel
Temsilî görsel; yapay zekâ ile üretildi.Görsel: 3dsınıfı / FCA AI
KaydetPaylaş0

Kısaca

  1. Gemini API, yapılandırılmış çıktılar için JSON Schema kullanabiliyor.
  2. Google GenAI SDK’larında şema tanımlamak için Python’da Pydantic, JavaScript’te Zod seçenekleri belgeleniyor.
  3. İstem tasarımında görevi, girdiyi, kısıtları ve beklenen yanıt biçimini açıkça belirtmek öneriliyor.
  4. Kaynaklardaki kod örneklerinden biri gemini-3.8-flash modelini kullanıyor; belgelerin üst kısmında Gemini 4 Argon’un da kullanılabilir olduğu belirtiliyor.

Bu rehberde ne öğreneceksiniz?

Bir proje brief’i, malzeme notu veya mekân açıklaması çoğu zaman serbest metin olarak gelir. Bu metinlerden oda adı, malzeme ve kullanım amacı gibi alanları düzenli biçimde çıkarmak gerektiğinde, yanıtın yalnızca doğal dilde verilmesi sonraki işlemleri zorlaştırabilir. Gemini API’nin yapılandırılmış çıktı özelliği, model yanıtının önceden tanımlanmış bir JSON Schema’ya uymasını istemeye yarar.

Bu uygulamada üç noktayı birlikte ele alacağız: beklenen alanları belirlemek, görevi ve kısıtları açık bir istemle anlatmak, ardından uygun şemayı API isteğine eklemek. Örnekler mimari iş akışlarına göre yazıldı; aşağıdaki istemler kaynaklarda aynen yer almıyor, belgelenen yöntemlere göre hazırlanmış özgün örneklerdir.

Gereksinimler ve kapsam

Google’ın belgeleri, yapılandırılmış çıktılar için REST API’de JSON Schema desteğinden söz ediyor. Google GenAI SDK’larında ise şema tanımlama seçenekleri olarak Python tarafında Pydantic, JavaScript tarafında Zod gösteriliyor. Kaynakta Java, Go ve başka örnekler de bulunuyor; bu rehberde kod yerine aktarımı kolay bir JSON Schema taslağı kullanıyoruz.

Belge örneklerinde JavaScript için Zod’un kurulması gerektiği not ediliyor; ancak SDK sürümü, hesap koşulları veya ücret bilgisi bu kaynaklarda verilmemiş. Bu nedenle proje başlamadan önce kullanılacak SDK’nın ve modelin güncel gereksinimlerini ilgili Gemini API belgelerinden kontrol edin. Belgelerin üst kısmında Gemini 4 Argon’un kullanılabilir olduğu yazarken, örnek kodda gemini-3.8-flash model adı geçiyor. Örnek model adını otomatik olarak güncel veya her kullanım için uygun kabul etmeyin.

1. Çıkarılacak alanları belirleyin

Şema hazırlamadan önce metinden hangi verilerin alınacağını ve her birinin hangi türde olacağını kararlaştırın. Örneğin aşağıdaki taslak, bir iç mekân brief’inden mekân adı, belirtilen malzeme ve işlev açıklaması çıkarmayı hedefliyor. object, properties, string ve required gibi temel JSON Schema yapıları, kaynakta gösterilen örneklerle uyumludur.

json
{
  "type": "object",
  "properties": {
    "mekan_adi": { "type": "string" },
    "malzeme": { "type": "string" },
    "islev": { "type": "string" }
  },
  "required": ["mekan_adi", "malzeme", "islev"]
}

Burada üç alan da zorunlu tutuluyor. Kaynak metin bir alanı belirtmiyorsa ne yapılacağını istemde ayrıca açıklayın; örneğin alanın boş bırakılmasını veya “belirtilmemiş” yazılmasını isteyebilirsiniz. Bu tercih, proje verisinin nasıl işleneceğine bağlıdır; şemayı kurarken bu kararı baştan vermek, ekip içinde tutarlı sonuç almayı kolaylaştırır.

2. Görevi ve girdiyi açıkça yazın

İyi bir istem; yapılacak işi, üzerinde çalışılacak metni ve yanıtın biçimini anlaşılır biçimde tarif eder. Google’ın istem tasarımı rehberi, açık ve belirli yönergeler kullanmayı; gerekiyorsa kısıtları ve biçim beklentisini belirtmeyi öneriyor. Aşağıdaki örneği kendi brief alanlarınıza göre düzenleyebilirsiniz.

Prompt
Aşağıdaki iç mekân proje brief’inden mekân adını, açıkça belirtilen malzemeyi ve mekânın işlevini çıkar. Yalnızca verilen metindeki bilgilere dayan. Bir bilgi metinde yoksa bunu “belirtilmemiş” olarak yaz. Yanıtı, sağlanan JSON şemasındaki alanlarla uyumlu bir JSON nesnesi olarak üret.

Brief: Zemin katta yer alan okuma alanında meşe kaplama yüzeyler ve ortak çalışma masaları bulunuyor.

Bu istem, metni girdi olarak verir; çıkarım görevini tanımlar ve bilinmeyen alanlar için davranış belirtir. Yapılandırılmış çıktı özelliği de beklenen yanıtın şemaya uymasını sağlar. İstem ile şema aynı alanları tarif etmelidir: Şemada olmayan yeni anahtarlar istemde talep edilmemeli, istenen alanlar da şemadan çıkarılmamalıdır.

3. Kısıtları proje ihtiyacına göre daraltın

Mimari dokümanlarda yorum ile kaynak bilgiyi birbirinden ayırmak önemlidir. Bir malzeme listesi çıkarıyorsanız, metinde bulunmayan ürün veya teknik özelliklerin eklenmemesini açıkça isteyin. Örneğin aşağıdaki istem, bir mahal açıklamasından yalnızca yazılı malzemeleri toplamaya odaklanır.

Prompt
Bu mahal açıklamasında adı geçen kaplama ve yüzey malzemelerini çıkar. Yeni malzeme önerme, eş anlamlı veya marka tahmini ekleme. Sonucu yalnızca malzeme adlarından oluşan bir liste olarak ver.

Açıklama: Giriş holünde terrazzo döşeme ve boyalı alçı duvar yüzeyi kullanılacaktır.

Bu örnekte liste biçimi isteniyor; dolayısıyla bunu JSON nesnesi bekleyen önceki şemayla aynı işte doğrudan kullanmayın. Yanıt biçimi ihtiyaca göre değişir: yapılandırılmış çıktı kullanırken şema, istemde tarif edilen sonuçla eşleşmelidir. Tek bir şemayı farklı türde görevlerde tekrar kullanmak yerine, her işin alanlarını ve veri türlerini yeniden değerlendirin.

4. Örnek yanıtla biçimi gösterin

Bir görevde istenen sınıflandırma veya yazım kalıbı doğal dille anlatıldığında yoruma açık kalıyorsa, kısa örnekler eklemek biçimi belirginleştirebilir. Google’ın rehberi, few-shot yaklaşımında modele örnek girdi ve beklenen yanıt biçimi gösterilebileceğini; örneklerin belirgin ve çeşitli olmasının yararlı olduğunu söylüyor.

Prompt
Aşağıdaki örnekteki alanları kullanarak yeni mahal notunu sınıflandır.

Örnek not: “Mutfak tezgâhı kuvars kompozit, dolap kapakları mat lake.”
Örnek çıktı: {"mekan": "Mutfak", "malzemeler": ["kuvars kompozit", "mat lake"]}

Yeni not: “Çalışma odasında ahşap parke ve sıva üzeri boya bulunuyor.”
Yalnızca aynı alan düzeninde yanıt ver.

Bu örnek, çıktı düzenini gösterir; gerçek API isteğinde kullanılacak şemayı ayrıca tanımlamanız gerekir. Kaynak rehber, az sayıda örnekle başlanabileceğini ve örnek sayısını kullanım durumuna göre denemenin gerekebileceğini belirtiyor. Çok fazla örneğin de modele aşırı uyum davranışı yaratabileceği uyarısı yer alıyor.

Sık yapılan hatalar

En yaygın sorun, gereksinimleri yalnızca isteme yazıp API tarafında şema belirtmemektir. Google, basit JSON biçimlerinin doğal dille istenebileceğini; daha karmaşık JSON Schema ihtiyaçlarında yapılandırılmış çıktı özelliğinin tercih edilmesini öneriyor. İkinci sorun, şemayla istemin farklı alanlar veya farklı yanıt biçimleri istemesidir. Önce alanları ve türleri netleştirin, sonra istemi bu yapıya göre yazın.

Bir başka hata, belirsiz metinlerde modelden kaynakta olmayan ayrıntıları tamamlamasını beklemektir. İstemde hangi bilginin çıkarılacağını, hangisinin dışarıda bırakılacağını ve eksik verinin nasıl gösterileceğini belirtin. Şema biçim tutarlılığına yardımcı olur; proje kaynağının doğruluğunu veya eksiksizliğini kendiliğinden garanti etmez. Üretilen kayıtları özgün brief ile karşılaştırmak, özellikle teslim ve dokümantasyon süreçlerinde önem taşır.

Mimarlık ve görselleştirme iş akışlarında kullanım

Bu yaklaşım, çok sayıda proje notunu aynı alanlara ayırması gereken mimarlık ofisleri, iç mimarlar ve öğrenciler için yararlı olabilir. Mahal açıklamalarından malzeme adlarını, mekân türlerini veya işlev tanımlarını çıkarmak; bu verilerin sonraki bir araca aktarılacağı iş akışlarında düzenli bir başlangıç noktası sağlar. Kaynaklar belirli bir BIM, CAD veya görselleştirme yazılımına entegrasyon tarif etmiyor; bu nedenle bağlantı ve uyumluluk ayrıca değerlendirilmelidir.

Ofisler, önce küçük bir metin kümesi üzerinde alanların işe yarayıp yaramadığını sınamalı; ardından aynı şema ve istemin farklı brief’lerde nasıl sonuç verdiğini kontrol etmelidir. Öğrenciler içinse bu yöntem, serbest metinden veri çıkarmayı ve JSON yapısını anlamayı pratik biçimde bir araya getirir. Donanım, lisans ve API kullanım maliyeti konusunda kaynaklarda bilgi bulunmuyor; üretim sürecine geçmeden önce bunları ilgili hizmet belgelerinden doğrulayın.

Sonraki adımlar

Önce tek bir kullanım seçin: örneğin mahal notundan malzeme çıkarmak. Alanları belirleyip şemayı kurun; ardından açık yönergeli bir istemle deneyin. Sonuçları kaynak metinle karşılaştırın, tekrarlayan hataları gözlemleyin ve yalnızca gerçekten gerekli olduğunda isteme örnek ekleyin. Uygulama tarafında Python kullanılıyorsa Pydantic, JavaScript kullanılıyorsa Zod ile şema tanımlama seçeneklerini değerlendirin. REST API kullanımı da belgelerde destekleniyor.

İş büyüdüğünde şema değişikliklerini ve beklenen alanları ekip içinde belgeleyin. Böylece mimari brief’leri işleyen farklı görevlerde aynı veri yapısının korunup korunmadığı daha kolay takip edilir. Başlangıç için hedef, her şeyi otomatikleştirmek değil; tekrarlanan bir metin işini açık kurallarla ve kontrol edilebilir bir yanıt biçimiyle sınamaktır.

Kaynak ve lisans

Bu rehber, Google’ın “Structured outputs” ve “Prompt design strategies” belgelerinden Türkçeye uyarlanmıştır. Her iki kaynak da CC BY 4.0 lisanslıdır.

Sık sorulan sorular

Gemini API yapılandırılmış çıktıda hangi şema biçimini destekliyor?

Belgeler, REST API’de JSON Schema desteği olduğunu belirtiyor. Google GenAI SDK’larında Python için Pydantic, JavaScript için Zod örnekleri gösteriliyor.

Gemini API’den JSON çıktısı almak için istem yeterli mi?

Basit yanıt biçimleri doğal dille istenebilir; ancak Google, daha karmaşık JSON Schema ihtiyaçları için yapılandırılmış çıktı özelliğini öneriyor.

Mimari brief’lerden hangi veriler çıkarılabilir?

İstem ve şemada tanımlanan alanlara göre mekân adı, malzeme veya işlev gibi metinde açıkça bulunan bilgiler çıkarılabilir. Kaynakta olmayan bilgilerin nasıl ele alınacağını da istemde belirtmek gerekir.

Kaynaklar

2 kaynak
A(
ai.google.dev (CC BY 4.0)ai.google.dev/gemini-api/docs/structured-output
Özet
A(
ai.google.dev (CC BY 4.0)ai.google.dev/gemini-api/docs/prompting-strategies
Özet

Kaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.

3dsınıfı yorumu
3dEditörün değerlendirmesi

Türkiye’deki ofisler için en somut değer, tekrar eden brief ve mahal notlarını belirli alanlara ayırmayı küçük bir denemeyle sınayabilmek. Bu, doğrudan BIM ya da görselleştirme yazılımına bağlanmış bir çözüm değil; aradaki veri aktarımını ayrıca tasarlamak gerekiyor.

Üretime geçmeden önce API kullanım koşullarını, maliyeti ve tercih edilen SDK/model gereksinimlerini doğrulamak önemli; kaynaklar bu başlıklarda ayrıntı vermiyor. Donanım yerine burada ilk dikkat noktası, şema ile istemin tutarlılığı ve üretilen verinin kaynak metinle kontrol edilmesi olmalı.

Bu habere tepkin ne?

Yorumlar 0

İlk yorumu sen yazKendi test sonuçlarını ya da sorunu paylaş.
+

İlgili haberler