Technology Newsfeed
Tech

Хэрэглээний хиймэл оюун ухааны програм хангамжийн инженерчлэл: RAG

? Сайн байна уу, энэ бол зөвхөн Прагматик Инженерийн Мэдээллийн товхимолын захиалагчдад зориулагдсан дугаартай Gergely юм. Дугаар бүрт би Big Tech болон стартапуудад тулгарч буй сорилтуудыг инженерийн менежерүүд болон ахлах инженерүүдийн нүдээр дамжуулдаг. Ийм нийтлэлүүдийг ирсэн имэйл хайрцагтаа авахын тулд долоо хоног бүр дараах зүйлсийг бүртгүүлнэ үү.

Одоо бүртгүүлнэ үү

Би саяхан ярилцсан Картик Харихаран VC Goodwater Capital фирмийн инженерчлэлийг удирдаж байсан тэрээр өөрийн олж харсан чиг хандлагыг онцлон тэмдэглэв.

"Бараг бүх стартапууд өөрсдийн Retrieval Augmentation Generation (RAG) дамжуулах хоолойг барьж, Том хэлний загвар (LLM) барьж байгааг би харж байна.

RAG нь LLM програмыг бүтээж буй хэн бүхэнд түгээмэл загвар юм. Учир нь энэ нь "цэвэр сануулга" болон нарийн тохируулгын давхаргыг өгдөг. Нээлттэй эхийн шийдлүүд байдаг ч бараг бүх хүмүүс өөрсдөө бүтээдэг."

Би энэ талаар хэд хэдэн хиймэл оюун ухааны (AI) стартапуудаас асуусан бөгөөд бүгд өөрсдийн RAG-г бүтээдэг. Тиймээс, би ижил зүйлийг хийж байгааг мэддэг стартап руу хандсан: Wordsmith AI. Энэ бол RAG-ийг маш их ашиглаж байгаа дотоод хуулийн багуудад зориулсан хиймэл оюун ухааны гарааны бизнес бөгөөд үүсгэн байгуулсан. Росс МакНэйрн . Тэр бид хоёр Skyscanner-д олон жил хамтран ажилласан бөгөөд тэрээр Wordsmith AI-ийн RAG дамжуулах хоолой барих арга барил болон зарим сургамжийг хуваалцахыг санал болгосон. Сонирхлын тунхаглал: Би Wordsmith-ийн хөрөнгө оруулагч , мөн компанид байна Саяхан худалдаанд гарсан нууцаас гарсан.

Өнөөдөр бид дараахь зүйлийг хамарна.

  1. LLM-ийг нэмэлт контекстээр хангах

  2. Хамгийн энгийн RAGs

  3. RAG дамжуулах хоолой гэж юу вэ?

  4. RAG дамжуулах хоолойн мэдээллийн санг бэлтгэж байна

  5. Бүгдийг нэгтгэж байна

  6. RAG хязгаарлалтууд

  7. RAG дамжуулах хоолойг барьж буй бодит ертөнцийн сургалтууд

Өнөөдрийн нийтлэлд "кодын хамт" орсон тул та өөрийн RAG-г бүтээх боломжтой. Энэ нийтлэлд ашигласан кодыг үзнэ үү Энэхүү GitHub репозитор дээр: Hello-wordsmith . Россыг гүйцэхийн тулд, түүний блогт бүртгүүлээрэй эсвэл LinkedIn дээр түүнийг дага .

Энэ нийтлэлийн доод хэсгийг зарим цахим шуудангийн үйлчлүүлэгчид тасалж болно. Өгүүллийг бүрэн эхээр нь онлайнаар тасралтгүй уншина уу.

Нийтлэлийг бүрэн эхээр нь онлайнаар уншина уу

Ингэснээр Росс дууслаа:

Танилцуулга

Сайн уу! Энэхүү нийтлэл нь хиймэл оюун ухааны програм хангамжийн инженерчлэлийн хамгийн үндсэн загваруудын нэг болох RAG буюу Retrieval Augentented Generation-тэй танилцахад тань туслах зорилготой юм.

Би хуулийн технологийн гарааны компанийг үүсгэн байгуулсан Үг дархан , бид орчин үеийн хуулийн багийг ажиллуулах платформыг бий болгож байна. Манай үүсгэн байгуулагчдын баг өмнө нь Meta, Skyscanner, Travelperk, KPMG-д ажиллаж байсан.

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

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

1. LLM-ийг нэмэлт контекстээр хангах

Та ChatGPT-ээс яаж хариулахаа мэдэхгүй асуулт асууж байсан уу, эсвэл хариулт нь хэтэрхий өндөр байна уу? Бид бүгд тэнд байсан бөгөөд GPT-тэй харилцах нь үнэхээр сайн ярьдаг ч бодит байдлыг мэддэггүй хүнтэй ярилцмаар санагддаг. Хамгийн муу нь тэд хариултдаа байгаа мэдээллийг нөхөж чадна!

Энд нэг жишээ байна. 2024 оны 2-р сарын 1-нд Марк Зукерберг орлогын дуудлагын үеэр Метагийн хиймэл оюун ухааны стратегийн стратегийн үр өгөөжийг тодорхойлсон. Гэхдээ бид ChatGPT-ээс энэ сэдвийн талаар асуулт асуухад энэ загвар нь өндөр түвшний хариултыг өгөх болно, гэхдээ үнэндээ бидний хүсч байгаа зүйл биш юм:

ChatGPT 3.5-ийн Мета-ийн хиймэл оюун ухааны стратегийн талаархи асуултын хариулт. Хариулт нь ерөнхий бөгөөд асуултанд хариулах чухал эх сурвалжийг орхигдуулдаг

Загвар өмсөгч Марк Зукерберг тайлбар хийхээс өмнө бэлтгэл сургуулилтаа тасалсан тул энэ нь утга учиртай юм. Хэрэв загвар нь энэ мэдээлэлд хандах боломжтой байсан бол тэр уулзалтын баримтуудыг нэгтгэн дүгнэх боломжтой байсан бөгөөд үүнд:

"Тиймээс би энд [Метагийн нээлттэй эхийн стратегийн) стратегийн ашиг тусыг тайлбарлах нь ашигтай байх гэж бодсон. (...)

Богино хувилбар нь нээлттэй эх сурвалж нь бидний загваруудыг сайжруулдаг. (...)

Нэгдүгээрт, нээлттэй эхийн программ хангамж нь олон нийтээс ирж буй санал хүсэлт, хяналт, хөгжүүлэлтийн улмаас ажиллахад илүү аюулгүй, аюулгүй, тооцооллын үр ашигтай байдаг. (...)

Хоёрдугаарт, нээлттэй эхийн программ хангамж нь ихэвчлэн салбарын стандарт болдог. (...)

Гуравдугаарт, нээлттэй эх сурвалж нь хөгжүүлэгчид болон судлаачдын дунд маш их алдартай. (...)

Манай тоглоомын номын дараагийн хэсэг бол зөвхөн хөгжлийн урт хугацааны арга барилыг авч үзэх явдал юм."

LLM-ийн ертөнцийн талаарх ойлголт нь тэдний сургасан мэдээллээр хязгаарлагддаг. Хэрэв та ChatGPT-ийг хэсэг хугацаанд ашиглаж байгаа бол ChatGPT-ийн өмнөх хувилбарт бот хэд хэдэн тохиолдолд "Би 2021 оны 4-р сараас хойш ямар ч мэдлэггүй" гэж хариулж байсан энэ хязгаарлалтыг санаж магадгүй юм.

LLM-д нэмэлт мэдээлэл өгөх

LLM ашиглахыг хүсч буй олон нэмэлт мэдээлэл байна. Дээрх жишээн дээр би Meta-ийн бүх хувьцаа эзэмшигчдийн хурлын хуулбарыг LLM ашиглахыг хүсч магадгүй юм. Гэхдээ бид энэ нэмэлт мэдээллийг одоо байгаа загварт хэрхэн өгөх вэ?

Сонголт 1: сануулгаар оруулах

Хамгийн ойлгомжтой шийдэл бол нэмэлт мэдээллийг сануулгаар оруулах явдал юм; жишээлбэл, "Дараах мэдээллийг ашиглан: [багц өгөгдөл оруулах] [асуултаа асуу] гэсэн асуултад хариулна уу.

Энэ бол маш сайн арга юм. Хамгийн том асуудал бол эдгээр шалтгааны улмаас энэ нь цар хүрээгүй байж магадгүй юм.

  • Оролтын жетоны хязгаар . Загвар бүр оролтын сануулагч токен хязгаартай. Энэ нь GPT-3, 32,768-д зориулсан 2.048 жетон, антропик загваруудад зориулсан GPT-4, 4,096 юм. Google-ийн Gemini загвар нь нэг сая токен хязгаарыг гайхалтай байлгах боломжийг олгодог. Сая яригчтай хязгаар нь боломжуудыг ихээхэн нэмэгдүүлдэг ч оруулах нэмэлт текст ихтэй тохиолдлуудыг ашиглахад хэтэрхий бага хэвээр байж магадгүй юм.

  • Гүйцэтгэл. LLM-ийн гүйцэтгэл нь урт оролтын өдөөлтөөр мэдэгдэхүйц буурдаг; ялангуяа, та сануулагчийнхаа дундуур контекстийг доройтуулдаг. Урт оролтын сануулга үүсгэх боломжтой байсан ч гүйцэтгэлийн солилцоо нь үүнийг хэрэгжүүлэх боломжгүй болгож магадгүй юм.

Сонголт 2: загварыг нарийн тааруулах

LLM нь жингийн асар том матриц дээр суурилдаг гэдгийг бид мэднэ. Дэлгэрэнгүйг уншина уу Энэхүү Прагматик Инженерийн дугаарт ChatGPT хэрхэн ажилладаг. Бүх LLM нь ижил зарчмуудыг ашигладаг.

Сонголт бол бидний загвараас мэдэхийг хүсч буй нэмэлт мэдээлэлд үндэслэн эдгээр жингийн матрицыг шинэчлэх явдал юм. Энэ нь сайн сонголт байж болох ч цаг хугацаа, мөнгө, тооцоолох нөөцийн хувьд урьдчилгаа зардал нь хамаагүй өндөр юм. Түүнчлэн, энэ нь зөвхөн ChatGPT, Anthropic болон бусад "хаалттай эх сурвалж" загваруудыг ашиглах үед тийм биш юм.

Сонголт 3: RAG

"RAG" гэсэн нэр томъёо нь a 2020 оны цаас Патрик Льюис тэргүүтэй. Олон хүмүүсийн анзаардаг нэг зүйл бол "Retrieval Augmented Generation" нь бага зэрэг дүрэмгүй сонсогдож байна. Патрик зөвшөөрч, ингэж хэлэв:

"Бид үргэлж илүү сайхан нэртэй байхаар төлөвлөж байсан, гэхдээ цаас бичих цаг ирэхэд хэнд ч илүү сайн санаа байгаагүй."

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

LLM домэйны тусгай мэдлэгийг өгөх Та LLM-ээ ямар өгөгдлөөс авахыг хүсч байгаагаа сонгож, тэр ч байтугай өгөгдөл байгаа аль ч сэдвээр мэргэжилтэн болгон хувиргаж болно.

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

Хамгийн оновчтой зардал, хурд . Цөөн хэдэн компаниас бусад бүх компаниудын хувьд маш өндөр өртөг, ур чадварын босго хязгаараас шалтгаалан LLM-ийн гаралтыг хувийн болгох арга зам болгон өөрсдийн үндсэн загвараа сургах талаар бодох нь боломжгүй юм.

Үүний эсрэгээр, RAG дамжуулах хоолойг байрлуулах нь таныг хамгийн бага зардлаар харьцангуй хурдан ажиллуулах болно. Боломжтой хэрэгсэл нь нэг хөгжүүлэгч хэдхэн цагийн дотор маш энгийн функцтэй болно гэсэн үг юм.

Галлюцинацияг багасгах. "Галлюцинация" гэдэг нь LLM-ууд "хийх" хариу үйлдэл үзүүлэх гэсэн нэр томъёо юм. Холбогдох өгөгдлийг харуулсан сайн зохион бүтээсэн RAG дамжуулах хоолой нь энэхүү урам хугарах гаж нөлөөг арилгах бөгөөд таны LLM таны өгсөн домэйны талаар илүү их эрх мэдэлтэй, хамааралтай ярих болно.

Жишээлбэл, хуулийн салбарт LLM нь тодорхой эрх мэдлээс өөрийн ойлголтыг авах шаардлагатай байдаг. Загвараас энгийн мэт санагдах асуултыг асуух жишээг авч үзье, тухайлбал:

Би хэн нэгнийг яаж ажилд авах вэ?

Таны LLM сургалтын мэдээлэлд үндэслэн контекстийг санал болгоно. Гэсэн хэдий ч та тэгдэг үгүй Энэ загвар нь Калифорниа зэрэг АНУ-ын мужаас ажилд авах практикийг гаргаж, үүнийг Британийн визний шаардлагад хослуулахыг хүсч байна!

RAG-ийн тусламжтайгаар та үндсэн өгөгдлийн эх сурвалжийг хянадаг бөгөөд энэ нь та LLM-ийг зөвхөн нэг харьяаллын өгөгдөлд хандах боломжтой гэсэн үг бөгөөд энэ нь хариултууд тогтвортой байх болно.

Ил тод байдал, ажиглалтыг сайжруулах . LLM-ээр дамжуулан оролт, хариултыг хянах нь маш хэцүү байдаг. LLM нь ихэвчлэн "хар хайрцаг" шиг санагддаг бөгөөд та зарим хариулт хаанаас ирснийг мэдэхгүй. RAG-ийн тусламжтайгаар та нэмэлт эх сурвалжийн мэдээллийг оруулж, хариултаа дибаг хийх боломжтой.

2. Хамгийн энгийн RAGs

Шинэ технологийг ойлгох хамгийн сайн арга бол ихэвчлэн түүнтэй тоглох явдал юм. Үндсэн хэрэгжилтийг эхлүүлэх нь харьцангуй энгийн бөгөөд хэдхэн мөр кодоор хийж болно. Туслахын тулд Wordsmith-д туслах болно боодол үүсгэсэн эргэн тойронд LlamaIndex зарим нарийн төвөгтэй байдлыг арилгахад туслах нээлттэй эхийн төсөл. Та чадна босоод гүй , амархан. Энэ нь README файлтай бөгөөд энэ нь таныг машин дээрээ орон нутгийн RAG дамжуулах хоолойгоор суулгаж, АНУ-ын Үндсэн хуулийн хуулбарыг хэсэг болгон хувааж, суулгаж, командын мөрөөрөө хайх боломжийг танд олгоно.

Энэ нь RAG-ийн олж авдаг шиг энгийн зүйл юм; Та эх бичвэрийн баримт бичгийг зүгээр л өөрчилснөөр энэ жишээнд өгөгдсөн нэмэлт контекстийг "солих" боломжтой!

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

Жишээтэй хамт дагаж мөрдөхийн тулд дараахь зүйлийг хийх шаардлагатай.

  • API хэрэглээтэй идэвхтэй OpenAI захиалга. Энд нэгийг тохируулна уу шаардлагатай бол. Жич: асуулга явуулах нь нэг гүйлтэд 0.25-0.50 долларын үнэтэй байх болно.

  • Зааврыг дагаж мөрдөөрэй виртуал Python орчинг тохируулах, OpenAI түлхүүрээ тохируулах, виртуал туслахыг эхлүүлэх.

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

Програмыг тохируулах үед болон OpenAI API товчлуурыг тохируулах үед хэрхэн ажилладаг тухай жишээ энд байна:

АНУ-ын Үндсэн хуулийг нэмэлт контекст болгон өгсөн асуултад хариулсан RAG дамжуулах хоолойн жишээ

Хэрэв та энэ өргөдлийг дагаж мөрдсөн бол: баяр хүргэе! Та дөнгөж сая RAG дамжуулах хоолойг гүйцэтгэсэн. Одоо энэ нь хэрхэн ажилладаг талаар тайлбарлая.

3. RAG дамжуулах хоолой гэж юу вэ?

RAG дамжуулах хоолой нь өгөгдсөн контекстийг ашиглан хариулах чадварыг хангахад шаардлагатай технологийн цуглуулга юм. Бидний жишээн дээр энэ нөхцөл нь АНУ-ын Үндсэн хууль бөгөөд манай LLM загвар нь АНУ-ын Үндсэн хуулийн баримт бичгээс гаргаж авсан нэмэлт мэдээллээр баяжуулсан болно.

RAG дамжуулах хоолой барих алхамууд энд байна:


Алхам 1: Дотор асуулга аваад холбогдох ойлголт болгон задлаарай
Алхам 2: Өгөгдлийн дэлгүүрээс ижил төстэй ойлголтуудыг цуглуул
Алхам 3: Илүү хамааралтай, эрх мэдэлтэй хариултыг бий болгохын тулд эдгээр ойлголтуудыг анхны асуулгатайгаа дахин нэгтгэ.

Үүнийг хамтдаа нэхэх нь:

Ажил дээрээ RAG дамжуулах хоолой. Энэ нь асуултанд хариулахын тулд мэдээллийн сангаас ижил төстэй ойлголтуудыг авчрах замаар LLM-ийн хандах боломжтой контекстийг өргөжүүлдэг.

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

4. RAG дамжуулах хоолойн мэдээллийн санг бэлтгэх

Дэлгэрэнгүй унших