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

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

7 months ago · b4n1 Read time: 4 min

Танилцуулга

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

Multi-Agent AI систем гэж юу вэ?

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

DSPy гэж юу вэ?

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

  • Агент үүсгэх: DSPy нь хөгжүүлэгчдэд зан төлөв, мэдлэг, зорилго бүхий агентуудыг бий болгох боломжийг олгодог.
  • Агентны зохицуулалт: DSPy нь агентууд хоорондоо харилцах, үйлдлээ зохицуулах механизмаар хангадаг.
  • ** Өргөтгөх чадвар**: DSPy нь олон тооны агентууд болон нарийн төвөгтэй системүүдтэй ажиллахад зориулагдсан.

LangChain гэж юу вэ?

LangChain бол байгалийн хэл боловсруулах (NLP) техник ашиглан олон агентын хиймэл оюун ухааны системийг бий болгох, удирдахад зориулагдсан Python номын сан юм. Энэ нь хүнтэй төстэй хэлийг ойлгож, үүсгэх чадвартай агентуудыг бий болгох олон төрлийн хэрэгсэл, API-г өгдөг. LangChain нь маш уян хатан, өргөтгөх боломжтой байхаар бүтээгдсэн бөгөөд хөгжүүлэгчдэд нарийн төвөгтэй системийг хялбархан бүтээх боломжийг олгодог. LangChain-ийн гол онцлогуудын зарим нь:

  • Байгалийн хэлний ойлголт: LangChain нь агентуудад хүний хэлийг ойлгож, холбогдох мэдээллийг гаргаж авах API-г өгдөг.
  • Байгалийн хэл үүсгэх: LangChain нь агентуудад хүнтэй төстэй хэл үүсгэж, бусад агентуудтай харилцах API-г өгдөг.
  • ** Өргөтгөх чадвар**: LangChain нь их хэмжээний хэлний өгөгдөл болон нарийн төвөгтэй системийг боловсруулахад зориулагдсан.

Техникийн хэрэгжилт

DSPy болон LangChain-ийн техникийн хэрэгжилтийг харуулахын тулд програм хангамж хөгжүүлэх олон агенттай AI системийн энгийн жишээг авч үзье. Энэ жишээнд бид Хөгжүүлэгчийн агент ба Төслийн менежерийн агент гэсэн хоёр агентийг үүсгэх болно.

Хөгжүүлэгч агент

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

dspy импортлох

# Хөгжүүлэгчийн агент үүсгэх
хөгжүүлэгч_агент = dspy.Agent(
    нэр = "Хөгжүүлэгч",
    зан байдал=[
        dspy.Behavior(
            нэр = "код бичих",
            action=dspy.Action("бичих_код", {"код": "def hello_world(): print('Сайн уу Дэлхий!')"}),
            нөхцөл=[dspy.Нөхцөл("төслийн_менежерийн_даалгасан_даалгавар")]
        ),
        dspy.Behavior(
            нэр = "туршилтын_код",
            action=dspy.Action("туршилтын_код", {"туршилтын_тохиолдлууд": ["туршилтын_сайн_ертөнц"]}),
            нөхцөл=[dspy.Нөхцөл("код_бичсэн")]
        )
    ]
)

Төслийн менежер агент

Төслийн менежерийн агент нь даалгавар өгөх, ахиц дэвшлийг хянах, хөгжлийн үйл явцыг удирдах үүрэгтэй. Энэ нь LangChain-ийг ашиглан өөрийн үйлдэл, бусад агентуудтай харилцах харилцааг тодорхойлдог зан үйлийн багцыг бий болгодог.

langchain импортлох

# Төслийн менежерийн агент үүсгэнэ үү
төслийн_менежер_агент = langchain.Agent(
    нэр = "Төслийн менежер",
    зан байдал=[
        langchain.Behavior(
            нэр = "даалгавар_даалга",
            action=langchain.Action("даалгавар_даалга", {"даалгавар": "Нэвтрэх функцийг хэрэгжүүлэх"}),
            нөхцөл=[langchain.Нөхцөл("хөгжүүлэгч_боломжтой")]
        ),
        langchain.Behavior(
            нэр = "явцыг_хэрэглэх",
            action=langchain.Action("явцын_хэвцэл", {"явцшил": "50%"}),
            нөхцөл=[langchain.Нөхцөл("хөгжүүлэгчийн_яцсан_хэвшил")]
        )
    ]
)

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

DSPy болон LangChain-д хамгийн түгээмэл хэрэглэгддэг командууд болон хэсгүүдийн заримыг энд оруулав.

DSPy

  • dspy.Agent(name="Agent", behaviors=[...]): Өгөгдсөн нэр болон зан төлөвтэй шинэ агент үүсгэнэ үү.
  • dspy.Behavior(name="Behavior", action=dspy.Action("Action", {...})): Өгөгдсөн нэр болон үйлдлээр шинэ зан төлөв үүсгэнэ үү.
  • dspy.Condition(name="Нөхцөл", predicate=dspy.Predicate("Predicate", {...})): Өгөгдсөн нэр болон предикат бүхий шинэ нөхцөл үүсгэнэ.
  • dspy.Action(name="Action", {...}): Өгөгдсөн нэр болон параметрүүдээр шинэ үйлдэл үүсгэ.
  • dspy.Predicate(name="Predicate", {...}): Өгөгдсөн нэр болон параметрүүдээр шинэ предикат үүсгэнэ.

LangChain

  • langchain.Agent(name="Agent", behaviors=[...]): Өгөгдсөн нэр болон зан төлөвтэй шинэ агент үүсгэнэ үү.
  • langchain.Behavior(name="Behavior", action=langchain.Action("Action", {...})): Өгөгдсөн нэр болон үйлдлээр шинэ зан төлөв үүсгэнэ.
  • langchain.Condition(name="Нөхцөл", predicate=langchain.Predicate("Predicate", {...})): Өгөгдсөн нэр болон предикатаар шинэ нөхцөл үүсгэ.
  • langchain.Action(name="Action", {...}): Өгөгдсөн нэр болон параметрүүдээр шинэ үйлдэл үүсгэ.
  • langchain.Predicate(name="Predicate", {...}): Өгөгдсөн нэр болон параметрүүдээр шинэ предикат үүсгэнэ.

Дүрслэл

Олон агенттай AI системийг дүрслэхийн тулд бид агентууд, зан үйл, харилцан үйлчлэлийг дүрслэн харуулах диаграммыг ашиглаж болно. Chart.js ашиглан диаграмын жишээ энд байна:

{
    "төрөл": "бялуу",
    "өгөгдөл": {
        "шошго": ["Хөгжүүлэгчийн агент", "Төслийн менежерийн агент"],
        "өгөгдлийн багц": [
            {
                "label": "Зан төлөв",
                "өгөгдөл": [3, 2],
                "backgroundColor": ["#4CAF50", "#FF9800"]
            }
        ]
    },
    "сонголт": {
        "гарчиг": {
            "дэлгэц": үнэн,
            "текст": "Олон агенттай AI систем"
        },
        "домог": {
            "дэлгэц": үнэн
        }
    }
}

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

Дүгнэлт

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

Ирээдүйн ажил

DSPy болон LangChain зэрэг олон агентын хиймэл оюун ухааныг зохион байгуулах хэрэгслүүд дээр ирээдүйд ажиллах хэд хэдэн чиглэлүүд бий. Зарим боломжит газрууд нь:

  • ** Өргөтгөх чадвар**: Олон тооны агентууд болон нарийн төвөгтэй системийг удирдах боломжтой хэрэгслүүдийг хөгжүүлэх.
  • Уян хатан байдал: Тодорхой хэрэгцээг хангахын тулд хялбархан өөрчилж, өргөтгөх боломжтой хэрэгслүүдийг бий болгох.
  • Харилцан ажиллах чадвар: Бусад систем, технологитой нэгтгэх боломжтой хэрэгслүүдийг хөгжүүлэх.
  • Тайлбарлах боломжтой: Төлөөлөгчдийн шийдвэр гаргах үйл явц болон ерөнхий системийн талаарх ойлголтыг өгөх хэрэгслүүдийг бий болгох.

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


Have Questions?

Let's Talk

Contact me on LinkedIn