Спроведување на генетска вештачка интелигенција во детерминистичка тест автоматизација со LangChain и DSPy | B4N1

Спроведување на генетска вештачка интелигенција во детерминистичка тест автоматизација со LangChain и DSPy

3 months ago · b4n1 Read time: 4 min

Имплементирање на генетска вештачка интелигенција во детерминистичка тест автоматизација со LangChain и DSPy

Вовед

Зголемената сложеност на софтверските системи ја направи тест автоматизацијата клучен аспект на развојот на софтверот. Традиционалните рамки за автоматизација на тестови се потпираат на скриптирани пристапи, кои можат да бидат кршливи и тешки за одржување. Во последниве години, појавата на Agentic AI и Orchestration Tools отвори нови можности за автоматизирање на сложени тест сценарија. Во оваа статија, ќе го истражиме пресекот на Agentic AI, Orchestration Tools и Software Engineering за автоматизирање на сложени тест сценарија користејќи LangChain и DSPy.

Што е Agentic AI?

Агентичката вештачка интелигенција се однесува на тип на вештачка интелигенција која е дизајнирана да презема дејства во име на корисник или систем. Агентските системи за вештачка интелигенција се способни да донесуваат одлуки, да учат од искуство и да се прилагодуваат на новите ситуации. Во контекст на автоматизацијата на тестот, Agentic AI може да се користи за автоматизирање на сложени тест сценарија преку симулирање на интеракциите на корисниците, донесување одлуки врз основа на податоците од тестот и прилагодување на променливите услови за тестирање.

Што е LangChain?

LangChain е алатка за оркестрација со отворен код која им овозможува на програмерите да градат сложени системи за вештачка интелигенција користејќи различни програмски јазици, вклучувајќи ги Python, Rust и Go. LangChain обезбедува флексибилна и модуларна архитектура која им овозможува на програмерите да интегрираат различни компоненти на вештачка интелигенција, како што се обработка на природни јазици (NLP) и компјутерска визија, за да изградат софистицирани системи за вештачка интелигенција.

Што е DSPy?

DSPy е библиотека на Python која обезбедува збир на алатки за градење и распоредување на системи со вештачка интелигенција. DSPy е дизајниран да работи беспрекорно со LangChain и обезбедува низа функции, вклучувајќи обработка на податоци, машинско учење и длабоко учење.

Имплементирање на генетска вештачка интелигенција во детерминистичка автоматизација на тестовите

За да ја имплементираме Agentic AI во детерминистичката автоматизација на тестовите, можеме да ги користиме LangChain и DSPy за да изградиме рамка за автоматизација за тестирање која симулира интеракции на корисниците, донесува одлуки врз основа на податоците од тестот и се прилагодува на променливите услови за тестирање.

Еве едноставен пример за тоа како можеме да ги користиме LangChain и DSPy за автоматизирање на сценарио за тестирање:

увозен лангсин
од langchain.синџири увоз LLMCchain
од langchain.llms увоз DSPyLLM


тест_сценарио = {
    "user_input": "најави се",
    "expected_output": "пријавувањето е успешно"
}

# Дефинирајте го агентот за AI
агент = LLMCchain(
    llm=DSPyLLM(),
    влез_тип = "текст",
    output_type = "текст"
)

# Дефинирајте ја функцијата за автоматизација на тестот
def test_automation (тест_сценарио):
    # Симулирајте интеракција со корисникот
    user_input = тест_сценарио["user_input"]
    # Донесете одлука врз основа на податоците од тестот
    одлука = agent.run(user_input)
    # Прилагодете се на променливите услови за тестирање
    ако одлуката == "пријавувањето е успешно":
        печатење („Тестот помина“)
    друго:
        печатење („Тестот не успеа“)

# Извршете ја функцијата за автоматизација за тестирање
тест_автоматизација (тест_сценарио)

Во овој пример, дефинираме сценарио за тестирање кое вклучува симулирање на интеракција со корисникот, донесување одлука врз основа на податоците од тестот и прилагодување на променливите услови за тестирање. Потоа дефинираме агент за AI користејќи LangChain и DSPy и го користиме за автоматизирање на сценариото за тестирање.

** Топ 5-10 најкористени команди/парчиња**

Еве ги првите 5-10 најкористени команди/парчиња за LangChain и DSPy:

  1. langchain.LLMChain(llm=DSPyLLM()): Создава агент за AI користејќи LangChain и DSPy.
  2. DSPyLLM(): Иницијализира примерок на DSPy LLM (Модел на голем јазик).
  3. LLMCchain(input_type="text", output_type="text"): Создава агент за AI со типови на внесување и излез на текст.
  4. agent.run(user_input): Го извршува агентот Agentic AI со кориснички влез.
  5. test_scenario = {"user_input": "login", "expected_output": "login успешно"}: Дефинира тест сценарио со кориснички влез и очекуван излез.
  6. langchain.chains.LLMChain(llm=DSPyLLM()): Создава агент за AI користејќи LangChain и DSPy.
  7. DSPyLLM().predict(user_input): Го предвидува излезот на DSPy LLM со кориснички влез.
  8. LLMCchain(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): Го извршува агентот Agent AI со кориснички влез.

Визуелизација

Еве визуелизација на агентот за Агентна вештачка интелигенција користејќи Chart.js:

{
  "тип": "бар",
  "податоци": {
    "labels": ["Кориснички внес", "Одлука", "Адаптација"],
    "збирки на податоци": [
      {
        "етикета": "Агентска вештачка интелигенција",
        "податоци": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        „Ширина на границата“: 1
      }
    ]
  },
  "опции": {
    "наслов": {
      „екран“: точно,
      "text": "Агентска вештачка интелигенција"
    },
    "вага": {
      „yOxes“: [
        {
          "крлежи": {
            "beginAtZero": точно
          }
        }
      ]
    }
  }
}

Оваа визуелизација ги прикажува перформансите на агентот за AI во симулирање на интеракции со корисниците, донесување одлуки врз основа на податоците од тестот и прилагодување на променливите услови за тестирање.

Заклучок

Во оваа статија, го истраживме пресекот на Agentic AI, Orchestration Tools и Software Engineering за автоматизирање на сложени тест сценарија користејќи LangChain и DSPy. Спроведовме едноставен пример на Agentic AI во детерминистичка автоматизација на тестовите и обезбедивме опсег на команди/фрагменти за LangChain и DSPy. Ние, исто така, ги визуелизиравме перформансите на агентот за Агентна вештачка интелигенција користејќи Chart.js. Со користење на Agentic AI и Orchestration Tools, програмерите можат да изградат софистицирани рамки за автоматизација за тестирање кои симулираат интеракции со корисниците, донесуваат одлуки врз основа на податоците од тестот и се прилагодуваат на променливите услови за тестирање.


Have Questions?

Let's Talk

Contact me on LinkedIn