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 түтүктөрүнө интеграциялоо

LangChain жана DSPyди DevOps түтүктөрүнө интеграциялоо үчүн биз төмөнкү кадамдарды колдонсок болот:

  1. LangChain жана DSPy орнотуу: Pip аркылуу LangChain жана DSPy орнотуу.
pip орнотуу langchain dspy
  1. LangChain агентин түзүңүз: Маалымат булактары менен иштешип, тапшырмаларды аткара алган LangChain агентин түзүңүз.
импорттук langchain


агент = langchain.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[langchain.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[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(
    name="my_langchain_agent",
    data_sources=[langchain.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[langchain.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

# DSPy агент түзүү
dspy_agent = dspy.Agent(
    name="my_dspya_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("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[langchain.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)
  1. DSPy: DSPy агентин түзүңүз
dspy импорттоо

агент = dspy.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[dspy.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[dspy.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)
  1. LangChain: Маалымат булагы менен иштешүү
импорттук langchain

агент = langchain.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[langchain.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[langchain.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

data = agent.data_sources[0].get_data()
  1. DSPy: Маалымат булагы менен иштешүү
dspy импорттоо

агент = dspy.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[dspy.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[dspy.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

data = agent.data_sources[0].get_data()
  1. LangChain: тапшырманы аткарыңыз
импорттук langchain

агент = langchain.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[langchain.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[langchain.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

натыйжа = agent.tasks[0].perform_task(маалыматтар)
  1. DSPy: тапшырманы аткаруу
dspy импорттоо

агент = dspy.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[dspy.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[dspy.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

натыйжа = agent.tasks[0].perform_task(маалыматтар)
  1. LangChain: Маалыматтардан үйрөнүңүз
импорттук langchain

агент = langchain.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[langchain.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[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("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[langchain.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

түтүк = [
    агент
]
  1. DSPy: DevOps конвейери менен интеграциялоо
dspy импорттоо

агент = dspy.Agent(
    аты-жөнү = "менин_агентим",
    data_sources=[dspy.DataSource("маалыматтар базасы", "менин_берилиштер базасы")],
    tasks=[dspy.Task("текстти_иштеп чыгуу", "менин_текстимди_иштеп чыгуу")]
)

түтүк = [
    агент
]

Визуализация

Бул жерде DevOps конвейериндеги LangChain жана DSPy агенттеринин визуализациясы:

{
  "type": "бар",
  "маалымат": {
    "labels": ["LangChain", "DSPy"],
    "маалымат топтомдору": [
      {
        "label": "Агент",
        "data": [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 сыяктуу оркестрлөө куралдарын практикалык ишке ашырууну изилдедик. LangChain жана DSPy кантип маалымат булактары менен иштеше турган, тапшырмаларды аткарып, маалыматтардан үйрөнө турган AI агенттерин түзүү үчүн колдонулушу мүмкүн экенин көрдүк. Биз ошондой эле LangChain жана DSPyди Jenkins же GitLab CI/CD сыяктуу куралдарды колдонуу менен DevOps түтүктөрүнө кантип бириктирсе болорун көрдүк. Программалык камсыздоону иштеп чыгууда AI жана MLдин көбүрөөк колдонулушу менен LangChain жана DSPy программалык камсыздоону жеткирүү процесстерин автоматташтырууга умтулган иштеп чыгуучулар жана операторлор үчүн барган сайын маанилүү инструментке айланууда.


Have Questions?

Let's Talk

Contact me on LinkedIn