LangChain эсвэл LlamaIndex: RAG-ийн чанарыг framework дангаараа шийдэхгүй

|Зохиогч: QUASA редакцын баг|5 мин уншина| 1
LangChain эсвэл LlamaIndex: RAG-ийн чанарыг framework дангаараа шийдэхгүй

Агент олон хэрэгсэл дуудаж, үйлдлийн дарааллаа удирдах нь төслийн гол ажил бол LangChain тохиромжтой эхлэл. Харин байгууллагын баримт бичгийг оруулах, индексжүүлэх, түүнээс хариулт гаргах ажил давамгайлбал LlamaIndex-ийг эхэлж турших нь үндэслэлтэй. Аль нэгийг сонгосноор RAG-ийн хариулт автоматаар сайжрахгүй: баримтын боловсруулалт, хайлт, загвар болон заавар хамтдаа үр дүнд нөлөөлнө.

LangChain-ийн албан ёсны танилцуулга нь загвар, хэрэгсэл, заавар болон агентын ажиллагааг холбох тохируулгатай бүтцийг онцолдог. LlamaIndex-ийн framework-ийн баримтжуулалт нь өөрийн өгөгдөл дээр ажиллах RAG болон агент бүтээхэд өгөгдөл холбогч, индекс, хайлтын хөдөлгүүр, workflow санал болгодог. Хоёулаа агент болон RAG бүтээх боломжтой учраас сонголт нь төслийн хамгийн их ажил шаардсан хэсгээс эхэлнэ.

Агентын ажиллагаанд ямар ялгаа мэдрэгдэх вэ?

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

LlamaIndex-д баримтаас загварт хэрэгтэй контекст хүргэх зам илүү тодорхой: өгөгдөл унших, хэсэг болгон хувиргах, индексжүүлэх, тохирох хэсгийг олох, хариулт бүрдүүлэх. Гэхдээ түүний агент болон олон алхамт workflow нь хэрэгсэл дуудах, салаалах, дахин оролдох ажиллагааг мөн дэмждэг. Иймээс “агент бол LangChain, RAG бол LlamaIndex” гэсэн хатуу зааг ажиллахгүй. Практик ялгаа нь тухайн багийн гол ажиллагааг аль бүтцээр цөөн нэмэлт шийдэлтэй угсарч болох вэ гэдэгт бий.

Өгөгдөл оруулах ажил яагаад тусдаа шалгуур вэ?

RAG-ийн алдаа хариулт бичихээс өмнө үүсэж болно. PDF-ийн хүснэгт буруу задрах, нэг утгатай догол мөр хэдэн хэсэгт тасрах, хуучин хувилбар индексэд үлдэхэд хайгч зөв хэсгийг олоход хүндрэлтэй. Олдоогүй мэдээллийг хариулт үүсгэгч загвар нөхөж чадахгүй тул баримт задлал, хэсэглэл болон шинэчлэлтийн урсгал сонголтод бодит нөлөөтэй.

LlamaIndex-ийн өгөгдөл төвтэй бүтэц баримт, хэсэг, индекс болон хайлтын үе шатыг тусад нь тохируулахад чиглэдэг. Үндсэн framework-ийн уншигчид цэвэр текстэд зориулагдсан; скан PDF, маягт, хүснэгт зэрэг хэцүү эхэд нэмэлт задлагч хэрэгтэй байж болно. LangChain-ээр мөн өгөгдөлтэй RAG байгуулж болох учраас давуу талыг зөвхөн боломжийн жагсаалтаар тогтоохгүй. Монгол хэлний журам, гэрээ эсвэл хоёр хэлтэй мэдлэгийн сан ашиглах бол туршилтын корпус бодит баримтын бүтэц, нэр томьёо, шинэчлэгдэх нөхцөлийг төлөөлөх ёстой.

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

RAG-ийн чанарыг хэрхэн шударга харьцуулах вэ?

Хоёр demo-ийн бэлэн хариултыг зэрэгцүүлээд ялагч тодруулах нь хангалтгүй. RAGLAB-ийн судалгаа шударга харьцуулалтад санамсаргүй эхлэлийн утга, хариулт үүсгэгч загвар, хайгч болон зааврыг ижил байлгах шаардлагыг тодорхойлсон. Судалгаанд харьцуулсан зүйл нь RAG алгоритмууд; тэндхүү хүснэгтийг LangChain ба LlamaIndex-ийн өнөөгийн хурд, хариултын чанарын шууд хэмжилт гэж үзэх үндэсгүй.

Давтагдах жижиг туршилтад нэг корпусын яг ижил хувилбар, баримт задлах дүрэм, хэсгийн хэмжээ ба давхцал, embedding загвар, вектор сан, retriever-ийн тохиргоо, буцаах хэсгийн тоо, generator, prompt болон seed-ийг тогтооно. Дараа нь зөвхөн framework-ээр дамжуулан эдгээр бүрэлдэхүүнийг холбох кодыг солино. Нэг талд нэмэлт reranker, нөгөөд нь энгийн хайлт ашиглавал ялгааны шалтгааныг салгаж тогтоох боломжгүй.

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

Хайлтын алдаа, хариултын алдааг салга

Эхлээд хайлтыг хариулт үүсгэх шатнаас тусад нь үнэлнэ. Зөв эх хэсэг олдсон эсэх, тэр хэсэг буцсан үр дүнгийн хэд дэх байрлалд орсныг тогтоосны дараа хариулт олдсон контекстдоо үнэнч байна уу гэдгийг шалгах хэрэгтэй. LlamaIndex-ийн үнэлгээний заавар хайлтын hit rate, MRR болон хариултын faithfulness-ийг тусад нь хэмжих жишээтэй. Ийм салгалт нь зөв баримт олдоогүй юу, эсвэл олдсон баримтыг загвар буруу ашигласан уу гэдгийг ялгана.

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

Сонголтын дөрвөн хэмжээс

Ижил нөхцөлтэй чанарын туршилтыг хөгжүүлэлтийн ажлын өртөгтэй хамт харвал шийдвэр илүү тодорхой болно. Дараах матриц нь бүтээгдэхүүнүүдэд урьдчилан оноо өгч байгаа хэрэг биш; тухайн төслийн хувьд харьцуулах ажиглалтууд юм.

  • Агентын удирдлага: Хэрэгсэл дуудах дараалал, төлөв хадгалалт, алдаа гарвал дахин оролдох болон хүний хяналт хэрэгтэй эсэхийг харьцуул. Эдгээр нь төслийн гол төвөг бөгөөд LangChain-ийн угсралт багт ойлгомжтой байвал түүнийг сонгох үндэслэлтэй.
  • Өгөгдөл оруулах: Бодит PDF, хүснэгт, мэдээллийн сангийн бичлэг дээр задлал, хэсэглэл, индекс шинэчлэлтийг харьцуул. LlamaIndex-ээр эх сурвалжаас хариулт хүртэлх замыг бага нэмэлт кодоор удирдаж чадвал өгөгдөл төвтэй төсөлд давуу тал болно.
  • Үнэлгээ: Ижил асуултад олдсон хэсэг, хариултын үнэнч байдал, саатал болон загварын дуудлагын зардлыг тус тусад нь бүртгэ. Чанарын зөрүү гарвал эхлээд хайлт болон загварт очсон контекст ижил байсан эсэхийг тогтоо.
  • Нийлүүлэгчээс хамаарах байдал: Загвар, embedding, вектор сан болон үнэлгээний хэрэгслийг солиход хэдэн холбоос өөрчлөгдөхийг харьцуул. Корпус, асуултын багц, хэмжилтийн үр дүнгээ framework-ээс тусад нь хадгалж чадвал дараагийн шилжилтийн ажил багасна.

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

Мөн уншаарай:

Хуваалцах:

Мэдээллийн товхимолд бүртгүүлэх

Web3, AI болон криптоны шинэ мэдээг шууд имэйл хайрцагтаа аваарай.

0