LangChain ve DSPy ile Deterministik Test Otomasyonunda Aracı Yapay Zekanın Uygulanması | B4N1

LangChain ve DSPy ile Deterministik Test Otomasyonunda Aracı Yapay Zekanın Uygulanması

3 months ago · b4n1 Read time: 3 min

LangChain ve DSPy ile Deterministik Test Otomasyonunda Ajansal Yapay Zekanın Uygulanması

Giriş

Yazılım sistemlerinin artan karmaşıklığı, test otomasyonunu yazılım geliştirmenin önemli bir yönü haline getirmiştir. Geleneksel test otomasyon çerçeveleri, kırılgan ve bakımı zor olabilen kodlanmış yaklaşımlara dayanır. Son yıllarda Aracı Yapay Zeka ve Düzenleme Araçlarının ortaya çıkışı, karmaşık test senaryolarının otomatikleştirilmesine yönelik yeni olanakların önünü açtı. Bu makalede, LangChain ve DSPy kullanarak karmaşık test senaryolarını otomatikleştirmek için Aracı Yapay Zeka, Düzenleme Araçları ve Yazılım Mühendisliğinin kesişimini inceleyeceğiz.

Ajansal AI nedir?

Agentic AI, bir kullanıcı veya sistem adına eylemde bulunmak üzere tasarlanmış bir tür yapay zekayı ifade eder. Ajansal yapay zeka sistemleri karar verme, deneyimlerden öğrenme ve yeni durumlara uyum sağlama yeteneğine sahiptir. Test otomasyonu bağlamında Agentic AI, kullanıcı etkileşimlerini simüle ederek, test verilerine dayalı kararlar alarak ve değişen test koşullarına uyum sağlayarak karmaşık test senaryolarını otomatikleştirmek için kullanılabilir.

LangChain nedir?

LangChain, geliştiricilerin Python, Rust ve Go gibi çeşitli programlama dillerini kullanarak karmaşık yapay zeka sistemleri oluşturmasına olanak tanıyan açık kaynaklı bir Düzenleme Aracıdır. LangChain, geliştiricilerin karmaşık yapay zeka sistemleri oluşturmak için doğal dil işleme (NLP) ve bilgisayar görüşü gibi farklı yapay zeka bileşenlerini entegre etmelerine olanak tanıyan esnek ve modüler bir mimari sağlar.

DSPy nedir?

DSPy, yapay zeka sistemlerini oluşturmak ve dağıtmak için bir dizi araç sağlayan bir Python kütüphanesidir. DSPy, LangChain ile sorunsuz çalışacak şekilde tasarlanmıştır ve veri işleme, makine öğrenimi ve derin öğrenme dahil olmak üzere bir dizi özellik sunar.

Deterministik Test Otomasyonunda Ajansal Yapay Zekanın Uygulanması

Agentic AI'yi deterministik test otomasyonunda uygulamak için, kullanıcı etkileşimlerini simüle eden, test verilerine dayalı kararlar veren ve değişen test koşullarına uyum sağlayan bir test otomasyon çerçevesi oluşturmak için LangChain ve DSPy'yi kullanabiliriz.

Bir test senaryosunu otomatikleştirmek için LangChain ve DSPy'yi nasıl kullanabileceğimize dair basit bir örnek:

Langchain'i içe aktar
langchain.chains'ten LLMChain'i içe aktarın
langchain.llms'den DSPyLLM'yi içe aktarın


test_senaryosu = {
    "user_input": "giriş",
    "expected_output": "giriş başarılı"
}

# Agentic AI aracısını tanımlayın
aracı = LLMChain(
    llm=DSPyLLM(),
    input_type = "metin",
    çıktı_tipi = "metin"
)

# Test otomasyon fonksiyonunu tanımlayın
def test_automation(test_scenario):
    # Kullanıcı etkileşimini simüle edin
    user_input = test_scenario["user_input"]
    # Test verilerine göre karar verin
    karar = aracı.run(user_input)
    # Değişen test koşullarına uyum sağlayın
    if karar == "giriş başarılı":
        print("Test başarıyla tamamlandı")
    başka:
        print("Test başarısız oldu")

# Test otomasyonu fonksiyonunu çalıştırın
test_automation(test_scenario)
''''
Bu örnekte, kullanıcı etkileşimini simüle etmeyi, test verilerine dayanarak karar vermeyi ve değişen test koşullarına uyum sağlamayı içeren bir test senaryosu tanımlıyoruz. Daha sonra LangChain ve DSPy kullanarak bir Agentic AI aracısı tanımlıyoruz ve bunu test senaryosunu otomatikleştirmek için kullanıyoruz.

**En Çok Kullanılan 5-10 Komut/Parçacık**

LangChain ve DSPy için en çok kullanılan 5-10 komut/parçacık şunlardır:

1. `langchain.LLMCain(llm=DSPyLLM())`: LangChain ve DSPy kullanarak bir Aracı Yapay Zeka aracısı oluşturur.
2. `DSPyLLM()`: Bir DSPy LLM (Büyük Dil Modeli) örneğini başlatır.
3. `LLMCain(input_type = "text", Output_type = "text")`: Metin giriş ve çıkış türlerine sahip bir Aracı Yapay Zeka aracısı oluşturur.
4. `agent.run(user_input)`: Agentic AI aracısını kullanıcı girişi ile çalıştırır.
5. `test_scenario = {"user_input": "login", "expected_output": "giriş başarılı"}`: Kullanıcı girişi ve beklenen çıktıyla bir test senaryosu tanımlar.
6. `langchain.chains.LLMCain(llm=DSPyLLM())`: LangChain ve DSPy kullanarak bir Aracı Yapay Zeka aracısı oluşturur.
7. `DSPyLLM().predict(user_input)`: Kullanıcı girişiyle DSPy LLM'nin çıktısını tahmin eder.
8. `LLMCain(input_type = "text", Output_type = "text").run (user_input)`: Agentic AI aracısını metin girişi ve çıkış türleriyle çalıştırır.
9. `test_automation(test_scenario)`: Test otomasyonu işlevini bir test senaryosuyla çalıştırır.
10. `langchain.chains.LLMCain(llm=DSPyLLM()).run(user_input)`: Agentic AI aracısını kullanıcı girişi ile çalıştırır.

**Görselleştirme**

Agentic AI aracısının Chart.js kullanılarak görselleştirilmesi:
```json
{
  "tip": "çubuk",
  "veri": {
    "etiketler": ["Kullanıcı Girişi", "Karar", "Uyarlama"],
    "veri kümeleri": [
      {
        "label": "Ajantik Yapay Zeka Temsilcisi",
        "veri": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "kenar genişliği": 1
      }
    ]
  },
  "seçenekler": {
    "başlık": {
      "görüntü": doğru,
      "text": "Ajan Yapay Zeka Temsilcisi"
    },
    "ölçekler": {
      "yAxes": [
        {
          "keneler": {
            "beginAtZero": doğru
          }
        }
      ]
    }
  }
}
''''
Bu görselleştirme, Agentic AI aracısının kullanıcı etkileşimlerini simüle etme, test verilerine dayalı kararlar alma ve değişen test koşullarına uyum sağlama konusundaki performansını gösterir.

**Sonuç**

Bu makalede, LangChain ve DSPy kullanarak karmaşık test senaryolarını otomatikleştirmek için Aracı Yapay Zeka, Düzenleme Araçları ve Yazılım Mühendisliğinin kesişimini araştırdık. Deterministik test otomasyonunda basit bir Agentic AI örneğini uyguladık ve LangChain ve DSPy için çeşitli komutlar/parçacıklar sağladık. Ayrıca Agentic AI aracısının performansını Chart.js kullanarak görselleştirdik. Geliştiriciler, Aracı Yapay Zeka ve Düzenleme Araçlarından yararlanarak kullanıcı etkileşimlerini simüle eden, test verilerine dayalı kararlar veren ve değişen test koşullarına uyum sağlayan gelişmiş test otomasyon çerçeveleri oluşturabilir.

Have Questions?

Let's Talk

Contact me on LinkedIn