Google Publish Genkit Go 1.0: Çerçeve AI Prodüksiyonun vade uygulamaları

Genkit Go 1.0 ile Google, AI'nın gelişimi için açık kaynaklı resimlerinin ilk kararlı sürümünü Go-EDOSYSTEM'de yayınladı. Şimdi başlayarak, geliştiriciler üretime hazır olarak uygulamalar oluşturabilir ve dağıtabilir. Aynı zamanda Google yeni CLI komutunu getiriyor genkit init:ai-tools Kodlama asistanları için doğrudan entegrasyon belediyelere.

Genkit Go 1.0'ın en heyecan verici yeniliklerinden biri, Go ve Json-scheme validasyon araçlarıyla yapay zeka türü akışları yaratma olasılığıdır. Bu görünüşe göre güvenilir ve daha kolay test edilmiş bir şekilde yapılandırılabilir.

Duyurunun katkısından aşağıdaki örnekte, bir akış yapılandırılmış bir tarif oluşturur:


package main

import (
    "context"
    "encoding/json"
    "fmt"
    "log"

    "github.com/firebase/genkit/go/ai"
    "github.com/firebase/genkit/go/genkit"
    "github.com/firebase/genkit/go/plugins/googlegenai"
)

// Define your data structures
type RecipeInput struct {
    Ingredient          string `json:"ingredient" jsonschema:"description=Main ingredient or cuisine type"`
    DietaryRestrictions string `json:"dietaryRestrictions,omitempty" jsonschema:"description=Any dietary restrictions"`
}

type Recipe struct {
    Title        string   `json:"title"`
    Description  string   `json:"description"`
    PrepTime     string   `json:"prepTime"`
    CookTime     string   `json:"cookTime"`
    Servings     int      `json:"servings"`
    Ingredients  []string `json:"ingredients"`
    Instructions []string `json:"instructions"`
    Tips         []string `json:"tips,omitempty"`
}

func main() {
    ctx := context.Background()

    // Initialize Genkit with plugins
    g := genkit.Init(ctx,
        genkit.WithPlugins(&googlegenai.GoogleAI{}),
        genkit.WithDefaultModel("googleai/gemini-2.5-flash"),
    )

    // Define a type-safe flow
    recipeFlow := genkit.DefineFlow(g, "recipeGeneratorFlow", 
        func(ctx context.Context, input *RecipeInput) (*Recipe, error) {
            dietaryRestrictions := input.DietaryRestrictions
            if dietaryRestrictions == "" {
                dietaryRestrictions = "none"
            }

            prompt := fmt.Sprintf(`Create a recipe with the following requirements:
                Main ingredient: %s
                Dietary restrictions: %s`, input.Ingredient, dietaryRestrictions)

            // Generate structured data with type safety
            recipe, _, err := genkit.GenerateData[Recipe](ctx, g,
                ai.WithPrompt(prompt),
            )
            if err != nil {
                return nil, fmt.Errorf("failed to generate recipe: %w", err)
            }

            return recipe, nil
        })

    // Run the flow
    recipe, err := recipeFlow.Run(ctx, &RecipeInput{
        Ingredient:          "avocado",
        DietaryRestrictions: "vegetarian",
    })
    if err != nil {
        log.Fatalf("could not generate recipe: %v", err)
    }

    // Print the structured recipe
    recipeJSON, _ := json.MarshalIndent(recipe, "", "  ")
    fmt.Println("Sample recipe generated:")
    fmt.Println(string(recipeJSON))

    <-ctx.Done() // Used for local testing only
}

İşte bir akış (recipeGeneratorFlow) ana bileşen ve “vejetaryen” gibi isteğe bağlı beslenme spesifikasyonlarına dayalı tarifler ürettiğini tanımlar. İstem, dinamik olarak oluşturulur, AI modeline (Google Gemini) ve bir veri yapısındaki yanıtı açıkça tanımlanmış (Recipe) geri döndü. Sonunda, akış “avokado, vejetaryen” girişi ile çalışır ve malzemeler, pişirme süresi ve uçları ile eksiksiz bir JSON tarifi döndürür.

Buna ek olarak, Genkit Go 1.0 ile geliştirici, harici arıları araç aracılığıyla entegre etme ve Google AI modelleri, Vertex AI, Openai, Antropik ve Ollama'yı tek tip bir arayüz aracılığıyla kullanma fırsatına sahiptir. Düzenleme bir uç nokta HTTP olarak basit olmalıdır. Özerk bir CLI ve bir Testler, çıkışlar ve izleme için etkileşimli kullanıcı arayüzü desteği.

Yeni Komut genkit init:ai-tools Gemini CLI, Firebase Studio, Claude Code ve Cursor gibi yardımcı araçları otomatik olarak ayarlar. Bu nedenle, geliştiriciler bunu gen kiti belgelerini doğrudan aramak, akışları test etmek, hata ayıklamaların izlerini yapmak ve en iyi uygulamalara göre kod oluşturmak için kullanabilir.


(MDO)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir