Innleiðing Agentic AI í Deterministic Test Automation með LangChain og DSPy | B4N1

Innleiðing Agentic AI í Deterministic Test Automation með LangChain og DSPy

6 months ago · b4n1 Read time: 3 min

** Innleiðing Agentic AI í Deterministic Test Automation með LangChain og DSPy**

Kynning

Aukið flókið hugbúnaðarkerfi hefur gert prófunarsjálfvirkni að mikilvægum þætti í hugbúnaðarþróun. Hefðbundin próf sjálfvirkni ramma treysta á forskriftaraðferðir, sem getur verið brothætt og erfitt að viðhalda. Undanfarin ár hefur tilkoma Agentic AI og Orchestration Tools opnað nýja möguleika til að gera flóknar prófunaraðstæður sjálfvirkar. Í þessari grein munum við kanna gatnamót Agentic AI, Orchestration Tools og Software Engineering til að gera flóknar prófunaraðstæður sjálfvirkar með LangChain og DSPy.

Hvað er Agentic AI?

Agentic AI vísar til tegundar gervigreindar sem er hönnuð til að grípa til aðgerða fyrir hönd notanda eða kerfis. Umboðsgervigreindarkerfi eru fær um að taka ákvarðanir, læra af reynslunni og laga sig að nýjum aðstæðum. Í tengslum við sjálfvirkni prófunar er hægt að nota Agentic AI til að gera flóknar prófunaraðstæður sjálfvirkar með því að líkja eftir notendasamskiptum, taka ákvarðanir byggðar á prófunargögnum og laga sig að breyttum prófunaraðstæðum.

Hvað er LangChain?

LangChain er opinn uppspretta hljómsveitarverkfæri sem gerir forriturum kleift að byggja flókin gervigreind kerfi með því að nota margs konar forritunarmál, þar á meðal Python, Rust og Go. LangChain býður upp á sveigjanlegan og máta arkitektúr sem gerir forriturum kleift að samþætta mismunandi gervigreindarhluta, svo sem náttúrulega málvinnslu (NLP) og tölvusjón, til að byggja upp háþróuð gervigreind kerfi.

Hvað er DSPy?

DSPy er Python bókasafn sem býður upp á sett af verkfærum til að byggja og dreifa gervigreindarkerfum. DSPy er hannað til að vinna óaðfinnanlega með LangChain og býður upp á fjölda eiginleika, þar á meðal gagnavinnslu, vélanám og djúpt nám.

Að innleiða Agentic AI í Deterministic Test Automation

Til að innleiða Agentic AI í deterministic próf sjálfvirkni, getum við notað LangChain og DSPy til að byggja upp próf sjálfvirkni ramma sem líkir eftir notendasamskiptum, tekur ákvarðanir byggðar á prófunargögnum og aðlagar sig að breyttum prófunaraðstæðum.

Hér er einfalt dæmi um hvernig við getum notað LangChain og DSPy til að gera sjálfvirkan prófunaratburðarás:

flytja inn langkeðju
frá langchain.chains flytja inn LLMChain
frá langchain.llms flytja DSPyLLM


prófunarsvið = {
    "user_input": "innskráning",
    "expected_output": "innskráning tókst"
}

# Skilgreindu Agentic AI umboðsmanninn
umboðsmaður = LLMChain(
    llm=DSPyLLM(),
    input_type="texti",
    output_type="texti"
)

# Skilgreindu sjálfvirkni prófsins
def test_automation(test_scenario):
    # Líktu eftir samskiptum notenda
    notandainntak = prófunarsvið["notandainntak"]
    # Taktu ákvörðun byggða á prófunargögnum
    ákvörðun = umboðsmaður.run(notandi_inntak)
    # Aðlagast breyttum prófunaraðstæðum
    ef ákvörðun == "innskráning tókst":
        print("Prófið staðist")
    annað:
        print("Próf mistókst")

# Keyrðu sjálfvirkni prófsins
test_automation(próf_scenario)

Í þessu dæmi skilgreinum við prófunaratburðarás sem felur í sér að líkja eftir notendasamskiptum, taka ákvörðun byggða á prófunargögnum og laga sig að breyttum prófunaraðstæðum. Við skilgreinum síðan Agentic AI umboðsmann sem notar LangChain og DSPy og notum það til að gera prófunarsviðið sjálfvirkt.

Top 5-10 mest notuðu skipanir/bútar

Hér eru 5-10 mest notuðu skipanirnar/bútarnir fyrir LangChain og DSPy:

  1. langchain.LLMCain(llm=DSPyLLM()): Býr til Agentic AI umboðsmann með LangChain og DSPy.
  2. DSPyLLM(): Frumstillir DSPy LLM (Large Language Model) tilvik.
  3. LLMCain(input_type="text", output_type="text"): Býr til Agentic AI umboðsmann með textainnsláttar- og úttakstegundum.
  4. agent.run(user_input): Keyrir Agentic AI umboðsmanninn með notandainntaki.
  5. test_scenario = {"user_input": "innskráning", "expected_output": "innskráning tókst"}: Skilgreinir prófunaratburðarás með notandainntaki og væntanlegu úttaki.
  6. langchain.chains.LLMCain(llm=DSPyLLM()): Býr til Agentic AI umboðsmann með LangChain og DSPy.
  7. DSPyLLM().predict(user_input): Spáir fyrir um úttak DSPy LLM með notandainntaki.
  8. LLMCain(input_type="text", output_type="text").run(user_input): Keyrir Agentic AI umboðsmanninn með textainnslátt og úttakstegundum.
  9. test_automation(test_scenario): Keyrir sjálfvirkni prófsins með prófunaratburðarás.
  10. langchain.chains.LLMCain(llm=DSPyLLM()).run(user_input): Keyrir Agentic AI umboðsmanninn með notandainntaki.

Sjónræn

Hér er mynd af Agentic AI umboðsmanninum með því að nota Chart.js:

{
  "type": "bar",
  "gögn": {
    "labels": ["Notandainntak", "Ákvörðun", "Aðlögun"],
    "gagnasett": [
      {
        "label": "Agentic AI Agent",
        "gögn": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "valkostir": {
    "titill": {
      "display": satt,
      "text": "Agentic AI Agent"
    },
    "vog": {
      "yAxes": [
        {
          "tikkar": {
            "beginAtZero": satt
          }
        }
      ]
    }
  }
}

Þessi sjónmynd sýnir frammistöðu Agentic AI umboðsmannsins við að líkja eftir notendasamskiptum, taka ákvarðanir byggðar á prófunargögnum og laga sig að breyttum prófunaraðstæðum.

Niðurstaða

Í þessari grein könnuðum við gatnamót Agentic AI, Orchestration Tools og Software Engineering til að gera flóknar prófunaraðstæður sjálfvirkar með LangChain og DSPy. Við innleiddum einfalt dæmi um Agentic AI í deterministic próf sjálfvirkni og útveguðum úrval skipana/búta fyrir LangChain og DSPy. Við sýndum líka frammistöðu Agentic AI umboðsmannsins með því að nota Chart.js. Með því að nýta Agentic AI og Orchestration Tools geta verktaki byggt upp háþróaða sjálfvirkni prófunarramma sem líkja eftir notendasamskiptum, taka ákvarðanir byggðar á prófunargögnum og aðlagast breyttum prófunaraðstæðum.


Have Questions?

Let's Talk

Contact me on LinkedIn