DevOps ස්වයංක්‍රීයකරණය සඳහා AI නියෝජිතයන් සංවිධානය කිරීම: LangChain සහ DSPy ප්‍රවේශයක් | B4N1

DevOps ස්වයංක්‍රීයකරණය සඳහා AI නියෝජිතයන් සංවිධානය කිරීම: LangChain සහ DSPy ප්‍රවේශයක්

3 months ago · b4n1 Read time: 5 min

හැඳින්වීම

කෘත්‍රිම බුද්ධිය (AI) සහ Machine Learning (ML) ඒකාබද්ධ කිරීමත් සමඟ DevOps ක්ෂේත්‍රය මෑත වසරවලදී සැලකිය යුතු පරිවර්තනයකට ලක්ව ඇත. AI සැලකිය යුතු බලපෑමක් ඇති කරන ප්‍රධාන ක්ෂේත්‍රවලින් එකක් වන්නේ ස්වයංක්‍රීයකරණ ක්ෂේත්‍රයයි. AI නියෝජිතයන් උත්තේජනය කිරීමෙන්, ආයතනවලට ඔවුන්ගේ මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන් විධිමත් කිරීමට, අතින් දෝෂ අඩු කිරීමට සහ සමස්ත කාර්යක්ෂමතාව වැඩි දියුණු කිරීමට හැකිය.

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

LangChain සහ DSPy යනු මොනවාද?

අපි AI-ධාවනය කරන DevOps ස්වයංක්‍රීයකරණය පිළිබඳ විස්තර වෙත කිමිදීමට පෙර, අපි LangChain සහ DSPy රාමු දෙස කෙටියෙන් බලමු.

LangChain

LangChain යනු විශාල භාෂා ආකෘති (LLMs) භාවිතයෙන් සංවාදාත්මක AI යෙදුම් තැනීමට සංවර්ධකයන්ට හැකි විවෘත මූලාශ්‍ර රාමුවකි. එය LLM සමඟ අන්තර්ක්‍රියා කිරීම සඳහා සරල සහ අවබෝධාත්මක API සපයයි, සංවර්ධකයින්ට ඔවුන්ගේ යෙදුම් සඳහා අභිරුචි සංවාද අතුරුමුහුණත් නිර්මාණය කිරීමට ඉඩ සලසයි.

LAMA, BERT, සහ RoBERTa වැනි ජනප්‍රිය මාදිලි ඇතුළුව LangChain පුළුල් පරාසයක LLMs සඳහා සහය දක්වයි. විශේෂිත භාවිත අවස්ථාවන්ට සරිලන පරිදි LLM හොඳින් සුසර කිරීම සහ අභිරුචිකරණය කිරීම සඳහා මෙවලම් මාලාවක් ද එය සපයයි.

DSPy

DSPy යනු පයිතන් පුස්තකාලයක් වන අතර එය ඔබගේ DevOps නල මාර්ගයට AI ආකෘති ඒකාබද්ධ කිරීමට සරල සහ කාර්යක්ෂම ක්‍රමයක් සපයයි. එය LangChain ඇතුළුව පුළුල් පරාසයක AI රාමු සඳහා සහය දක්වන අතර, AI මත ධාවනය වන කාර්ය ප්‍රවාහයන් ස්වයංක්‍රීය කිරීම සඳහා මෙවලම් පරාසයක් සපයයි.

DSPy නිර්මාණය කර ඇත්තේ Jenkins, GitLab, සහ Docker වැනි ජනප්‍රිය DevOps මෙවලම් සමඟ බාධාවකින් තොරව ක්‍රියා කිරීමට වන අතර, AI ඔවුන්ගේ පවතින DevOps යටිතල ව්‍යුහයට ඒකාබද්ධ කිරීමට බලාපොරොත්තු වන ආයතන සඳහා එය කදිම තේරීමක් කරයි.

DevOps ස්වයංක්‍රීයකරණය සඳහා AI නියෝජිතයින් සංවිධානය කිරීම

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

ක්‍රියාකාරී ගැටළු නිරාකරණය

AI-ධාවනය වන DevOps ස්වයංක්‍රීයකරණයේ එක් ප්‍රධාන ප්‍රතිලාභයක් වන්නේ ගැටළු ප්‍රධාන ගැටළු බවට පත්වීමට පෙර ක්‍රියාකාරීව විසඳීමට ඇති හැකියාවයි. LangChain සහ DSPy LLM සමඟ අන්තර්ක්‍රියා කරන අභිරුචි සංවාද අතුරුමුහුණත් නිර්මාණය කිරීමට භාවිතා කළ හැකි අතර විභව ගැටළු හඳුනා ගැනීමට සහ විසඳීම සඳහා නිර්දේශ සැපයීමට හැකිය.

මෙය ක්‍රියා කළ හැකි ආකාරය පිළිබඳ සරල උදාහරණයක් මෙන්න:

langchain ආනයනය කරන්න
langchain.chat_models වෙතින් LLaMA ආනයනය කරන්න

# LangChain කතාබස් ආකෘතියක් සාදන්න
chat_model = LLaMA()

# කතාබස් ආකෘතිය සමඟ අන්තර් ක්‍රියා කිරීමට ශ්‍රිතයක් නිර්වචනය කරන්න
def interact_with_chat_model(prompt):
    ප්‍රතිචාරය = chat_model.run(prompt)
    ආපසු ප්රතිචාරය

# විභව ගැටළු හඳුනා ගැනීමට ශ්‍රිතයක් නිර්වචනය කරන්න
හඳුනාගැනීමේ_ගැටලු (කේතය):
    prompt = f"පහත කේතයේ ඇති විය හැකි ගැටළු හඳුනා ගන්න: {code}"
    ප්‍රතිචාරය = interact_with_chat_model(ක්ෂණික)
    ආපසු ප්රතිචාරය

# විභේදනය සඳහා නිර්දේශ සැපයීමට කාර්යයක් නිර්වචනය කරන්න
def provide_recommendations(ගැටලු):
    prompt = f"පහත ගැටළු විසඳීම සඳහා නිර්දේශ ලබා දෙන්න: {ගැටළු}"
    ප්‍රතිචාරය = interact_with_chat_model(ක්ෂණික)
    ආපසු ප්රතිචාරය

# උදාහරණ භාවිතය
කේතය = """
def add(x, y):
    ආපසු x + y
"""
ගැටළු = හඳුනාගැනීම්_ගැටලු (කේතය)
නිර්දේශ = provide_recommendations(ගැටළු)
මුද්‍රණය (නිර්දේශ)

මෙම උදාහරණයේදී, දී ඇති විමසුමකට ප්‍රතිචාරයක් සැපයීම සඳහා LangChain චැට් ආකෘතිය සමඟ අන්තර්ක්‍රියා කරන සරල ශ්‍රිතයක් අපි අර්ථ දක්වන්නෙමු interact_with_chat_model. සමහර නියැදි කේතයක ඇති විය හැකි ගැටළු හඳුනා ගැනීමට සහ විසඳීම සඳහා නිර්දේශ සැපයීමට කතාබස් ආකෘතිය භාවිතා කරන අමතර කාර්යයන් දෙකක් අපි පසුව 'අඳුනන_ගැටළු' සහ 'නිර්දේශන_ සැපයීම' නිර්වචනය කරමු.

මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහ ස්වයංක්‍රීය කිරීම

LangChain සහ DSPy ඔබගේ පවතින DevOps නල මාර්ගයට AI මාදිලි අනුකලනය කිරීමෙන් මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන් ස්වයංක්‍රීය කිරීමට ද භාවිතා කළ හැක.

මෙය ක්‍රියා කළ හැකි ආකාරය පිළිබඳ උදාහරණයක් මෙන්න:

ආනයනය dspy
dspy import Workflow වෙතින්

# DSPy කාර්ය ප්‍රවාහයක් නිර්වචනය කරන්න
වැඩ ප්‍රවාහය = කාර්ය ප්‍රවාහය ()

# කේත විශ්ලේෂණ මෙවලමක් ක්‍රියාත්මක කිරීමට කාර්යයක් නිර්වචනය කරන්න
def run_code_analysis(කේතය):
    # විභව ගැටළු හඳුනා ගැනීමට කේත විශ්ලේෂණ මෙවලමක් ක්‍රියාත්මක කරන්න
    ගැටළු = []
    #...
    ආපසු ගැටළු

# විසඳුම සඳහා නිර්දේශ සැපයීමට කාර්යයක් නිර්වචනය කරන්න
def provide_recommendations(ගැටලු):
    # නිර්දේශ සැපයීමට LangChain කතාබස් ආකෘතිය භාවිතා කරන්න
    prompt = f"පහත ගැටළු විසඳීම සඳහා නිර්දේශ ලබා දෙන්න: {ගැටළු}"
    ප්‍රතිචාරය = langchain.chat_model.run(prompt)
    ආපසු ප්රතිචාරය

# කේතය යෙදවීමට කාර්යයක් නිර්වචනය කරන්න
def deploy_code(කේතය):
    # නිෂ්පාදන පරිසරයකට කේතය යොදන්න
    #...

# කාර්ය ප්‍රවාහය නිර්වචනය කරන්න
workflow.add_task(run_code_analysis)
workflow.add_task(provide_recommendations)
workflow.add_task(deploy_code)

# වැඩ ප්‍රවාහය ක්‍රියාත්මක කරන්න
workflow.run()

මෙම උදාහරණයේදී, අපි කාර්යයන් තුනකින් සමන්විත සරල DSPy කාර්ය ප්‍රවාහයක් නිර්වචනය කරමු: කේත විශ්ලේෂණ මෙවලමක් ධාවනය කිරීම, විභේදනය සඳහා නිර්දේශ සැපයීම සහ කේතය යෙදවීම. ඉන්පසුව අපි එක් එක් කාර්යය එකතු කර එය ක්රියාත්මක කිරීමෙන් කාර්ය ප්රවාහය නිර්වචනය කරමු.

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

LangChain සහ DSPy සඳහා බහුලව භාවිතා වන විධාන සහ කොටස් කිහිපයක් මෙන්න:

LangChain

  • langchain.chat_models.LLaMA(): LLaMA ආකෘතිය භාවිතයෙන් LangChain කතාබස් ආකෘතියක් සාදන්න.
  • langchain.chat_model.run(prompt): ලබා දී ඇති විමසුමකින් කතාබස් ආකෘතිය ධාවනය කරන්න.
  • langchain.chat_model.interact_with(prompt): ලබා දී ඇති විමසුමක් භාවිතයෙන් කතාබස් ආකෘතිය සමඟ අන්තර් ක්‍රියා කරන්න.

DSPy

  • dspy.Workflow(): DSPy කාර්ය ප්‍රවාහයක් සාදන්න.
  • workflow.add_task(task): කාර්ය ප්‍රවාහයට කාර්යයක් එක් කරන්න.
  • workflow.run(): වැඩ ප්‍රවාහය ක්‍රියාත්මක කරන්න.

දෘශ්‍යකරණය

Chart.js භාවිතයෙන් කාර්ය ප්‍රවාහයේ සරල දෘශ්‍යකරණයක් මෙන්න:

''''ජේසන් { "වර්ගය": "බාර්", "දත්ත": { "ලේබල්": ["කේත විශ්ලේෂණය", "නිර්දේශ", "යෙදීම"], "දත්ත කට්ටල": [ { "ලේබලය": "වැඩ ප්‍රවාහය", "දත්ත": [10, 20, 30], "පසුබිම් වර්ණය": [ "rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(255, 206, 86, 0.2)" ], "දේශසීමා වර්ණය": [ "rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)", "rgba(255, 206, 86, 1)" ], "දේශසීමා පළල": 1 } ] }, "විකල්ප": { "මාතෘකාව": { "දර්ශණය": ඇත්ත, "පෙළ": "වැඩ ප්‍රවාහය" }, "පරිමාණ": { "yAxes": [ { "කිනිතුල්ලන්": { "beginAtZero": ඇත්ත } } ] } } }


මෙම දෘශ්‍යකරණය මඟින් කාර්ය ප්‍රවාහය නියෝජනය කරන සරල තීරු ප්‍රස්ථාරයක් පෙන්වයි, කේත විශ්ලේෂණය, නිර්දේශ සහ යෙදවීමේ කාර්යයන් නියෝජනය කරන තීරු තුනක් ඇත.

## නිගමනය

මෙම ලිපියෙන්, අපි LangChain සහ DSPy භාවිතයෙන් AI මත ධාවනය වන DevOps ස්වයංක්‍රීයකරණයේ ලෝකය ගවේෂණය කළෙමු. ක්‍රියාශීලී ගැටළු නිරාකරණ පද්ධති නිර්මාණය කිරීමට සහ මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහ ස්වයංක්‍රීය කිරීමට මෙම රාමු භාවිතා කළ හැකි ආකාරය අපි දුටුවෙමු. අපි ඔබේ DevOps නල මාර්ගයට LLM ඒකාබද්ධ කරන්නේ කෙසේද සහ Chart.js භාවිතයෙන් කාර්ය ප්‍රවාහය දෘශ්‍යමාන කරන්නේ කෙසේද යන්න පිළිබඳ ප්‍රායෝගික උදාහරණ ද ලබා දුන්නෙමු.

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

Have Questions?

Let's Talk

Contact me on LinkedIn