LangChain агентін жасаңыз | B4N1

LangChain агентін жасаңыз

8 months ago · b4n1 Read time: 5 min

Автоматтандырылған бағдарламалық қамтамасыз етуді жеткізу үшін AI агенттерін пайдалану: DevOps құбырларында LangChain және DSPy біріктіру

Кіріспе

Бағдарламалық жасақтаманы әзірлеу ландшафты жасанды интеллект (AI) және Machine Learning (ML) дамуының өмірлік циклінің әртүрлі аспектілерінде көбірек қабылдануымен қарқынды дамып келеді. AI қолданудың ең перспективалы бағыттарының бірі бағдарламалық қамтамасыз етуді жеткізу процестерін автоматтандыру, соның ішінде телеметрия және үздіксіз интеграция/үздіксіз орналастыру (CI/CD) болып табылады. Бұл мақалада біз AI агенттерінің бағдарламалық қамтамасыз етуді жеткізу процестерін автоматтандырудағы рөлін зерттеп, LangChain және DSPy сияқты оркестрлік құралдарды практикалық енгізуді қарастырамыз.

Бағдарламалық жасақтаманы жеткізудегі AI агенттерінің рөлі

AI агенттері - бұл деректер мен ережелер негізінде шешім қабылдай отырып, тапсырмаларды дербес орындай алатын бағдарламалық жасақтама. Бағдарламалық жасақтаманы жеткізу контекстінде AI агенттері әртүрлі процестерді автоматтандыру үшін пайдаланылуы мүмкін, мысалы:

  1. Телеметрия: AI агенттері қолданбаның әрекеті мен өнімділігі туралы түсінік беру үшін қолданба журналдары, өнімділік көрсеткіштері және пайдаланушы пікірі сияқты әртүрлі көздерден деректерді жинап, талдай алады.
  2. Үздіксіз интеграция: AI агенттері қолданбаның әрқашан орналастырылатын күйде болуын қамтамасыз ете отырып, код өзгерістерін құрастыруды, сынауды және орналастыруды автоматтандыруы мүмкін.
  3. Үздіксіз орналастыру: AI агенттері пайдаланушыларға жаңа мүмкіндіктер мен түзетулерді алу үшін қажет уақыт пен күш-жігерді азайта отырып, өндіріске өзгертулерді енгізуді автоматтандырады.
  4. Мониторинг және ескерту: AI агенттері қолданбаның өнімділігін бақылай алады және әзірлеушілер мен операторларды ықтимал мәселелер маңызды болмай тұрып ескерте алады.

LangChain: AI агенттерін құруға арналған құрылым

LangChain - бұл әртүрлі деректер көздерімен өзара әрекеттесе алатын және тапсырмаларды автономды түрде орындай алатын AI агенттерін құруға арналған Python құрылымы. LangChain агенттерді құру үшін қарапайым және интуитивті API ұсынады, олар:

  1. Дерек көздерімен әрекеттесу: LangChain агенттер өзара әрекеттесе алатын дерекқорларды, API интерфейстерін және файлдық жүйелерді қоса алғанда, деректер көздерінің ауқымын қамтамасыз етеді.
  2. Тапсырмаларды орындау: LangChain агенттер орындай алатын, мәтінді өңдеуді, кескінді тануды және табиғи тілді өңдеуді қоса алғанда, бірқатар тапсырмаларды қамтамасыз етеді.
  3. Деректерден үйреніңіз: LangChain агенттер деректерден үйрену үшін пайдалана алатын машиналық оқыту алгоритмдерінің ауқымын ұсынады.

DSPy: таратылған AI агенттерін құруға арналған құрылым

DSPy - бұл кең ауқымды қолданбалардың қажеттіліктерін қанағаттандыру үшін масштабтауға болатын бөлінген AI агенттерін құруға арналған Python негізі. DSPy бірқатар мүмкіндіктерді қамтамасыз етеді, соның ішінде:

  1. Таратылған есептеулер: DSPy агенттерге бірнеше машиналарда жұмыс істеуге мүмкіндік береді, бұл оны ауқымды қолданбалар үшін өте қолайлы етеді.
  2. Деректердің параллелизмі: DSPy агенттерге деректерді параллельді өңдеуге мүмкіндік береді, бұл оны өнімділігі жоғары есептеулерді қажет ететін қолданбалар үшін тамаша етеді.
  3. Масштабтау: DSPy агенттерге ауқымды қолданбалардың қажеттіліктерін қанағаттандыру үшін масштабтауға мүмкіндік береді.

LangChain және DSPy-ті DevOps құбырларында біріктіру

DevOps құбырларына LangChain және DSPy біріктіру үшін біз келесі қадамдарды пайдалана аламыз:

  1. LangChain және DSPy орнатыңыз: Pip көмегімен LangChain және DSPy орнатыңыз.
pip орнату langchain dspy
  1. LangChain агентін жасау: Деректер көздерімен өзара әрекеттесе алатын және тапсырмаларды орындай алатын LangChain агентін жасаңыз.
langchain импорттау


агент = langchain.Agent(
    аты = "менің_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)
  1. DSPy агентін жасау: Бірнеше машиналарда жұмыс істей алатын және деректерді параллель өңдей алатын DSPy агентін жасаңыз.
dspy импорттау

# DSPy агентін жасаңыз
агент = dspy.Agent(
    аты = "менің_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)
  1. LangChain және DSPy агенттерін біріктіру: Jenkins немесе GitLab CI/CD сияқты құралды пайдаланып, LangChain және DSPy агенттерін DevOps құбырына біріктіріңіз.
langchain импорттау
dspy импорттау

# LangChain агентін жасаңыз
langchain_agent = langchain.Agent(
    атауы = "менің_langchain_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

# DSPy агентін жасаңыз
dspy_agent = dspy.Agent(
    атауы = "менің_дспя_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

# Агенттерді DevOps құбырына біріктіріңіз
құбыр = [
    langchain_agent,
    dspy_agent
]

Ең көп қолданылатын 5-10 пәрмендер/үзінділер

Міне, LangChain және DSPy үшін ең көп қолданылатын 5-10 командалар/үзінділер:

  1. LangChain: LangChain агентін жасаңыз
langchain импорттау

агент = langchain.Agent(
    аты = "менің_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)
  1. DSPy: DSPy агентін жасаңыз
dspy импорттау

агент = dspy.Agent(
    аты = "менің_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)
  1. LangChain: деректер көзімен әрекеттесу
langchain импорттау

агент = langchain.Agent(
    аты = "менің_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

деректер = agent.data_sources[0].get_data()
  1. DSPy: деректер көзімен әрекеттесу
dspy импорттау

агент = dspy.Agent(
    аты = "менің_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

деректер = agent.data_sources[0].get_data()
  1. LangChain: тапсырманы орындау
langchain импорттау

агент = langchain.Agent(
    аты = "менің_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

нәтиже = агент.тапсырмалар[0].тапсырманы орындау(деректер)
  1. DSPy: тапсырманы орындау
dspy импорттау

агент = dspy.Agent(
    аты = "менің_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

нәтиже = агент.тапсырмалар[0].тапсырманы орындау(деректер)
  1. LangChain: деректерден үйреніңіз
langchain импорттау

агент = langchain.Agent(
    аты = "менің_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

agent.learn_from_data(деректер)
  1. DSPy: деректерден үйреніңіз
dspy импорттау

агент = dspy.Agent(
    аты = "менің_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

agent.learn_from_data(деректер)
  1. LangChain: DevOps құбырымен біріктіру
langchain импорттау

агент = langchain.Agent(
    аты = "менің_агентім",
    data_sources=[langchain.DataSource("деректер қоры", "менің_деректер қорым")],
    тапсырмалар=[langchain.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

құбыр = [
    агент
]
  1. DSPy: DevOps құбырымен біріктіру
dspy импорттау

агент = dspy.Agent(
    аты = "менің_агентім",
    data_sources=[dspy.DataSource("деректер қоры", "менің_деректер қорым")],
    tasks=[dspy.Task("мәтінді_өңдеу", "менің_мәтінімді_өңдеу")]
)

құбыр = [
    агент
]

визуализация

Міне, DevOps құбырындағы LangChain және DSPy агенттерінің визуализациясы:

{
  "түрі": "бар",
  «деректер»: {
    "labels": ["LangChain", "DSPy"],
    "деректер жинағы": [
      {
        "label": "Агент",
        "деректер": [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)"],
        "borderWidth": 1
      }
    ]
  },
  "опциялар": {
    "атауы": {
      «дисплей»: шын,
      "text": "DevOps құбырындағы LangChain және DSPy агенттері"
    },
    «таразы»: {
      "yAxes": [
        {
          «кенелер»: {
            "beginAtZero": шын
          }
        }
      ]
    }
  }
}

Бұл визуализация DevOps құбырындағы LangChain және DSPy агенттерін көрсетеді, LangChain агентінде 10 тапсырма және DSPy агентінде 20 тапсырма бар.

Қорытынды

Бұл мақалада біз бағдарламалық жасақтаманы жеткізу процестерін автоматтандырудағы AI агенттерінің рөлін зерттедік және LangChain және DSPy сияқты оркестрлік құралдарды практикалық енгізуді қарастырдық. Деректер көздерімен өзара әрекеттесетін, тапсырмаларды орындайтын және деректерден үйренетін AI агенттерін жасау үшін LangChain және DSPy қалай пайдалануға болатынын көрдік. Біз сондай-ақ Jenkins немесе GitLab CI/CD сияқты құралдарды пайдаланып LangChain және DSPy-ді DevOps құбырларына қалай біріктіруге болатындығын көрдік. Бағдарламалық жасақтаманы әзірлеуде AI және ML-ді қолданудың өсуімен LangChain және DSPy бағдарламалық қамтамасыз етуді жеткізу процестерін автоматтандыруды қалайтын әзірлеушілер мен операторлар үшін маңызды құралдарға айналады.


Have Questions?

Let's Talk

Contact me on LinkedIn