Microsoft Agent Framework (MAF) için Go Dili Desteği: Yapay Zeka Ajanları Geliştirmek için Yeni Bir SDK

Microsoft, yapay zeka ajanları oluşturmak için Go dilinde Microsoft Agent Framework (MAF) public preview sürümünü yayınladı. Bu SDK, .NET ve Python ile birlikte sunulan çoklu dil desteğini genişleterek karmaşık çoklu ajan iş akışlarını yönetmek için sağlam bir temel sağlıyor.

I
ITWISE
6 görüntülenme
Microsoft Agent Framework (MAF) için Go Dili Desteği: Yapay Zeka Ajanları Geliştirmek için Yeni Bir SDK

Giriş

Microsoft, Microsoft Agent Framework (MAF) adını verdiği yeni bir yazılım geliştirme çerçevesini Go programlama dili için public preview olarak kullanıma sundu. Bu gelişme, yapay zeka (AI) tabanlı ajanların geliştirilmesini kolaylaştırmakla kalmayıp, aynı zamanda çoklu programlama dili desteği sunan Microsoft'un ekosistemine önemli bir katkı sağlıyor. MAF, basit komut (prompt) çağrıları yerine, araç kullanımı ve bağlam yönetimi gibi üretim düzeyinde sistemler oluşturmak için geliştiricilere olanak tanıyor.

MAF Nedir ve Neden Önemlidir?

Microsoft Agent Framework (MAF), yapay zeka ajanlarının oluşturulmasını ve yönetilmesini basitleştirmek amacıyla tasarlanmış bir çerçevedir. Bu çerçeve, aşağıdaki özellikleriyle dikkat çekmektedir:

  • Çoklu Dil Desteği: MAF, şu anda Go, .NET ve Python dillerinde SDK'lar sunarak geliştiricilere esneklik sağlar.
  • Üretim Düzeyinde Sistemler: Basit prompt çağrıları yerine, araç kullanımı ve bağlam yönetimi gibi ileri düzey özellikler sunar.
  • Çoklu Ajan İş Akışları: Karmaşık çoklu ajan senaryolarını yönetmek için bir temel oluşturur.
  • Open-Source ve Genişletilebilir: Geliştiricilerin özel ihtiyaçlarına göre özelleştirilebilen bir mimariye sahiptir.

MAF'in Temel Bileşenleri

MAF, aşağıdaki bileşenlerden oluşmaktadır:

  1. Ajan Tanımlama: Geliştiriciler, ajanların davranışlarını ve yeteneklerini tanımlayabilirler.
  2. Araç Entegrasyonu: Ajanların harici araçları ve API'leri kullanmasına olanak tanır.
  3. Bağlam Yönetimi: Ajanların etkileşim geçmişini ve mevcut durumu takip etmelerini sağlar.
  4. Orkestrasyon: Birden fazla ajanın birlikte çalışmasını ve görevleri dağıtmasını sağlar.
  5. Güvenlik ve Denetim: Ajanların güvenli bir şekilde çalışmasını ve faaliyetlerinin denetlenmesini sağlar.

Go Dili için MAF SDK Nasıl Kurulur?

Zorluk Seviyesi: Intermediate (Orta düzey)

Go dilinde MAF SDK'yı kurmak ve kullanmaya başlamak için aşağıdaki adımları izleyebilirsiniz. Bu süreç, Go programlama diline ve temel komut satırı araçlarına aşina olan geliştiriciler için uygundur.

Adım 1: Go Dilini Kurun

MAF SDK'yı kullanabilmek için öncelikle Go dilinin kurulu olması gerekmektedir. Go dilini aşağıdaki adımlarla kurabilirsiniz:

  1. Go'nun Resmi Web Sitesini Ziyaret Edin: https://go.dev/dl/ adresine gidin.
  2. İşletim Sistemine Uygun Sürümü İndirin: Windows, macOS veya Linux için uygun olanı seçin.
  3. Kurulumu Tamamlayın: İndirilen dosyayı çalıştırın ve kurulum sihirbazını takip edin.
  4. Kurulumu Doğrulayın: Komut satırında aşağıdaki komutu çalıştırarak kurulumun başarılı olup olmadığını kontrol edin:
    go version

Adım 2: MAF SDK'yı Kurun

Go SDK'sını kurmak için aşağıdaki adımları izleyin:

  1. Git'i Kurun (Eğer Kurulu Değilse): Git, MAF SDK'nın indirilmesi için gereklidir. Git'i https://git-scm.com/downloads adresinden indirebilirsiniz.
  2. MAF SDK'yı İndirin: Aşağıdaki komutu kullanarak MAF SDK'yı projenizin dizinine klonlayın:
    git clone https://github.com/microsoft/MAF.git
  3. Bağımlılıkları Yükleyin: Proje dizinine gidin ve bağımlılıkları yüklemek için aşağıdaki komutu çalıştırın:
    go mod tidy
  4. SDK'yı Doğrulayın: SDK'nın doğru şekilde yüklendiğini doğrulamak için basit bir test programı çalıştırın:
    package main
    
    import (
        "fmt"
        "github.com/microsoft/MAF/go/agent"
    )
    
    func main() {
        a := agent.NewAgent("test-agent", "A simple test agent")
        fmt.Println("Agent created:", a.Name())
    }
İpucu: Go modüllerini kullanırken, go mod tidy komutunu çalıştırmak, projenizdeki tüm bağımlılıkların düzgün bir şekilde yüklenmesini sağlar. Ayrıca, go mod vendor komutunu kullanarak bağımlılıkları yerel olarak da depolayabilirsiniz.

Adım 3: İlk Ajanınızı Oluşturun

MAF SDK'yı kurduktan sonra, ilk ajanınızı oluşturmak için aşağıdaki adımları izleyin:

  1. Yeni Bir Proje Dizini Oluşturun: Aşağıdaki komutları kullanarak yeni bir dizin oluşturun ve içine girin:
    mkdir my-agent-project
    cd my-agent-project
  2. Go Modülünü Başlatın: Yeni bir Go modülü başlatın:
    go mod init my-agent-project
  3. MAF SDK'yı Projeye Ekleyin: Projenizin go.mod dosyasına MAF SDK'yı ekleyin:
    require github.com/microsoft/MAF/go v0.1.0
    Ardından, bağımlılıkları yüklemek için aşağıdaki komutu çalıştırın:
    go mod tidy
  4. Basit Bir Ajan Oluşturun: Aşağıdaki kodu kullanarak basit bir ajan oluşturun. Bu ajan, kullanıcıdan bir komut alır ve basit bir yanıt verir:
    package main
    
    import (
        "fmt"
        "github.com/microsoft/MAF/go/agent"
        "github.com/microsoft/MAF/go/tools"
    )
    
    func main() {
        // Yeni bir ajan oluştur
        a := agent.NewAgent("hello-agent", "A simple hello world agent")
    
        // Ajanın davranışını tanımlayın
        a.SetHandler(func(ctx agent.Context) error {
            input, err := ctx.Input()
            if err != nil {
                return err
            }
            fmt.Printf("User said: %s\n", input)
            return ctx.Output("Hello from the agent!")
        })
    
        // Ajanı başlat
        if err := a.Start(); err != nil {
            fmt.Println("Error starting agent:", err)
        }
    }
  5. Ajanı Çalıştırın: Ajanı çalıştırmak için aşağıdaki komutu kullanın:
    go run main.go
Uyarı: MAF SDK'nın public preview sürümü henüz tam olarak kararlı değildir. Üretim ortamında kullanmadan önce, SDK'nın güncellemelerini ve belgelerini düzenli olarak kontrol edin.

MAF ile Çoklu Ajan İş Akışları Oluşturma

MAF, birden fazla ajanın birlikte çalışmasını ve karmaşık iş akışlarını yönetmesini sağlar. Aşağıda, iki ajan arasındaki basit bir etkileşim örneğini bulabilirsiniz:

Örnek: İki Ajan Arasında İş Akışı

Aşağıdaki kod, bir greeting-agent ve bir response-agent arasındaki basit bir etkileşimi göstermektedir. İlk ajan kullanıcıdan bir selamlama alır ve ikinci ajana iletir. İkinci ajan ise gelen selamlamaya yanıt verir.

package main

import (
    "fmt"
    "github.com/microsoft/MAF/go/agent"
)

func main() {
    // Selamlama ajanı
    greetingAgent := agent.NewAgent("greeting-agent", "Greets the user")
    greetingAgent.SetHandler(func(ctx agent.Context) error {
        input, err := ctx.Input()
        if err != nil {
            return err
        }
        fmt.Printf("Greeting Agent received: %s\n", input)
        return ctx.Output(fmt.Sprintf("Hello, %s!", input))
    })

    // Yanıt ajanı
    responseAgent := agent.NewAgent("response-agent", "Responds to the greeting")
    responseAgent.SetHandler(func(ctx agent.Context) error {
        input, err := ctx.Input()
        if err != nil {
            return err
        }
        fmt.Printf("Response Agent received: %s\n", input)
        return ctx.Output("How can I help you today?")
    })

    // Ajanları başlat
    if err := greetingAgent.Start(); err != nil {
        fmt.Println("Error starting greeting agent:", err)
    }
    if err := responseAgent.Start(); err != nil {
        fmt.Println("Error starting response agent:", err)
    }

    // Ajanlar arası iletişimi simüle et
    greetingAgent.Send("World")
    responseAgent.Send("Hello, World!")
}

MAF'in Avantajları ve Kullanım Alanları

MAF'in sunduğu avantajlar ve kullanım alanları şunlardır:

  • Esneklik: Farklı programlama dillerinde ajanlar oluşturabilir ve yönetebilirsiniz.
  • Üretim Hazırlığı: Basit prompt çağrıları yerine, üretim düzeyinde sistemler oluşturmak için gerekli araçları sunar.
  • Ölçeklenebilirlik: Birden fazla ajanın birlikte çalışmasını sağlayarak karmaşık iş akışlarını yönetir.
  • Güvenlik: Ajanların güvenli bir şekilde çalışmasını ve faaliyetlerinin denetlenmesini sağlar.
  • Topluluk Desteği: Microsoft'un açık kaynak projelerine katkıda bulunmak isteyen geliştiriciler için geniş bir topluluk desteği sunar.

MAF'in kullanım alanlarına örnekler:

  • Müşteri Hizmetleri: Çoklu ajanlar kullanarak müşteri sorularına otomatik yanıtlar oluşturma.
  • Veri Analizi: Farklı ajanların birlikte çalışarak veri analizini gerçekleştirmesi.
  • Otomatikleştirilmiş İş Akışları: Kurumsal süreçlerin otomatikleştirilmesi ve yönetilmesi.
  • Yapay Zeka Tabanlı Uygulamalar: Karmaşık yapay zeka uygulamalarının geliştirilmesi ve yönetilmesi.

Sonuç

Microsoft'un yeni Microsoft Agent Framework (MAF) SDK'sı, Go programlama dili için public preview olarak kullanıma sunuldu. Bu SDK, yapay zeka ajanlarının geliştirilmesini ve yönetilmesini kolaylaştırarak, geliştiricilere üretim düzeyinde sistemler oluşturma olanağı tanıyor. MAF, çoklu dil desteği, araç entegrasyonu, bağlam yönetimi ve çoklu ajan iş akışları gibi özellikleriyle öne çıkıyor. Go dilinde MAF SDK'yı kullanmaya başlamak için yukarıdaki adımları izleyebilir ve kendi ajanlarınızı oluşturabilirsiniz. Microsoft'un bu yeniliği, yapay zeka tabanlı uygulamaların geliştirilmesinde önemli bir adım olarak değerlendirilebilir.

MAF'in public preview sürümü henüz gelişim aşamasında olduğundan, üretim ortamında kullanmadan önce SDK'nın güncellemelerini ve belgelerini düzenli olarak kontrol etmeyi unutmayın. Gelecekte, MAF'in daha fazla dil ve özellikle genişletilmesi beklenmektedir.

Kaynak

4sysops