Укараненне Agentic AI у аўтаматызацыі дэтэрмінаваных тэсціравання з LangChain і DSPy | B4N1

Укараненне Agentic AI у аўтаматызацыі дэтэрмінаваных тэсціравання з LangChain і DSPy

6 months ago · b4n1 Read time: 3 min

Укараненне штучнага інтэлекту Agentic у аўтаматызацыі дэтэрмінаваных тэсціравання з дапамогай LangChain і DSPy

Уводзіны

Рост складанасці праграмных сістэм зрабіў аўтаматызацыю тэсціравання найважнейшым аспектам распрацоўкі праграмнага забеспячэння. Традыцыйныя рамкі аўтаматызацыі тэсціравання абапіраюцца на сцэнарныя падыходы, якія могуць быць далікатнымі і складанымі ў абслугоўванні. У апошнія гады з'яўленне Agentic AI і інструментаў аркестрацыі адкрыла новыя магчымасці для аўтаматызацыі складаных тэставых сцэнарыяў. У гэтым артыкуле мы вывучым скрыжаванне Agentic AI, інструментаў аркестрацыі і праграмнай інжынерыі для аўтаматызацыі складаных тэставых сцэнарыяў з выкарыстаннем LangChain і DSPy.

Што такое Agentic AI?

Agentic AI адносіцца да тыпу штучнага інтэлекту, які прызначаны для выканання дзеянняў ад імя карыстальніка або сістэмы. Сістэмы Agentic AI здольныя прымаць рашэнні, вучыцца на вопыце і адаптавацца да новых сітуацый. У кантэксце аўтаматызацыі тэсціравання Agentic AI можна выкарыстоўваць для аўтаматызацыі складаных тэставых сцэнарыяў шляхам мадэлявання ўзаемадзеяння карыстальнікаў, прыняцця рашэнняў на аснове тэставых даных і адаптацыі да зменлівых умоў тэставання.

Што такое LangChain?

LangChain - гэта інструмент аркестрацыі з адкрытым зыходным кодам, які дазваляе распрацоўшчыкам ствараць складаныя сістэмы штучнага інтэлекту з выкарыстаннем розных моў праграмавання, уключаючы Python, Rust і Go. LangChain забяспечвае гнуткую і модульную архітэктуру, якая дазваляе распрацоўшчыкам інтэграваць розныя кампаненты штучнага інтэлекту, такія як апрацоўка натуральнай мовы (NLP) і камп'ютэрны зрок, для стварэння складаных сістэм штучнага інтэлекту.

Што такое DSPy?

DSPy - гэта бібліятэка Python, якая забяспечвае набор інструментаў для стварэння і разгортвання сістэм штучнага інтэлекту. DSPy распрацаваны для бесперабойнай працы з LangChain і забяспечвае шэраг функцый, уключаючы апрацоўку даных, машыннае навучанне і глыбокае навучанне.

Укараненне штучнага інтэлекту Agentic у аўтаматызацыю дэтэрмінаваных тэсціравання

Каб укараніць Agentic AI у дэтэрмінаванай аўтаматызацыі тэсціравання, мы можам выкарыстоўваць LangChain і DSPy для стварэння сістэмы аўтаматызацыі тэсціравання, якая імітуе ўзаемадзеянне карыстальнікаў, прымае рашэнні на аснове тэставых даных і адаптуецца да зменлівых умоў тэставання.

Вось просты прыклад таго, як мы можам выкарыстоўваць LangChain і DSPy для аўтаматызацыі тэставага сцэнарыя:

імпарт Langchain
з langchain.chains імпартаваць LLMChain
з langchain.llms імпартаваць DSPyLLM


тэст_сцэнарый = {
    "user_input": "уваход",
    "expected_output": "уваход пасьпяховы"
}

# Вызначэнне агента Agentic AI
агент = LLMChain(
    llm=DSPyLLM(),
    input_type="тэкст",
    output_type="тэкст"
)

# Вызначце функцыю аўтаматызацыі тэставання
def test_automation (тэставы_сцэнарый):
    # Імітацыя ўзаемадзеяння з карыстальнікам
    user_input = тэставы_сцэнарый ["user_input"]
    # Прымайце рашэнне на падставе дадзеных тэсту
    рашэнне = agent.run(user_input)
    # Адаптавацца да зменлівых умоў выпрабаванняў
    калі рашэнне == "уваход паспяховы":
        print("Тэст пройдзены")
    яшчэ:
        print("Праверка не атрымалася")

# Запусціце функцыю аўтаматызацыі тэставання
тэст_аўтаматызацыі (тэставы_сцэнарый)

У гэтым прыкладзе мы вызначаем тэставы сцэнар, які прадугледжвае мадэляванне ўзаемадзеяння карыстальніка, прыняцце рашэння на аснове тэставых дадзеных і адаптацыю да зменлівых умоў тэставання. Затым мы вызначаем агент AI Agentic з дапамогай LangChain і DSPy і выкарыстоўваем яго для аўтаматызацыі тэставага сцэнарыя.

Топ-5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для LangChain і DSPy:

  1. langchain.LLMChain(llm=DSPyLLM()): стварае агент Agentic AI з дапамогай LangChain і DSPy.
  2. DSPyLLM(): ініцыялізуе асобнік DSPy LLM (вялікая моўная мадэль).
  3. LLMChain(input_type="text", output_type="text"): стварае агент Agentic AI з тыпамі ўводу і вываду тэксту.
  4. agent.run(user_input): Запускае агент Agentic AI з уводам карыстальніка.
  5. test_scenario = {"user_input": "уваход", "expected_output": "уваход паспяховы"}: вызначае тэставы сцэнар з уводам карыстальнікам і чаканым вынікам.
  6. langchain.chains.LLMChain(llm=DSPyLLM()): стварае агента AI Agentic з выкарыстаннем LangChain і DSPy.
  7. DSPyLLM().predict(user_input): прадказвае вывад DSPy LLM з уводам карыстальніка.
  8. LLMChain(input_type="text", output_type="text").run(user_input): запускае агент Agentic AI з тыпамі ўводу і вываду тэксту.
  9. test_automation(test_scenario): Запускае функцыю аўтаматызацыі тэставання з тэставым сцэнарыем.
  10. langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input): Запускае агент Agentic AI з уводам карыстальніка.

Візуалізацыя

Вось візуалізацыя агента Agentic AI з выкарыстаннем Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Увод карыстальніка", "Рашэнне", "Адаптацыя"],
    "наборы дадзеных": [
      {
        "label": "агент Agentic AI",
        "дадзеныя": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Агент Agentic AI"
    },
    "шалі": {
      "yAxes": [
        {
          "цікі": {
            "beginAtZero": праўда
          }
        }
      ]
    }
  }
}

Гэтая візуалізацыя паказвае прадукцыйнасць агента Agentic AI пры мадэляванні ўзаемадзеяння карыстальнікаў, прыняцці рашэнняў на аснове тэставых даных і адаптацыі да зменлівых умоў тэставання.

Выснова

У гэтым артыкуле мы даследавалі ўзаемасувязь Agentic AI, інструментаў аркестрацыі і распрацоўкі праграмнага забеспячэння для аўтаматызацыі складаных тэставых сцэнарыяў з выкарыстаннем LangChain і DSPy. Мы рэалізавалі просты прыклад штучнага інтэлекту Agentic у аўтаматызацыі дэтэрмінаванага тэсціравання і прапанавалі шэраг каманд/фрагментаў для LangChain і DSPy. Мы таксама візуалізавалі прадукцыйнасць агента Agentic AI з дапамогай Chart.js. Выкарыстоўваючы AI і інструменты аркестрацыі Agentic, распрацоўшчыкі могуць ствараць складаныя структуры аўтаматызацыі тэсціравання, якія мадэлююць узаемадзеянне карыстальнікаў, прымаюць рашэнні на аснове тэставых даных і адаптуюцца да зменлівых умоў тэставання.


Have Questions?

Let's Talk

Contact me on LinkedIn