การใช้ Agentic AI ในการทดสอบอัตโนมัติเชิงกำหนดด้วย LangChain และ DSPy | B4N1

การใช้ Agentic AI ในการทดสอบอัตโนมัติเชิงกำหนดด้วย LangChain และ DSPy

3 months ago · b4n1 Read time: 1 min

การนำ Agentic AI ไปใช้ในระบบอัตโนมัติการทดสอบเชิงกำหนดด้วย LangChain และ DSPy

บทนำ

ความซับซ้อนที่เพิ่มขึ้นของระบบซอฟต์แวร์ทำให้การทดสอบอัตโนมัติเป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์ เฟรมเวิร์กการทดสอบอัตโนมัติแบบดั้งเดิมอาศัยแนวทางแบบสคริปต์ ซึ่งอาจเปราะบางและยากต่อการบำรุงรักษา ในช่วงไม่กี่ปีที่ผ่านมา การเกิดขึ้นของ Agentic AI และ Orchestration Tools ได้เปิดโอกาสใหม่ๆ ให้กับสถานการณ์การทดสอบที่ซับซ้อนโดยอัตโนมัติ ในบทความนี้ เราจะสำรวจจุดตัดกันของ Agentic AI, Orchestration Tools และวิศวกรรมซอฟต์แวร์ เพื่อทำให้สถานการณ์การทดสอบที่ซับซ้อนเป็นอัตโนมัติโดยใช้ LangChain และ DSPy

Agentic AI คืออะไร

Agentic AI หมายถึงปัญญาประดิษฐ์ประเภทหนึ่งที่ออกแบบมาเพื่อดำเนินการในนามของผู้ใช้หรือระบบ ระบบ Agentic AI มีความสามารถในการตัดสินใจ เรียนรู้จากประสบการณ์ และปรับตัวให้เข้ากับสถานการณ์ใหม่ๆ ในบริบทของการทดสอบอัตโนมัตินั้น Agentic AI สามารถใช้เพื่อทำให้สถานการณ์การทดสอบที่ซับซ้อนเป็นอัตโนมัติโดยการจำลองการโต้ตอบของผู้ใช้ การตัดสินใจตามข้อมูลการทดสอบ และปรับให้เข้ากับเงื่อนไขการทดสอบที่เปลี่ยนแปลง

LangChain คืออะไร

LangChain คือ Orchestration Tool แบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนาสามารถสร้างระบบ AI ที่ซับซ้อนโดยใช้ภาษาการเขียนโปรแกรมที่หลากหลาย รวมถึง Python, Rust และ Go LangChain มอบสถาปัตยกรรมแบบโมดูลาร์ที่ยืดหยุ่นซึ่งช่วยให้นักพัฒนาสามารถรวมองค์ประกอบ AI ที่แตกต่างกัน เช่น การประมวลผลภาษาธรรมชาติ (NLP) และการมองเห็นคอมพิวเตอร์ เพื่อสร้างระบบ AI ที่ซับซ้อน

DSPy คืออะไร

DSPy เป็นไลบรารี Python ที่ให้ชุดเครื่องมือสำหรับการสร้างและปรับใช้ระบบ AI DSPy ได้รับการออกแบบมาเพื่อทำงานร่วมกับ LangChain ได้อย่างราบรื่น และมีคุณสมบัติต่างๆ มากมาย รวมถึงการประมวลผลข้อมูล การเรียนรู้ของเครื่อง และการเรียนรู้เชิงลึก

การนำ Agentic AI ไปใช้ในระบบอัตโนมัติของการทดสอบเชิงกำหนด

หากต้องการนำ Agentic AI ไปใช้ในระบบอัตโนมัติของการทดสอบที่กำหนด เราสามารถใช้ LangChain และ DSPy เพื่อสร้างเฟรมเวิร์กระบบอัตโนมัติในการทดสอบที่จำลองการโต้ตอบของผู้ใช้ ทำการตัดสินใจตามข้อมูลการทดสอบ และปรับให้เข้ากับเงื่อนไขการทดสอบที่เปลี่ยนแปลง

นี่คือตัวอย่างง่ายๆ ของวิธีที่เราสามารถใช้ LangChain และ DSPy เพื่อทำให้สถานการณ์การทดสอบเป็นแบบอัตโนมัติ:

นำเข้า langchain
จาก langchain.chains นำเข้า LLMChain
จาก langchain.llms นำเข้า DSPyLLM


test_scenario = {
    "user_input": "เข้าสู่ระบบ",
    "expected_output": "เข้าสู่ระบบสำเร็จ"
}

# กำหนดตัวแทน Agentic AI
ตัวแทน = LLMChain(
    llm=DSPYLLM(),
    input_type = "ข้อความ",
    output_type = "ข้อความ"
)

# กำหนดฟังก์ชันการทดสอบอัตโนมัติ
def test_automation (test_scenario):
    # จำลองการโต้ตอบของผู้ใช้
    user_input = test_scenario["user_input"]
    # ตัดสินใจตามข้อมูลการทดสอบ
    การตัดสินใจ = agent.run (user_input)
    # ปรับให้เข้ากับเงื่อนไขการทดสอบที่เปลี่ยนแปลง
    หากการตัดสินใจ == "เข้าสู่ระบบสำเร็จ":
        พิมพ์("ผ่านการทดสอบ")
    อื่น:
        print("การทดสอบล้มเหลว")

# เรียกใช้ฟังก์ชันการทดสอบอัตโนมัติ
test_automation (ทดสอบ_สถานการณ์)

ในตัวอย่างนี้ เรากำหนดสถานการณ์การทดสอบที่เกี่ยวข้องกับการจำลองการโต้ตอบของผู้ใช้ การตัดสินใจตามข้อมูลการทดสอบ และการปรับให้เข้ากับเงื่อนไขการทดสอบที่เปลี่ยนแปลง จากนั้นเราจะกำหนด Agentic AI โดยใช้ 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": "login", "expected_output": "login Success"}: กำหนดสถานการณ์การทดสอบด้วยอินพุตของผู้ใช้และเอาต์พุตที่คาดหวัง
  6. langchain.chains.LLMChain(llm=DSPyLLM()): สร้าง Agentic AI โดยใช้ 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:

{
  "type": "บาร์",
  "ข้อมูล": {
    "labels": ["ข้อมูลของผู้ใช้", "การตัดสินใจ", "การปรับตัว"],
    "ชุดข้อมูล": [
      {
        "label": "ตัวแทน AI ตัวแทน",
        "ข้อมูล": [10, 20, 30],
        "สีพื้นหลัง": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "ความกว้างของเส้นขอบ": 1
      }
    ]
  },
  "ตัวเลือก": {
    "ชื่อ": {
      "จอแสดงผล": จริง
      "text": "ตัวแทน AI ตัวแทน"
    },
    "ตาชั่ง": {
      "yAxes": [
        {
          "ติ๊ก": {
            "beginAtZero": จริง
          }
        }
      ]
    }
  }
}

การแสดงภาพนี้แสดงประสิทธิภาพของเอเจนต์ Agentic AI ในการจำลองการโต้ตอบของผู้ใช้ การตัดสินใจตามข้อมูลการทดสอบ และการปรับให้เข้ากับเงื่อนไขการทดสอบที่เปลี่ยนแปลง

บทสรุป

ในบทความนี้ เราได้สำรวจจุดตัดกันของ Agentic AI, Orchestration Tools และ Software Engineering เพื่อทำให้สถานการณ์การทดสอบที่ซับซ้อนเป็นอัตโนมัติโดยใช้ LangChain และ DSPy เราใช้ตัวอย่างง่ายๆ ของ Agentic AI ในการทดสอบอัตโนมัติตามที่กำหนด และจัดเตรียมคำสั่ง/ตัวอย่างข้อมูลต่างๆ สำหรับ LangChain และ DSPy นอกจากนี้เรายังแสดงภาพประสิทธิภาพของเอเจนต์ Agentic AI โดยใช้ Chart.js ด้วยการใช้ประโยชน์จาก Agentic AI และ Orchestration Tools นักพัฒนาสามารถสร้างเฟรมเวิร์กการทดสอบอัตโนมัติที่ซับซ้อนซึ่งจำลองการโต้ตอบของผู้ใช้ ตัดสินใจตามข้อมูลการทดสอบ และปรับให้เข้ากับเงื่อนไขการทดสอบที่เปลี่ยนแปลง


Have Questions?

Let's Talk

Contact me on LinkedIn