Ստեղծեք LangChain գործակալ | B4N1

Ստեղծեք LangChain գործակալ

8 months ago · b4n1 Read time: 5 min

** Օգտագործելով AI գործակալների ավտոմատացված ծրագրերի առաքում. LangChain-ի և DSPy-ի ինտեգրում DevOps խողովակաշարերում**

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

Ծրագրային ապահովման մշակման լանդշաֆտը արագորեն զարգանում է՝ Արհեստական ինտելեկտի (AI) և մեքենայական ուսուցման (ML) ընդունման աճով զարգացման կյանքի ցիկլի տարբեր ասպեկտներում: AI-ի կիրառման ամենախոստումնալից ոլորտներից մեկը ծրագրային ապահովման առաքման գործընթացների ավտոմատացումն է, ներառյալ հեռաչափությունը և շարունակական ինտեգրումը/շարունակական տեղակայումը (CI/CD): Այս հոդվածում մենք կուսումնասիրենք AI գործակալների դերը ծրագրային ապահովման առաքման գործընթացների ավտոմատացման գործում և կխորանանք նվագախմբային գործիքների գործնական իրականացման մեջ, ինչպիսիք են LangChain-ը և DSPy-ը:

AI գործակալների դերը ծրագրային ապահովման առաքման մեջ

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

  1. Telemetry. AI գործակալները կարող են հավաքել և վերլուծել տվյալներ տարբեր աղբյուրներից, ինչպիսիք են հավելվածների տեղեկամատյանները, կատարողականի ցուցանիշները և օգտատերերի կարծիքը, որպեսզի պատկերացում կազմեն հավելվածի վարքագծի և կատարողականի վերաբերյալ:
  2. Շարունակական ինտեգրում. AI գործակալները կարող են ավտոմատացնել կոդերի փոփոխությունների կառուցումը, փորձարկումը և տեղակայումը` ապահովելով, որ հավելվածը միշտ տեղադրվող վիճակում է:
  3. Շարունակական տեղակայում. AI գործակալները կարող են ավտոմատացնել արտադրության մեջ փոփոխությունների տեղակայումը` նվազեցնելով օգտվողներին նոր հնարավորություններ և ուղղումներ ստանալու համար պահանջվող ժամանակը և ջանքերը:
  4. Մոնիտորինգ և զգուշացում. AI գործակալները կարող են վերահսկել հավելվածի աշխատանքը և նախազգուշացնել ծրագրավորողներին և օպերատորներին հնարավոր խնդիրների մասին, նախքան դրանք կրիտիկական դառնալը:

LangChain. AI գործակալների կառուցման շրջանակ

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

  1. Շփվեք տվյալների աղբյուրների հետ. LangChain-ը տրամադրում է տվյալների մի շարք աղբյուրներ, ներառյալ տվյալների բազաները, API-ները և ֆայլային համակարգերը, որոնց հետ գործակալները կարող են փոխազդել:
  2. Կատարել առաջադրանքներ. LangChain-ը տրամադրում է մի շարք առաջադրանքներ, որոնք կարող են կատարել գործակալները, ներառյալ տեքստի մշակումը, պատկերների ճանաչումը և բնական լեզվի մշակումը:
  3. Սովորեք տվյալներից. LangChain-ը տրամադրում է մեքենայական ուսուցման մի շարք ալգորիթմներ, որոնք գործակալները կարող են օգտագործել տվյալներից սովորելու համար:

DSPy. Բաշխված AI գործակալների կառուցման շրջանակ

DSPy-ն Python-ի շրջանակ է՝ բաշխված AI գործակալներ ստեղծելու համար, որոնք կարող են մասշտաբավորվել լայնածավալ հավելվածների կարիքները բավարարելու համար: DSPy-ն ապահովում է մի շարք առանձնահատկություններ, այդ թվում՝

  1. Բաշխված հաշվողականություն. DSPy-ն գործակալներին թույլ է տալիս աշխատել մի քանի մեքենաների վրա՝ դարձնելով այն իդեալական լայնածավալ ծրագրերի համար:
  2. Տվյալների զուգահեռություն. DSPy-ն գործակալներին թույլ է տալիս զուգահեռաբար մշակել տվյալները՝ դարձնելով այն իդեալական այն ծրագրերի համար, որոնք պահանջում են բարձր արդյունավետությամբ հաշվարկներ:
  3. Scalability. DSPy-ն գործակալներին թույլ է տալիս մասշտաբավորել լայնածավալ հավելվածների կարիքները բավարարելու համար:

** LangChain-ի և DSPy-ի ինտեգրում DevOps Pipelines-ում**

LangChain-ը և DSPy-ն DevOps խողովակաշարերում ինտեգրելու համար մենք կարող ենք օգտագործել հետևյալ քայլերը.

  1. Տեղադրեք LangChain-ը և DSPy-ը. Տեղադրեք LangChain-ը և DSPy-ը՝ օգտագործելով pip-ը: Բաշ pip install langchain dspy
2. **Ստեղծեք LangChain գործակալ**. Ստեղծեք LangChain գործակալ, որը կարող է փոխազդել տվյալների աղբյուրների հետ և կատարել առաջադրանքներ:
«Պիթոն».
ներմուծման լանգշղթա


agent = langchain.Agent(
    անուն = "my_agent",
    data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)
  1. Ստեղծեք DSPy գործակալ. Ստեղծեք DSPy գործակալ, որը կարող է աշխատել բազմաթիվ մեքենաների վրա և զուգահեռ մշակել տվյալները: «Պիթոն». ներմուծել dspy

Ստեղծեք DSPy գործակալ

agent = dspy.Agent( անուն = "my_agent", data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)], tasks=[dspy.Task("text_processing", "my_text_processing")] )

4. **Ինտեգրել LangChain և DSPy գործակալները**. Ինտեգրել LangChain և DSPy գործակալները DevOps խողովակաշարում՝ օգտագործելով այնպիսի գործիք, ինչպիսին Jenkins-ը կամ GitLab CI/CD-ն է:
«Պիթոն».
ներմուծման լանգշղթա
ներմուծել dspy

# Ստեղծեք LangChain գործակալ
langchain_agent = langchain.Agent(
    անուն = "my_langchain_agent",
    data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)

# Ստեղծեք DSPy գործակալ
dspy_agent = dspy.Agent(
    name = "my_dspya_agent",
    data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

# Ինտեգրեք գործակալները DevOps խողովակաշարում
խողովակաշար = [
    langchain_agent,
    dspy_agent
]

Թոփ 5-10 ամենաշատ օգտագործվող հրամաններ/հատվածներ

Ահա 5-10 ամենաշատ օգտագործվող հրամանները/հատվածները LangChain-ի և DSPy-ի համար.

  1. LangChain. Ստեղծեք LangChain գործակալ «Պիթոն». ներմուծման լանգշղթա

agent = langchain.Agent( անուն = "my_agent", data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)], tasks=[langchain.Task("text_processing", "my_text_processing")] )

2. **DSPy. Ստեղծեք DSPy գործակալ**
«Պիթոն».
ներմուծել dspy

agent = dspy.Agent(
    անուն = "my_agent",
    data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)
  1. LangChain. փոխազդեցություն տվյալների աղբյուրի հետ «Պիթոն». ներմուծման լանգշղթա

agent = langchain.Agent( անուն = "my_agent", data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)], tasks=[langchain.Task("text_processing", "my_text_processing")] )

data = agent.data_sources[0].get_data()

4. **DSPy. փոխազդել տվյալների աղբյուրի հետ**
«Պիթոն».
ներմուծել dspy

agent = dspy.Agent(
    անուն = "my_agent",
    data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

data = agent.data_sources[0].get_data()
  1. **LangChain. Կատարել առաջադրանք ** «Պիթոն». ներմուծման լանգշղթա

agent = langchain.Agent( անուն = "my_agent", data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)], tasks=[langchain.Task("text_processing", "my_text_processing")] )

արդյունք = agent.tasks[0].perform_task(տվյալներ)

6. **DSPy. Կատարել առաջադրանք **
«Պիթոն».
ներմուծել dspy

agent = dspy.Agent(
    անուն = "my_agent",
    data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

արդյունք = agent.tasks[0].perform_task(տվյալներ)
  1. **LangChain. Սովորեք տվյալներից ** «Պիթոն». ներմուծման լանգշղթա

agent = langchain.Agent( անուն = "my_agent", data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)], tasks=[langchain.Task("text_processing", "my_text_processing")] )

agent.learn_from_data(տվյալներ)

8. **DSPy. Սովորեք տվյալներից**
«Պիթոն».
ներմուծել dspy

agent = dspy.Agent(
    անուն = "my_agent",
    data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

agent.learn_from_data(տվյալներ)
  1. LangChain. Ինտեգրվել DevOps խողովակաշարի հետ «Պիթոն». ներմուծման լանգշղթա

agent = langchain.Agent( անուն = "my_agent", data_sources=[langchain.DataSource(«տվյալների բազա», «my_database»)], tasks=[langchain.Task("text_processing", "my_text_processing")] )

խողովակաշար = [ գործակալ ]

10. **DSPy. Ինտեգրվել DevOps խողովակաշարի հետ**
«Պիթոն».
ներմուծել dspy

agent = dspy.Agent(
    անուն = "my_agent",
    data_sources=[dspy.DataSource(«տվյալների բազա», «my_database»)],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

խողովակաշար = [
    գործակալ
]

Վիզուալիզացիա

Ահա DevOps խողովակաշարում LangChain-ի և DSPy գործակալների վիզուալիզացիան.

{
  «տեսակ»՝ «բար»,
  "տվյալներ": {
    «պիտակներ»: [«LangChain», «DSPy»],
    «տվյալների հավաքածուներ»:
      {
        «պիտակ»: «Գործակալ»,
        «տվյալներ»: [10, 20],
        "backgroundColor"՝ ["rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)"],
        "borderColor"՝ ["rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)"],
        «սահմանի լայնություն»՝ 1
      }
    ]
  },
  «Ընտրանքներ»: {
    «վերնագիր»: {
      «ցուցադրում»՝ ճշմարիտ,
      «text»: «LangChain և DSPy գործակալները DevOps Pipeline-ում»
    },
    «կշեռքներ»: {
      «yAxes»:
        {
          "ticks": {
            «beginAtZero»: ճիշտ է
          }
        }
      ]
    }
  }
}

Այս վիզուալիզացիան ցույց է տալիս LangChain և DSPy գործակալները DevOps խողովակաշարում, որտեղ LangChain գործակալն ունի 10 առաջադրանք, իսկ DSPy գործակալը՝ 20 առաջադրանք:

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

Այս հոդվածում մենք ուսումնասիրեցինք AI գործակալների դերը ծրագրային ապահովման առաքման գործընթացների ավտոմատացման գործում և խորացանք նվագախմբային գործիքների գործնական իրականացման մեջ, ինչպիսիք են LangChain-ը և DSPy-ը: Մենք տեսանք, թե ինչպես կարող են LangChain-ը և DSPy-ն օգտագործվել AI գործակալներ ստեղծելու համար, որոնք կարող են փոխազդել տվյալների աղբյուրների հետ, կատարել առաջադրանքներ և սովորել տվյալներից: Մենք նաև տեսանք, թե ինչպես կարող են LangChain-ը և DSPy-ն ինտեգրվել DevOps խողովակաշարերում՝ օգտագործելով այնպիսի գործիքներ, ինչպիսիք են Jenkins-ը կամ GitLab CI/CD-ն: Ծրագրային ապահովման մշակման մեջ AI-ի և ML-ի աճող ընդունմամբ, LangChain-ը և DSPy-ն դառնում են ավելի կարևոր գործիքներ մշակողների և օպերատորների համար, ովքեր ցանկանում են ավտոմատացնել ծրագրային ապահովման առաքման գործընթացները:


Have Questions?

Let's Talk

Contact me on LinkedIn