RAG хариулт зөв мөртлөө эх сурвалжгүй байж болно: хоёр хэмжүүрийг салга

|Зохиогч: QUASA редакцын баг|5 мин уншина| 2
RAG хариулт зөв мөртлөө эх сурвалжгүй байж болно: хоёр хэмжүүрийг салга

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

Amazon Bedrock-ийн RAG үнэлгээний хэмжүүрүүд таталтын context coverage, хариултын correctness ба faithfulness, мөн citation precision ба citation coverage-ийг ялгаж тодорхойлдог. Зөв хариулт загварын өмнөх мэдлэгээс гарсан байж болох тул зөв байдлын оноо ганцаараа тухайн таталтыг үнэлэхгүй. Ишлэл байгаа эсэхээс гадна заасан хэсэг нь яг холбогдох өгүүлэмжийг дэмжиж байгаа эсэхийг шалгана.

Монгол кирилл жишиг багцыг бэлдэх

Хэрэглэгчдийн асуудаг хэлбэрт ойр, жижиг бөгөөд тогтвортой жишиг багц буюу gold set бүрдүүл. Мөр бүрт асуулт, хүн баталгаажуулсан жишиг хариулт, түүнийг нотлох баримтын ID ба хэсэг, баримтын хувилбарыг тэмдэглэнэ. Хариулт хэд хэдэн нөхцөлөөс хамаардаг бол нөхцөл бүрийг батлах хэсгийг заах хэрэгтэй; зөвхөн нэг баримт олдсон эсэхээр бүтэн хариултыг үнэлж болохгүй.

Багцад шууд баримт асуусан, хэд хэдэн хэсгээс дүгнэлт шаардсан, эхэд хариултгүй болон ойролцоо нэр томьёотой асуулт оруул. Монгол кирилл бичлэгийн хувилбар, тийн ялгал, товчлол, байгууллагын бүтэн ба богино нэрийг төлөөлүүлэх нь хайлтын доголдлыг илрүүлэхэд тустай. Жишиг хариултыг эх баримттай нь хүн тулгаж баталгаажуул; баримт шинэчлэгдвэл жишиг багцын хувилбарыг бас шинэчил.

Таталт хэрэгтэй баримтыг олсон уу?

Үүсгэсэн хариултаас өмнөх шатны өгөгдлийг тусад нь хадгал: асуулт, буцаасан хэсэг бүрийн текст, баримтын ID, эрэмбэ, мэдлэгийн сангийн хувилбар. Context coverage нь жишиг мэдээллийг татсан хэсгүүд хэр бүрэн хамарч байгааг харуулна. Харин хамааралгүй хэсэг олноор ирсэн эсэхийг тусад нь тэмдэглэвэл хэрэгтэй баримт огт олдоогүй юу, эсвэл хэрэггүй хэсгүүдийн дунд дарагдсан уу гэдгийг ялгаж чадна.

Жишиг хариултыг батлах хэсэг татагдаагүй бол эхлээд мэдлэгийн санд тэр баримт байгаа эсэхийг тогтоо. Байгаа атлаа олдохгүй бол хэсэглэх арга, хайлтын шүүлтүүр, буцаах хэсгийн тоо, дахин эрэмбэлэлтийг шалгах үндэслэлтэй. Хувилбаруудыг харьцуулахдаа ижил асуулт, ижил жишиг багц, ижил сангийн хувилбар ашигла; эс тэгвэл сангийн өөрчлөлтийг retriever-ийн өөрчлөлттэй андуурна.

Өгүүлэмжийн зөв байдал ба эхэд нийцэх байдлыг салгах

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

Ragas-ийн faithfulness хэмжүүрийн тайлбарт татсан контекстоор дэмжигдсэн өгүүлэмжийн тоог хариултын нийт өгүүлэмжийн тоонд хуваадаг. Ийм оноо нь жишиг хариулттай таарсан өгүүлэмжийн хувьтай адил биш. Нөхцөлт жишээнд үйлчилгээ бямба гарагт ажилладаг нь жишиг баримтаар батлагдсан ч систем зөвхөн ажлын өдрийн хуваарийг татсан байг. «Бямба гарагт ажилладаг» гэсэн зөв хариулт тэр удаагийн татсан хэсгээр батлагдахгүй.

Тэмдэглэгээнд дөрвөн төлөв хэрэгтэй: жишгээр зөв бөгөөд татсан эхээр дэмжигдсэн; жишгээр зөв боловч татсан эхэд байхгүй; жишгээр буруу боловч татсан эхэд байгаа; жишгээр буруу бөгөөд татсан эхэд байхгүй. Гурав дахь төлөв нь эх баримт хуучирсан эсвэл алдаатай байж болзошгүйг илтгэнэ. Дөрөв дэх төлөв зохиомол өгүүлэмжийн тодорхой дохио бол хоёр дахь төлөв эх сурвалжгүй зөв хариултыг илрүүлнэ.

Ишлэлийн шалгалтыг энэ ангиллаас тусад нь хийнэ. Citation precision нь иш татсан хэсгүүд зөв заагдсан эсэхийг, citation coverage нь хариултын баталгаанд ишлэл дутсан эсэхийг ялгана. Тиймээс өгүүлэмж зөв, татсан эхэд дэмжлэгтэй байсан ч өөр хэсгийг ишилсэн эсвэл огт ишлээгүй бол тухайн ишлэлийн алдааг хадгал.

Кодгүй шалгалтыг хүснэгтээр давтах

Хүснэгтийн нэг мөрийг нэг асуултаар бус, нэг өгүүлэмжээр төлөөлүүл. Асуултын ID, жишиг өгүүлэмж, системийн өгүүлэмж, татсан хэсгийн ID, ишилсэн хэсгийн ID, жишгээр зөв эсэх, татсан эхээр дэмжигдсэн эсэх, ишлэл таарсан эсэх гэсэн багана хангалттай. Үнэлэгч эргэлзсэн мөрөнд тайлбар болон дахин нягтлах төлөв үлдээвэл дараагийн хүн шийдвэрийг нь давтаж шалгаж чадна.

  1. Ижил жишиг асуултыг хувилбар бүрээр ажиллуулж, хариулт ба татсан хэсгүүдийн түүхий үр дүнг хадгал.
  2. Хариултыг жижиг өгүүлэмжид задалж, жишиг хариулт болон татсан хэсэгтэй тус тусад нь тулга.
  3. Өгүүлэмжтэй холбогдсон ишлэл бүрийн заасан хэсгийг шалгаж, зөв, буруу, дутуу төлөв өг.
  4. Алдааны төлөв бүрийг асуултаар болон нийт багцаар тоолж, өөрчлөгдсөн мөрүүдийг хүнээр нягтал.

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

Python үнэлгээнд дамжуулах өгөгдөл

Python хувилбарт асуулт бүрийг query_id, query, gt_answer, response, retrieved_context талбартай бичлэг болгон бэлдэнэ. RAGChecker-ийн албан зааварт retrieved_context дотор doc_id ба text хадгалах, RAGResults.from_json-оор өгөгдөл унших, RAGChecker үүсгээд evaluate аргыг all_metrics-тэй ажиллуулах жишээ бий. Түүний claim recall ба context precision нь таталтыг, faithfulness болон hallucination нь үүсгэсэн хариултыг оношлоход зориулагдсан; hallucination хэмжүүр нь татсан эхэд байхгүй буруу мэдээлэлд хамаарна.

Үнэлэгчийн өгүүлэмж задлах болон тулгах загваруудыг сонгоод тохиргоог нь үр дүнтэй хамт хадгал. Энэ хэрэгсэл англи хэлд зориулан бүтээгдсэн ч олон хэлтэй загвар ашиглавал бусад хэлэнд ажиллаж болохыг заавар нь тайлбарладаг. Монгол кирилл багцад автомат задлал, дэмжлэгийн шийдвэрийг хүнээр түүвэрлэн нягтал; ишлэлийн ID-г өгүүлэмжтэй холбох шалгалтаа тусдаа хүснэгт эсвэл кодоор нэм, учир нь дээрх хэмжүүрүүд ишлэлийн таарцыг дангаар нь шийдэхгүй.

Шинэ хувилбарын босго тогтоох

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

Босго унасан мөрийг алдааны төрлөөр нь зас: жишиг баримт олдоогүй бол таталтыг, баримт ирсэн ч хариулт зөрсөн бол үүсгэх шатыг, зөв өгүүлэмж буруу хэсгийг заасан бол ишлэлийн холболтыг өөрчил. Засварын дараа ижил жишиг багцаар дахин ажиллуулж, prompt, загвар, хайлтын тохиргоо, сангийн хувилбар, үнэлэгчийн тохиргоо болон түүхий үр дүнг хамт хадгал. Ингэснээр дараагийн өөрчлөлт яг аль шатанд ахиц эсвэл ухралт авчирсныг мөрийн түвшинд тогтооно.

Хуваалцах:

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

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

0