Олон агентын хиймэл оюун ухааны архитектур болон LangChain ашиглан өөрийгөө эдгээх програм хангамжийн системийг бий болгох | B4N1

Олон агентын хиймэл оюун ухааны архитектур болон LangChain ашиглан өөрийгөө эдгээх програм хангамжийн системийг бий болгох

3 months ago · b4n1 Read time: 4 min

Олон агентын хиймэл оюун ухааны архитектур болон LangChain ашиглан өөрийгөө эдгээх програм хангамжийн системийг бий болгох

Танилцуулга

Програм хангамжийн хөгжлийн хурдацтай хөгжиж буй өнөө үед өөрийгөө эдгээдэг програм хангамжийн системийг бий болгох нь нарийн төвөгтэй програм хангамжийн системийн найдвартай байдал, өргөтгөх чадвар, уян хатан чанарыг хангах чухал шаардлага болжээ. Уламжлалт цул архитектурууд нь орчин үеийн програм хангамжийн хөгжүүлэлтийн эрэлт хэрэгцээг хангахад хангалттай байхаа больсон бөгөөд систем нь өөрчлөгдөж буй шаардлагад дасан зохицож, гэнэтийн бүтэлгүйтлийг зохицуулж, алдаанаас хурдан сэргэх чадвартай байх ёстой. Энд л олон агентын хиймэл оюун ухааны архитектурууд болон LangChain ажиллаж байгаа бөгөөд өөрчлөгдөж буй нөхцөл байдалд суралцаж, дасан зохицож, хариу үйлдэл үзүүлэх чадвартай өөрийгөө эдгээх програм хангамжийн системийг бий болгох хүчирхэг шийдлийг санал болгодог.

Олон агентын хиймэл оюун ухааны архитектур гэж юу вэ?

Олон агентын хиймэл оюун ухааны архитектурууд нь нийтлэг зорилгод хүрэхийн тулд бие биетэйгээ болон хүрээлэн буй орчинтойгоо харилцан үйлчилдэг олон бие даасан агентуудаас бүрддэг тархсан AI системийн нэг төрөл юм. Төлөөлөгч бүр өөрийн гэсэн шийдвэр гаргах чадвар, мэдлэг, нөөцтэй бөгөөд тэд өөр хоорондоо мэдээлэл солилцох, үйл ажиллагааг зохицуулах, өөрчлөгдөж буй нөхцөл байдалд дасан зохицох боломжтой.

Програм хангамжийн системийн хүрээнд олон агентын хиймэл оюун ухааны архитектурыг бодит цаг хугацаанд алдаа, доголдол болон бусад гажигийг илрүүлж, хариу үйлдэл үзүүлэх чадвартай өөрийгөө засах системийг бий болгоход ашиглаж болно. Шийдвэр гаргах үйл явцыг олон агентуудад хуваарилснаар эдгээр системүүд туршлагаас суралцаж, өөрчлөгдөж буй нөхцөл байдалд дасан зохицож, алдаанаас хурдан сэргэж чадна.

LangChain гэж юу вэ?

LangChain бол олон агентын хиймэл оюун ухааны системийг бий болгоход зориулагдсан нээлттэй эхийн Python номын сан юм. Энэ нь өөрчлөгдөж буй нөхцөл байдалд суралцаж, дасан зохицож, хариу үйлдэл үзүүлэх чадвартай нарийн төвөгтэй хиймэл оюун ухааны системийг бий болгох энгийн, уян хатан, өргөтгөх боломжтой тогтолцоог бий болгодог. LangChain нь TensorFlow, PyTorch, Keras зэрэг өргөн хүрээний хиймэл оюун ухааны хүрээтэй ажиллахад зориулагдсан бөгөөд мэдээллийн сан, API, IoT төхөөрөмж зэрэг олон төрлийн мэдээллийн эх сурвалжтай нэгдсэн системийг бүтээхэд ашиглаж болно.

** LangChain ашиглан өөрийгөө эдгээх програм хангамжийн системийг бий болгох**

LangChain ашиглан өөрийгөө эдгээдэг програм хангамжийн системийг бий болгохын тулд бид алдаа, бүтэлгүйтэл болон бусад гажигийг бодит цаг хугацаанд илрүүлж, хариу үйлдэл үзүүлэх боломжтой олон агент бүхий AI архитектурыг зохион бүтээх хэрэгтэй. Архитектурын дээд түвшний тоймыг энд оруулав.

  1. Агент дизайн: Бид нийтлэг зорилгод хүрэхийн тулд бие биетэйгээ болон хүрээлэн буй орчинтойгоо харьцаж чадах бие даасан агентуудын багцыг зохион бүтээх хэрэгтэй. Төлөөлөгч бүр өөрийн гэсэн шийдвэр гаргах чадвар, мэдлэг, нөөцтэй байх ёстой.
  2. Мэдлэгийн график: Бид агентууд, хүрээлэн буй орчин, системийн зорилгын хоорондын хамаарлыг харуулсан мэдлэгийн график үүсгэх хэрэгтэй. Энэ графикийг системийн төлөв байдлын талаар дүгнэлт хийж, шийдвэр гаргахад ашиглаж болно.
  3. Шийдвэр гаргах: Бид төлөөлөгчдөд системийн төлөв байдлын талаар дүгнэлт хийх, мэдлэгийн график дээр үндэслэн шийдвэр гаргах боломжийг олгодог шийдвэр гаргах үйл явцыг хэрэгжүүлэх хэрэгтэй.
  4. Үйл ажиллагааны гүйцэтгэл: Бид агентуудад шийдвэрээ хэрэгжүүлэх, хүрээлэн буй орчинтой харилцах боломжийг олгодог үйл ажиллагааны гүйцэтгэлийн процессыг хэрэгжүүлэх хэрэгтэй.

LangChain-ээр бүтээгдсэн өөрийгөө эдгээдэг програм хангамжийн системийн энгийн жишээ энд байна.

langchain импортлох
langchain.agents импортын агентаас
langchain.llms импортын LLM-ээс


график = {
    'агент': ['агент1', 'агент2', 'агент3'],
    'орчин': ['өгөгдлийн сан', 'API', 'IoT төхөөрөмж'],
    'зорилгууд': ['алдаа илрүүлэх', 'бүтэлгүйтэлд хариу өгөх', 'алдаанаас сэргээх']
}

# Шийдвэр гаргах үйл явцыг тодорхойлох
def шийдвэр гаргах (агент, мэдлэгийн_граф):
    # Системийн төлөв байдлын шалтгаан
    төлөв = мэдлэг_граф['агентууд'][агент]
    # Төрд тулгуурлан шийдвэр гарга
    шийдвэр = 'бүтэлгүйтлийн хариу үйлдэл'
    буцаах шийдвэр

# Үйлдлийг гүйцэтгэх үйл явцыг тодорхойлох
def action_execution(агент, шийдвэр):
    # Шийдвэрээ биелүүл
    хэрэв шийдвэр == "бүтэлгүйтлийн хариу үйлдэл":
        # Бүтэлгүйтэлд хариу үйлдэл үзүүлэх
        print('Бүтэлгүйтэлд хариу өгч байна...')
    буцах

# LangChain агент үүсгэ
төлөөлөгч = Агент(
    name='өөрийгөө эдгээх агент',
    шийдвэр_гаргалт=шийдвэр гаргах,
    үйлдэл_гүйцэтгэх = үйлдэл_гүйцэтгэх,
    мэдлэг_граф=граф
)

# LangChain LLM үүсгэнэ үү
llm = LLM(
    name='өөрийгөө эдгээх-llm',
    загвар = 'davinci'
)

# LangChain системийг бий болгох
систем = langchain.System(
    төлөөлөгч=агент,
    llm=llm
)

# Системийг ажиллуул
system.run()

Энэ жишээ нь алдааг илрүүлж, алдаа гарсан тохиолдолд хариу үйлдэл үзүүлж, алдааг хурдан сэргээж чаддаг энгийн өөрийгөө эдгээдэг програм хангамжийн системийг харуулж байна. Энэхүү систем нь нийтлэг зорилгод хүрэхийн тулд бие биетэйгээ болон хүрээлэн буй орчинтойгоо харилцан үйлчилдэг бие даасан төлөөлөгчдөөс бүрдэнэ. Агентууд системийн төлөв байдлын талаар дүгнэлт хийхдээ мэдлэгийн графикийг ашигладаг бөгөөд график дээр үндэслэн шийдвэр гаргадаг.

Хамгийн их ашиглагддаг 5-10 тушаал/хэсэг

LangChain-д хамгийн их ашиглагддаг 5-10 тушаал/хэсэг энд байна:

  1. langchain.Agent(): Шинэ LangChain агент үүсгэнэ.
  2. langchain.LLM(): Шинэ LangChain LLM үүсгэнэ.
  3. langchain.System(): Шинэ LangChain системийг үүсгэнэ.
  4. agent.decision_making(): Төлөөлөгчийн шийдвэр гаргах процессыг ажиллуулдаг.
  5. agent.action_execution(): Агентын үйлдэл гүйцэтгэх процессыг ажиллуулдаг.
  6. llm.predict(): LLM ашиглан таамаглал гаргана.
  7. system.run(): LangChain системийг ажиллуулдаг.
  8. graph.add_node(): Мэдлэгийн графикт шинэ зангилаа нэмнэ.
  9. graph.add_edge(): Мэдлэгийн графикт шинэ ирмэг нэмнэ.
  10. graph.remove_node(): Мэдлэгийн графикаас зангилаа устгана.

Дүрслэл

Chart.js ашиглан мэдлэгийн графикийн энгийн дүрслэлийг энд үзүүлэв.

{
  "төрөл": "график",
  "өгөгдөл": {
    "зангилаа": [
      {"id": "агент1", "шошго": "Агент 1"},
      {"id": "агент2", "шошго": "Агент 2"},
      {"id": "agent3", "label": "Agent 3"},
      {"id": "өгөгдлийн сан", "шошго": "Мэдээллийн сан"},
      {"id": "API", "шошго": "API"},
      {"id": "IoT төхөөрөмж", "шошго": "IoT төхөөрөмж"}
    ],
    "ирмэгүүд": [
      {"эх сурвалж": "агент1", "зорилтот": "өгөгдлийн сан"},
      {"эх сурвалж": "агент2", "зорилтот": "API"},
      {"эх сурвалж": "agent3", "target": "IoT төхөөрөмж"},
      {"эх сурвалж": "агент1", "зорилтот": "агент2"},
      {"эх сурвалж": "агент2", "зорилтот": "агент3"}
    ]
  },
  "сонголт": {
    "зохион байгуулалт": {
      "төрөл": "дугуй"
    },
    "зангилаа": {
      "хэмжээ": 50
    },
    "ирмэгүүд": {
      "өргөн": 2
    }
  }
}

Энэхүү дүрслэл нь агентууд, хүрээлэн буй орчин, системийн зорилгын хоорондын харилцааг харуулдаг.

Дүгнэлт

Олон агентын хиймэл оюун ухааны архитектур болон LangChain бүхий өөрийгөө эдгээдэг програм хангамжийн системийг бий болгох нь нарийн төвөгтэй програм хангамжийн системийн найдвартай байдал, өргөтгөх чадвар, уян хатан байдлыг хангах хүчирхэг шийдлийг санал болгодог. Шийдвэр гаргах үйл явцыг олон агентуудад хуваарилснаар эдгээр системүүд туршлагаас суралцаж, өөрчлөгдөж буй нөхцөл байдалд дасан зохицож, алдаанаас хурдан сэргэж чадна. LangChain-ийн тусламжтайгаар хөгжүүлэгчид өгөгдлийн сан, API, IoT төхөөрөмж зэрэг өргөн хүрээний мэдээллийн эх сурвалжтай нэгтгэсэн нарийн төвөгтэй AI системийг бий болгож чадна. Жишээ кодыг дагаж, хамгийн их ашиглагддаг 5-10 команд/хэсэгийг ашигласнаар хөгжүүлэгчид LangChain-ээр өөрөө өөрийгөө эдгээдэг програм хангамжийн системийг бүтээх боломжтой.


Have Questions?

Let's Talk

Contact me on LinkedIn