වැඩිදියුණු කළ AI නියෝජිත හැකියාවන් සමඟින් ස්වයංක්‍රීය යටිතල පහසුකම් සංවිධානය කිරීම: DSPy සහ LangChain සමඟ DevOps වේගවත් කිරීම සඳහා තාක්ෂණික මාර්ගෝපදේශයක් | B4N1

වැඩිදියුණු කළ AI නියෝජිත හැකියාවන් සමඟින් ස්වයංක්‍රීය යටිතල පහසුකම් සංවිධානය කිරීම: DSPy සහ LangChain සමඟ DevOps වේගවත් කිරීම සඳහා තාක්ෂණික මාර්ගෝපදේශයක්

6 months ago · b4n1 Read time: 6 min

හැඳින්වීම

වර්තමාන වේගවත් ඩිජිටල් භූ දර්ශනය තුළ, කාර්යක්ෂම හා පරිමාණය කළ හැකි යටිතල පහසුකම් කළමනාකරණයේ අවශ්‍යතාවය කිසි විටෙක දැඩි වී නැත. වලාකුළු මත පදනම් වූ සේවා සඳහා ඇති ඉල්ලුම අඛණ්ඩව වර්ධනය වන බැවින්, ආයතන ඔවුන්ගේ DevOps ක්‍රියාවලීන් විධිමත් කිරීම සඳහා ස්වයංක්‍රීය යටිතල පහසුකම් විසඳුම් වෙත යොමු වේ. මෙම ලිපියෙන්, අපි අපගේ යටිතල ව්‍යුහය කළමනාකරණය කරන සහ ස්වයංක්‍රීය කරන ආකාරයෙහි විප්ලවීය වෙනසක් ඇති කරන අති නවීන මෙවලම් දෙකක් වන DSPy සහ LangChain හි හැකියාවන් ගවේෂණය කරමින්, AI බලයෙන් ක්‍රියාත්මක වන යටිතල පහසුකම් වාද්‍ය වෘන්දය පිළිබඳ ලෝකයට පිවිසෙන්නෙමු.

DevOps ස්වයංක්‍රීයකරණයේ අභියෝගය

DevOps ස්වයංක්‍රීයකරණය යනු බහාලුම්කරණය සහ වාද්‍ය වෘන්දයේ සිට අධීක්ෂණය සහ ලොග් වීම දක්වා බහුවිධ තාක්ෂණයන් පිළිබඳ ගැඹුරු අවබෝධයක් අවශ්‍ය වන සංකීර්ණ කාර්යයකි. යෙදුම් සහ සේවා සංඛ්‍යාව වර්ධනය වන විට, යටිතල පහසුකම්වල සංකීර්ණත්වය වැඩි වන අතර, එය කළමනාකරණය කිරීම සහ නඩත්තු කිරීම වඩ වඩාත් දුෂ්කර කරයි. DevOps ස්වයංක්‍රීයකරණය සඳහා වන සම්ප්‍රදායික ප්‍රවේශයන් බොහෝ විට අතින් ස්ක්‍රිප්ට් කිරීම සහ වින්‍යාස කිරීම මත රඳා පවතී, එය දෝෂ, නොගැලපීම් සහ ආරක්ෂක දුර්වලතා වලට තුඩු දිය හැකිය.

AI-බලවත් යටිතල පහසුකම් වාද්‍ය වෘන්දයේ නැගීම

AI-බලගන්වන යටිතල පහසුකම් වාද්‍ය වෘන්දය DevOps ස්වයංක්‍රීයකරණයේ ලෝකයේ ක්‍රීඩාව වෙනස් කරන්නකි. යන්ත්‍ර ඉගෙනීම සහ ස්වාභාවික භාෂා සැකසීම උත්තේජනය කිරීමෙන්, AI නියෝජිතයින්ට සංකීර්ණ කාර්යයන් ස්වයංක්‍රීය කිරීමට, ගැටළු පුරෝකථනය කිරීමට සහ වළක්වා ගැනීමට සහ සම්පත් භාවිතය ප්‍රශස්ත කිරීමට හැකිය. DSPy සහ LangChain මෙම අවකාශයේ ප්‍රමුඛ මෙවලම් දෙකක් වන අතර, ආයතනවලට ඔවුන්ගේ DevOps ක්‍රියාවලි වේගවත් කිරීමට උපකාර කළ හැකි විශේෂාංග සහ හැකියාවන් රාශියක් ඉදිරිපත් කරයි.

DSPy: පයිතන් මත පදනම් වූ AI වාද්‍ය වෘන්ද රාමුවක්

DSPy යනු පයිතන් මත පදනම් වූ AI වාද්‍ය වෘන්ද රාමුවක් වන අතර එය සංවර්ධකයින්ට AI බලයෙන් ක්‍රියාත්මක වන යටිතල පහසුකම් ස්වයංක්‍රීයකරණ විසඳුම් තැනීමට සහ යෙදවීමට හැකි වේ. DSPy සමඟින්, ඔබට ඔබේ යටිතල පහසුකම් සමඟ අන්තර්ක්‍රියා කළ හැකි, කාර්යයන් ස්වයංක්‍රීය කළ හැකි සහ තත්‍ය කාලීන දත්ත මත පදනම්ව තීරණ ගත හැකි අභිරුචි AI නියෝජිතයන් නිර්මාණය කළ හැකිය. DSPy හි මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය සහ පෙර-සාදන ලද සංරචකවල පුළුල් පුස්තකාලය එය මහා පරිමාණ යටිතල පහසුකම් කළමනාකරණය සඳහා කදිම තේරීමක් කරයි.

DSPy හි ප්‍රධාන ලක්ෂණ

  • මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය: DSPy හි මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය මඟින් ඔබේ යටිතල ව්‍යුහය සමඟ අන්තර් ක්‍රියා කළ හැකි අභිරුචි AI නියෝජිතයන් තැනීමට සහ යෙදවීමට ඔබට ඉඩ සලසයි.
  • පුළුල් පුස්තකාලය: DSPy හි පූර්ව-සාදන ලද සංරචකවල පුළුල් පුස්තකාලය සංකීර්ණ කාර්යයන් ස්වයංක්‍රීය කිරීම සහ ජනප්‍රිය DevOps මෙවලම් සමඟ ඒකාබද්ධ කිරීම පහසු කරයි.
  • තථ්‍ය කාලීන දත්ත සැකසීම: DSPy හි තත්‍ය කාලීන දත්ත සැකසීමේ හැකියාවන් AI නියෝජිතයින්ට මිනිත්තුව දක්වා දත්ත මත පදනම්ව තීරණ ගැනීමට හැකි වේ.

සරල DSPy කේත උදාහරණය

නව බහාලුමක් යෙදවීම ස්වයංක්‍රීය කරන DSPy කේත බ්ලොක් එකක සරල උදාහරණයක් මෙන්න:

ආනයනය dspy

# AI නියෝජිතයා නිර්වචනය කරන්න
නියෝජිතයා = dspy.Agent()

# බහාලුම් යෙදවීමේ කාර්යය නිර්වචනය කරන්න
කාර්යය = dspy.Task(
    නම=" කන්ටේනරය යොදන්න",
    විස්තරය="නිෂ්පාදන පරිසරයට නව බහාලුමක් යොදවන්න",
    inputs=["container_image", "container_port"],
    නිමැවුම් =["container_id"]
)

# බහාලුම් යෙදවීමේ පිටපත නිර්වචනය කරන්න
script = dspy.Script(
    name="Deploy Container Script",
    විස්තරය="නිෂ්පාදන පරිසරයට නව බහාලුමක් යොදවන්න",
    කේතය="""
    #!/bin/bash
    docker run -d -p {container_port}:{container_port} {container_image}
    """
)

# කාර්යයට ස්ක්‍රිප්ට් අමුණන්න
task.attach_script(script)

# AI නියෝජිතයාගේ කාර්ය ප්‍රවාහය නිර්වචනය කරන්න
වැඩ ප්‍රවාහය = dspy.Workflow(
    name="කන්ටේනර් යෙදවීමේ කාර්ය ප්‍රවාහය",
    description="නව බහාලුමක් යෙදවීම ස්වයංක්‍රීය කරන්න",
    කාර්යයන් =[කාර්යය]
)

# AI නියෝජිතයාගේ වින්‍යාසය නිර්වචනය කරන්න
config = dspy.Config(
    name="කන්ටේනර් යෙදවුම් වින්‍යාසය",
    description="කන්ටේනර් යෙදවීම සඳහා AI නියෝජිතයා වින්‍යාස කරන්න",
    inputs=["container_image", "container_port"]
)

# AI නියෝජිතයා සාදන්න
agent.create(වැඩ ප්‍රවාහය, වින්‍යාසය)

මෙම කේත අවහිරය නිෂ්පාදන පරිසරයට නව බහාලුමක් යෙදවීම ස්වයංක්‍රීය කරන සරල AI නියෝජිතයෙකු නිර්වචනය කරයි. කන්ටේනරය යෙදවීමට නියෝජිතයා පෙර-සාදන ලද බහාලුම් යෙදවුම් ස්ක්‍රිප්ට් එකක් භාවිතා කරන අතර, බහාලුම් රූපය සහ තොට සඳහා ආදාන පරාමිති පිළිගැනීමට කාර්ය ප්‍රවාහය වින්‍යාස කර ඇත.

LangChain: මලකඩ මත පදනම් වූ AI වාද්‍ය වෘන්ද රාමුවක්

LangChain යනු මලකඩ මත පදනම් වූ AI වාද්‍ය වෘන්ද රාමුවක් වන අතර එය සංවර්ධකයින්ට AI බලයෙන් ක්‍රියාත්මක වන යටිතල පහසුකම් ස්වයංක්‍රීයකරණ විසඳුම් තැනීමට සහ යෙදවීමට හැකි වේ. LangChain සමඟින්, ඔබට ඔබේ යටිතල පහසුකම් සමඟ අන්තර්ක්‍රියා කළ හැකි, කාර්යයන් ස්වයංක්‍රීය කළ හැකි සහ තත්‍ය කාලීන දත්ත මත පදනම්ව තීරණ ගත හැකි අභිරුචි AI නියෝජිතයන් නිර්මාණය කළ හැකිය. LangChain හි මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය සහ පෙර-සාදන ලද සංරචකවල පුළුල් පුස්තකාලය එය මහා පරිමාණ යටිතල පහසුකම් කළමනාකරණය සඳහා කදිම තේරීමක් කරයි.

LangChain හි ප්‍රධාන විශේෂාංග

  • මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය: LangChain හි මොඩියුලර් ගෘහ නිර්මාණ ශිල්පය ඔබට ඔබේ යටිතල පහසුකම් සමඟ අන්තර්ක්‍රියා කළ හැකි අභිරුචි AI නියෝජිතයන් තැනීමට සහ යෙදවීමට ඉඩ සලසයි.
  • පුළුල් පුස්තකාලය: LangChain හි පූර්ව-සාදන ලද සංරචකවල පුළුල් පුස්තකාලය සංකීර්ණ කාර්යයන් ස්වයංක්‍රීය කිරීම සහ ජනප්‍රිය DevOps මෙවලම් සමඟ ඒකාබද්ධ කිරීම පහසු කරයි.
  • තථ්‍ය කාලීන දත්ත සැකසීම: LangChain හි තත්‍ය කාලීන දත්ත සැකසීමේ හැකියාවන් AI නියෝජිතයින්ට මිනිත්තුව දක්වා දත්ත මත පදනම්ව තීරණ ගැනීමට හැකි වේ.

සරල LangChain කේත උදාහරණය

නව බහාලුමක් යෙදවීම ස්වයංක්‍රීය කරන LangChain කේත බ්ලොක් එකක සරල උදාහරණයක් මෙන්න: '''' මලකඩ langchain භාවිතා කරන්න::{Agent, Task, Script, Workflow, Config};

// AI නියෝජිතයා නිර්වචනය කරන්න නියෝජිතයාට ඉඩ දෙන්න = නියෝජිත::නව();

// බහාලුම් යෙදවීමේ කාර්යය නිර්වචනය කරන්න කාර්යයට ඉඩ දෙන්න = කාර්යය::නව( "කන්ටේනරය යොදන්න", "නිෂ්පාදන පරිසරයට නව බහාලුමක් යොදවන්න", vec!["container_image", "container_port"], vec!["container_id"] );

// බහාලුම් යෙදවීමේ පිටපත නිර්වචනය කරන්න ඉඩ script = Script ::new( "කන්ටේනර් ස්ක්‍රිප්ට් යොදන්න", "නිෂ්පාදන පරිසරයට නව බහාලුමක් යොදවන්න", r#" #!/bin/bash docker run -d -p {container_port}:{container_port} {container_image} "#, vec!["container_image", "container_port"] );

// ස්ක්‍රිප්ට් එක කාර්යයට අමුණන්න task.attach_script(script);

// AI නියෝජිතයාගේ කාර්ය ප්‍රවාහය නිර්වචනය කරන්න වැඩ ප්‍රවාහයට ඉඩ දෙන්න = කාර්ය ප්‍රවාහය ::new( "බහාලුම් යෙදවීමේ කාර්ය ප්‍රවාහය", "නව බහාලුමක් යෙදවීම ස්වයංක්‍රීය කරන්න", vec![කාර්යය] );

// AI නියෝජිතයාගේ වින්‍යාසය නිර්වචනය කරන්න වින්‍යාස කිරීමට ඉඩ දෙන්න = වින්‍යාසය::නව( "බහාලුම් යෙදවුම් වින්යාසය", "බහාලුම් යෙදවීම සඳහා AI නියෝජිතයා වින්‍යාස කරන්න", vec!["container_image", "container_port"] );

// AI නියෝජිතයා සාදන්න agent.create (workflow, config);

මෙම කේත අවහිරය නිෂ්පාදන පරිසරයට නව බහාලුමක් යෙදවීම ස්වයංක්‍රීය කරන සරල AI නියෝජිතයෙකු නිර්වචනය කරයි. කන්ටේනරය යෙදවීමට නියෝජිතයා පෙර-සාදන ලද බහාලුම් යෙදවුම් ස්ක්‍රිප්ට් එකක් භාවිතා කරන අතර, බහාලුම් රූපය සහ තොට සඳහා ආදාන පරාමිති පිළිගැනීමට කාර්ය ප්‍රවාහය වින්‍යාස කර ඇත.

## Top 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets

DSPy සහ LangChain සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන/snippets 5-10 මෙන්න:

### DSPy

1. `dspy.Agent().create(workflow, config)`: නිශ්චිත කාර්ය ප්‍රවාහය සහ වින්‍යාසය සමඟ නව AI නියෝජිතයෙකු සාදයි.
2. `dspy.Task().attach_script(script)`: AI නියෝජිතයාගේ කාර්ය ප්‍රවාහයේ කාර්යයකට ස්ක්‍රිප්ට් අමුණන්න.
3. `dspy.Script().new(නම, විස්තරය, කේතය)`: නිශ්චිත නම, විස්තරය සහ කේතය සමඟ නව පිටපතක් නිර්මාණය කරයි.
4. `dspy.Workflow().new(නම, විස්තරය, කාර්යයන්)`: නිශ්චිත නම, විස්තරය සහ කාර්යයන් සමඟ නව කාර්ය ප්‍රවාහයක් නිර්මාණය කරයි.
5. `dspy.Config().new(නම, විස්තරය, ආදාන)`: නිශ්චිත නම, විස්තරය සහ ආදාන පරාමිති සමඟ නව වින්‍යාසයක් සාදයි.

### LangChain

1. `langchain::Agent::new()`: නව AI නියෝජිතයෙකු නිර්මාණය කරයි.
2. `langchain::Task::new(name, description, inputs, outputs)`: නිශ්චිත නම, විස්තරය, යෙදවුම් සහ ප්‍රතිදානයන් සමඟින් නව කාර්යයක් නිර්මාණය කරයි.
3. `langchain::Script::new(නම, විස්තරය, කේතය, ආදාන)`: නිශ්චිත නම, විස්තරය, කේතය සහ ආදාන පරාමිති සමඟ නව පිටපතක් නිර්මාණය කරයි.
4. `langchain::Workflow::new(name, description, tasks)`: නිශ්චිත නම, විස්තරය සහ කාර්යයන් සමඟ නව කාර්ය ප්‍රවාහයක් නිර්මාණය කරයි.
5. `langchain::Config::new(name, description, inputs)`: නිශ්චිත නම, විස්තරය සහ ආදාන පරාමිති සමඟ නව වින්‍යාසයක් සාදයි.

## දෘශ්‍යකරණය

මෙන්න Chart.js භාවිතයෙන් AI නියෝජිතයාගේ කාර්ය ප්‍රවාහයේ දෘශ්‍යකරණයකි:
''''ජේසන්
{
  "වර්ගය": "බාර්",
  "දත්ත": {
    "ලේබල්": ["කන්ටේනර් යෙදවීම", "කාර්යය 1", "කාර්යය 2", "කාර්යය 3"],
    "දත්ත කට්ටල": [
      {
        "ලේබලය": "වැඩ ප්‍රවාහය",
        "දත්ත": [10, 5, 3, 2],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "දේශසීමා පළල": 1
      }
    ]
  },
  "විකල්ප": {
    "මාතෘකාව": {
      "දර්ශණය": ඇත්ත,
      "පෙළ": "AI නියෝජිත කාර්ය ප්‍රවාහය"
    },
    "පරිමාණ": {
      "yAxes": [
        {
          "දර්ශණය": ඇත්ත,
          "පරිමාණ ලේබලය": {
            "දර්ශණය": ඇත්ත,
            "labelString": "කාර්යයන්"
          }
        }
      ]
    }
  }
}

මෙම දෘශ්‍යකරණය AI නියෝජිතයාගේ කාර්ය ප්‍රවාහය පෙන්වයි, සෑම කාර්යයක්ම තීරුවකින් නියෝජනය වේ. x-අක්ෂයෙන් කාර්යයන් නියෝජනය වන අතර y-අක්ෂයෙන් කාර්යයන් ගණන නියෝජනය කරයි.

නිගමනය

මෙම ලිපියෙන්, අපි මෙම අවකාශයේ ප්‍රමුඛ මෙවලම් දෙකක් වන DSPy සහ LangChain කෙරෙහි අවධානය යොමු කරමින් AI-බලගන්වන යටිතල පහසුකම් වාදක ලෝකය ගවේෂණය කළෙමු. මෙම මෙවලම් සංකීර්ණ කාර්යයන් ස්වයංක්‍රීය කිරීමට, ගැටළු පුරෝකථනය කිරීමට සහ වළක්වා ගැනීමට සහ සම්පත් භාවිතය ප්‍රශස්ත කිරීමට භාවිතා කළ හැකි ආකාරය අපි දැක ඇත්තෙමු. ඔවුන්ගේ මොඩියුලර් ගෘහනිර්මාණ ශිල්පය සහ පෙර-සාදන ලද සංරචකවල පුළුල් පුස්තකාල සමඟ, DSPy සහ LangChain මහා පරිමාණ යටිතල පහසුකම් කළමනාකරණය සඳහා කදිම තේරීම් වේ. ඔබ පළපුරුදු DevOps වෘත්තිකයෙක් හෝ දැන් පටන් ගත්තද, මෙම මෙවලම් ඔබට ඔබේ DevOps ක්‍රියාවලි වේගවත් කිරීමට සහ ඔබේ යටිතල පහසුකම් කළමනාකරණය මීළඟ මට්ටමට ගෙන යාමට උපකාර වනු නිසැකය.


Have Questions?

Let's Talk

Contact me on LinkedIn