AI գործակալների կազմակերպում DevOps ավտոմատացման համար. LangChain և DSPy մոտեցում | B4N1

AI գործակալների կազմակերպում DevOps ավտոմատացման համար. LangChain և DSPy մոտեցում

3 months ago · b4n1 Read time: 4 min

Ներածություն

DevOps-ի ոլորտը վերջին տարիներին ենթարկվել է զգալի վերափոխումների, քանի որ Արհեստական ինտելեկտի (AI) և մեքենայական ուսուցման (ML) ինտեգրումն ավելի ու ավելի ակնառու է դառնում: Հիմնական ոլորտներից մեկը, որտեղ AI-ն էական ազդեցություն է թողնում, ավտոմատացման տիրույթն է: Օգտագործելով AI գործակալները՝ կազմակերպությունները կարող են պարզեցնել իրենց ծրագրային ապահովման մշակման աշխատանքային հոսքերը, նվազեցնել ձեռնարկի սխալները և բարելավել ընդհանուր արդյունավետությունը:

Այս հոդվածում մենք կխորանանք AI-ի վրա հիմնված DevOps ավտոմատացման աշխարհում՝ կենտրոնանալով LangChain և DSPy շրջանակների վրա: Մենք կուսումնասիրենք, թե ինչպես կարող են այս գործիքները օգտագործվել խնդիրների լուծման պրոակտիվ համակարգեր ստեղծելու և ծրագրային ապահովման մշակման աշխատանքային հոսքերը ավտոմատացնելու համար: Բացի այդ, մենք գործնական օրինակ կներկայացնենք, թե ինչպես կարելի է ինտեգրել Large Language Models (LLMs) ձեր DevOps խողովակաշարին:

Ի՞նչ են LangChain-ը և DSPy-ը:

Նախքան AI-ի վրա հիմնված DevOps ավտոմատացման մանրամասների մեջ խորանալը, եկեք համառոտ նայենք LangChain և DSPy շրջանակներին:

LangChain

LangChain-ը բաց կոդով շրջանակ է, որը ծրագրավորողներին հնարավորություն է տալիս ստեղծել խոսակցական AI հավելվածներ՝ օգտագործելով Large Language Models (LLMs): Այն ապահովում է պարզ և ինտուիտիվ API՝ LLM-ների հետ շփվելու համար՝ թույլ տալով ծրագրավորողներին ստեղծել հատուկ խոսակցական միջերեսներ իրենց հավելվածների համար:

LangChain-ն աջակցում է LLM-ների լայն տեսականի, ներառյալ հայտնի մոդելներ, ինչպիսիք են LLaMA, BERT և RoBERTa: Այն նաև տրամադրում է մի շարք գործիքներ LLM-ները ճշգրտելու և հարմարեցնելու համար՝ հատուկ օգտագործման դեպքերին համապատասխան:

DSPy

DSPy-ն Python գրադարան է, որն ապահովում է AI մոդելները ձեր DevOps խողովակաշարում ինտեգրելու պարզ և արդյունավետ միջոց: Այն աջակցում է AI շրջանակների լայն շրջանակ, ներառյալ LangChain-ը, և տրամադրում է մի շարք գործիքներ AI-ի վրա հիմնված աշխատանքային հոսքերի ավտոմատացման համար:

DSPy-ը նախագծված է անխափան աշխատելու հանրահայտ DevOps գործիքների հետ, ինչպիսիք են Jenkins-ը, GitLab-ը և Docker-ը, ինչը այն դարձնում է իդեալական ընտրություն այն կազմակերպությունների համար, որոնք ցանկանում են AI-ն ինտեգրել իրենց գոյություն ունեցող DevOps ենթակառուցվածքում:

AI գործակալների կազմակերպում DevOps ավտոմատացման համար

Այժմ, երբ մենք ունենք LangChain-ի և DSPy-ի համառոտ ակնարկ, եկեք ուսումնասիրենք, թե ինչպես կարող են այս շրջանակները օգտագործվել DevOps-ի ավտոմատացման համար AI գործակալները կազմակերպելու համար:

Խնդրի պրոակտիվ լուծում

AI-ի վրա հիմնված DevOps-ի ավտոմատացման հիմնական առավելություններից մեկը խնդիրները ակտիվորեն լուծելու հնարավորությունն է՝ նախքան դրանք մեծ խնդիրներ դառնալը: LangChain-ը և DSPy-ը կարող են օգտագործվել հատուկ խոսակցական ինտերֆեյսեր ստեղծելու համար, որոնք փոխազդում են LLM-ների հետ՝ բացահայտելու հնարավոր խնդիրները և առաջարկներ տրամադրելու լուծման համար:

Ահա մի պարզ օրինակ, թե ինչպես դա կարող է աշխատել.

«Պիթոն». ներմուծման լանգշղթա langchain.chat_models-ից ներմուծել LLaMA

Ստեղծեք LangChain զրույցի մոդել

chat_model = LLaMA ()

Սահմանեք գործառույթ՝ զրույցի մոդելի հետ փոխազդելու համար

def interact_with_chat_model(prompt): պատասխան = chat_model.run (հուշում) վերադարձի պատասխան

Սահմանեք գործառույթ՝ հնարավոր խնդիրները բացահայտելու համար

defidentify_issues(code): prompt = f"Բացահայտեք հնարավոր խնդիրները հետևյալ կոդում. {code}" պատասխան = փոխազդեցություն_chat_model-ի հետ (հուշում) վերադարձի պատասխան

Սահմանեք գործառույթ՝ լուծման համար առաջարկություններ տրամադրելու համար

def provide_recommendations(հարցեր): prompt = f"Տրամադրել առաջարկություններ հետևյալ խնդիրների լուծման համար. {հարցեր}" պատասխան = փոխազդեցություն_chat_model-ի հետ (հուշում) վերադարձի պատասխան

Օգտագործման օրինակ

կոդը = """ Def add (x, y): վերադարձ x + y """ հարցեր = նույնականացման_հարցեր (կոդ) առաջարկություններ = provide_recommendations (խնդիրներ) տպել (առաջարկություններ)


Այս օրինակում մենք սահմանում ենք «interact_with_chat_model» մի պարզ ֆունկցիա, որը փոխազդում է LangChain զրույցի մոդելի հետ՝ պատասխան տալով տվյալ հրամայականին: Այնուհետև մենք սահմանում ենք երկու լրացուցիչ գործառույթ՝ «identify_issues» և «provide_recommendations», որոնք օգտագործում են զրույցի մոդելը՝ որոշ ընտրանքային կոդում հնարավոր խնդիրները հայտնաբերելու և լուծման առաջարկներ տրամադրելու համար:

### Ծրագրերի մշակման աշխատանքների ավտոմատացում

LangChain-ը և DSPy-ը կարող են օգտագործվել նաև ծրագրային ապահովման մշակման աշխատանքային հոսքերը ավտոմատացնելու համար՝ ինտեգրելով AI մոդելները ձեր գոյություն ունեցող DevOps խողովակաշարում:

Ահա մի օրինակ, թե ինչպես դա կարող է աշխատել.

«Պիթոն».
ներմուծել dspy
dspy import Workflow-ից

# Սահմանեք DSPy աշխատանքային հոսք
աշխատանքային հոսք = Աշխատանքային հոսք ()

# Սահմանեք առաջադրանք՝ կոդերի վերլուծության գործիք գործարկելու համար
def run_code_analysis(code):
    # Գործարկեք կոդի վերլուծության գործիք՝ հնարավոր խնդիրները բացահայտելու համար
    հարցեր = []
    #...
    վերադարձի հարցեր

# Սահմանեք առաջադրանք՝ լուծման համար առաջարկություններ տրամադրելու համար
def provide_recommendations(հարցեր):
    # Օգտագործեք LangChain զրույցի մոդելը՝ առաջարկություններ տրամադրելու համար
    prompt = f"Տրամադրել առաջարկություններ հետևյալ խնդիրների լուծման համար. {հարցեր}"
    պատասխան = langchain.chat_model.run (հուշում)
    վերադարձի պատասխան

# Սահմանեք առաջադրանք՝ կոդը տեղադրելու համար
def deploy_code(code):
    # Տեղադրեք կոդը արտադրական միջավայրում
    #...

# Սահմանեք աշխատանքի ընթացքը
workflow.add_task(run_code_analysis)
workflow.add_task(provide_recommendations)
workflow.add_task(deploy_code)

# Գործարկել աշխատանքային հոսքը
workflow.run()

Այս օրինակում մենք սահմանում ենք մի պարզ DSPy աշխատանքային հոսք, որը բաղկացած է երեք առաջադրանքից՝ գործարկել կոդի վերլուծության գործիք, առաջարկներ տրամադրել լուծման համար և տեղադրել կոդը: Այնուհետև մենք սահմանում ենք աշխատանքային հոսքը՝ ավելացնելով յուրաքանչյուր առաջադրանք և գործարկելով այն:

Լավագույն 5-10 Ամենաօգտագործվող հրամաններ/հատվածներ

Ահա LangChain-ի և DSPy-ի համար առավել հաճախ օգտագործվող հրամաններից և հատվածներից մի քանիսը.

LangChain

  • «langchain.chat_models.LLaMA()»: Ստեղծեք LangChain զրույցի մոդել՝ օգտագործելով LLaMA մոդելը:
  • «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],
        "backgroundColor":
          «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»:
        {
          "ticks": {
            «beginAtZero»: ճիշտ է
          }
        }
      ]
    }
  }
}

Այս վիզուալիզացիան ցույց է տալիս աշխատանքային հոսքը ներկայացնող պարզ գծապատկեր, երեք տողերով, որոնք ներկայացնում են կոդի վերլուծությունը, առաջարկությունները և տեղակայման առաջադրանքները:

Եզրակացություն

Այս հոդվածում մենք ուսումնասիրեցինք AI-ի վրա հիմնված DevOps ավտոմատացման աշխարհը՝ օգտագործելով LangChain և DSPy: Մենք տեսանք, թե ինչպես այս շրջանակները կարող են օգտագործվել խնդիրների լուծման պրոակտիվ համակարգեր ստեղծելու և ծրագրային ապահովման մշակման աշխատանքային հոսքերը ավտոմատացնելու համար: Մենք նաև տրամադրեցինք գործնական օրինակներ, թե ինչպես ինտեգրել LLM-ները ձեր DevOps խողովակաշարում և պատկերացնել աշխատանքային հոսքը՝ օգտագործելով Chart.js:

Օգտագործելով AI-ի և ավտոմատացման հզորությունը՝ կազմակերպությունները կարող են պարզեցնել իրենց ծրագրային ապահովման մշակման աշխատանքային հոսքերը, նվազեցնել ձեռնարկի սխալները և բարելավել ընդհանուր արդյունավետությունը: Անկախ նրանից՝ դուք DevOps-ի ինժեներ եք, ծրագրաշարի մշակող կամ բիզնեսի առաջնորդ, LangChain-ը և DSPy-ն հզոր գործիքներ են, որոնք կարող են օգնել ձեզ հասնել ձեր նպատակներին:


Have Questions?

Let's Talk

Contact me on LinkedIn