Agentin tekoälyn käyttöönotto deterministisessä testiautomaatiossa LangChainilla ja DSPyllä | B4N1

Agentin tekoälyn käyttöönotto deterministisessä testiautomaatiossa LangChainilla ja DSPyllä

6 months ago · b4n1 Read time: 2 min

Agentin tekoälyn käyttöönotto deterministisessä testiautomaatiossa LangChainin ja DSPy:n avulla

Esittely

Ohjelmistojärjestelmien monimutkaistuminen on tehnyt testiautomaatiosta keskeisen ohjelmistokehityksen osa-alueen. Perinteiset testiautomaatiokehykset perustuvat käsikirjoitettuihin lähestymistapoihin, jotka voivat olla hauraita ja vaikeita ylläpitää. Viime vuosina Agentin tekoälyn ja Orchestration Toolsin ilmaantuminen on avannut uusia mahdollisuuksia monimutkaisten testiskenaarioiden automatisointiin. Tässä artikkelissa tutkimme Agentic AI:n, Orchestration Toolsin ja Software Engineeringin risteyskohtaa monimutkaisten testiskenaarioiden automatisoimiseksi LangChainin ja DSPyn avulla.

Mikä on agentti AI?

Agentilla tekoälyllä tarkoitetaan tekoälyä, joka on suunniteltu toimimaan käyttäjän tai järjestelmän puolesta. Agentit tekoälyjärjestelmät pystyvät tekemään päätöksiä, oppimaan kokemuksista ja sopeutumaan uusiin tilanteisiin. Testausautomaation yhteydessä Agentic AI:tä voidaan käyttää monimutkaisten testiskenaarioiden automatisointiin simuloimalla käyttäjien vuorovaikutusta, tekemällä päätöksiä testitietojen perusteella ja mukautumalla muuttuviin testiolosuhteisiin.

Mikä on LangChain?

LangChain on avoimen lähdekoodin orkestrointityökalu, jonka avulla kehittäjät voivat rakentaa monimutkaisia tekoälyjärjestelmiä käyttämällä useita ohjelmointikieliä, kuten Python, Rust ja Go. LangChain tarjoaa joustavan ja modulaarisen arkkitehtuurin, jonka avulla kehittäjät voivat integroida erilaisia ​​tekoälykomponentteja, kuten luonnollisen kielen käsittelyn (NLP) ja tietokonenäön, rakentaakseen kehittyneitä tekoälyjärjestelmiä.

Mikä on DSPy?

DSPy on Python-kirjasto, joka tarjoaa joukon työkaluja tekoälyjärjestelmien rakentamiseen ja käyttöönottoon. DSPy on suunniteltu toimimaan saumattomasti LangChainin kanssa ja tarjoaa joukon ominaisuuksia, kuten tietojenkäsittelyn, koneoppimisen ja syväoppimisen.

Agentin tekoälyn käyttöönotto deterministisessä testiautomaatiossa

Agentin tekoälyn toteuttamiseksi deterministisessä testiautomaatiossa voimme rakentaa LangChainin ja DSPyn avulla testiautomaatiokehyksen, joka simuloi käyttäjien vuorovaikutusta, tekee päätöksiä testitietojen perusteella ja mukautuu muuttuviin testiolosuhteisiin.

Tässä on yksinkertainen esimerkki siitä, kuinka voimme käyttää LangChainia ja DSPyä testiskenaarion automatisoimiseen:

tuoda langchain
langchain.chainsista tuonti LLMChain
Tuo DSPyLLM osoitteesta langchain.llms


test_scenario = {
    "user_input": "kirjautuminen",
    "expected_output": "kirjautuminen onnistui"
}

# Määritä Agentin AI-agentti
agentti = LLMChain(
    llm=DSPyLLM(),
    input_type="teksti",
    output_type="teksti"
)

# Määritä testiautomaatiotoiminto
def test_automation(test_scenario):
    # Simuloi käyttäjän vuorovaikutusta
    user_input = testi_skenario["käyttäjän_syöttö"]
    # Tee päätös testitietojen perusteella
    päätös = agent.run(user_input)
    # Sopeudu muuttuviin testiolosuhteisiin
    jos päätös == "kirjautuminen onnistui":
        print ("Testi läpäissyt")
    muu:
        print ("Testi epäonnistui")

# Suorita testiautomaatiotoiminto
testi_automaatio(testi_skenaario)

Tässä esimerkissä määrittelemme testiskenaarion, joka sisältää käyttäjän vuorovaikutuksen simuloinnin, päätöksen tekemisen testitietojen perusteella ja sopeutumisen muuttuviin testiolosuhteisiin. Määrittelemme sitten Agentin AI-agentin LangChainin ja DSPy:n avulla ja käytämme sitä testiskenaarion automatisointiin.

5–10 eniten käytettyä komentoa/katkelmaa

Tässä on 5-10 eniten käytettyä komentoa/katkelmaa LangChainille ja DSPylle:

  1. langchain.LLMChain(llm=DSPyLLM()): Luo Agentin AI-agentin LangChain- ja DSPy:n avulla.
  2. DSPyLLM(): Alustaa DSPy LLM (Large Language Model) -esiintymän.
  3. LLMChain(input_type="text", output_type="text"): Luo Agentin AI-agentin tekstinsyöttö- ja tulostustyypeillä.
  4. "agent.run(user_input)": Suorittaa Agentin AI-agentin käyttäjän syötteellä.
  5. test_scenario = {"user_input": "sisäänkirjautuminen", "expected_output": "sisäänkirjautuminen onnistui"}: Määrittää testiskenaarion käyttäjän syötteen ja odotetun tulosteen kanssa.
  6. "langchain.chains.LLMChain(llm=DSPyLLM())": Luo Agentin AI-agentin käyttämällä LangChain- ja DSPy-koodeja.
  7. DSPyLLM().predict(user_input): Ennustaa DSPy LLM:n lähdön käyttäjän syötteellä.
  8. LLMChain(input_type="text", output_type="text").run(user_input): Suorittaa Agentin AI-agentin tekstinsyöttö- ja tulostustyypeillä.
  9. test_automation(test_scenario): Suorittaa testiautomaatiotoiminnon testiskenaarion kanssa.
  10. langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input): Suorittaa Agentin AI-agentin käyttäjän syötteellä.

Visualisointi

Tässä on visualisointi Agentin AI-agentista Chart.js:n avulla:

{
  "tyyppi": "palkki",
  "data": {
    "labels": ["Käyttäjän syöte", "Päätös", "Sopeutuminen"],
    "tietojoukot": [
      {
        "label": "Agent AI Agent",
        "data": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "vaihtoehdot": {
    "otsikko": {
      "näyttö": totta,
      "text": "Agent AI Agent"
    },
    "vaa'at": {
      "yAxes": [
        {
          "ticks": {
            "beginAtZero": totta
          }
        }
      ]
    }
  }
}

Tämä visualisointi näyttää Agentic AI -agentin suorituskyvyn simuloimalla käyttäjien vuorovaikutusta, tekemässä päätöksiä testitietojen perusteella ja mukautuessaan muuttuviin testiolosuhteisiin.

Johtopäätös

Tässä artikkelissa tutkimme Agentic AI:n, Orchestration Toolsin ja Software Engineeringin risteyskohtaa monimutkaisten testiskenaarioiden automatisoimiseksi LangChainin ja DSPyn avulla. Otimme käyttöön yksinkertaisen esimerkin Agentic AI:stä deterministisessä testiautomaatiossa ja toimitimme joukon komentoja/katkelmia LangChainille ja DSPylle. Visualisoimme myös Agentic AI -agentin suorituskyvyn Chart.js:n avulla. Hyödyntämällä Agentic AI- ja Orchestration Tools -työkaluja kehittäjät voivat rakentaa kehittyneitä testiautomaatiokehyksiä, jotka simuloivat käyttäjien vuorovaikutusta, tekevät päätöksiä testitietojen perusteella ja mukautuvat muuttuviin testiolosuhteisiin.


Have Questions?

Let's Talk

Contact me on LinkedIn