RAG ምንድን ነው? Retrieval-Augmented Generation በቀላሉ ተብራርቷል
RAG (retrieval-augmented generation) AI ሞዴል የራስዎን መረጃ በመጠቀም ጥያቄዎችን እንዲመልስ የሚያደርግበት መንገድ ነው። አንድ ሰው ጥያቄ ሲጠይቅ መተግበሪያዎ መጀመሪያ ሰነዶችዎን ለጥያቄው በጣም ተዛማጅ በሆኑ ክፍሎች ይፈልጋል፤ ከዚያም እነዚያን ክፍሎች ከጥያቄው ጋር ለሞዴሉ ያስተላልፋል። ሞዴሉ መልሱን የሚጽፈው በሥልጠና ጊዜ በአጋጣሚ ከተማረው ብቻ ሳይሆን በዚያ ጽሑፍ ላይ ተመሥርቶ ነው።
ከAI ጋር ሲገነቡ RAG ለምን ይጠቅማል
ትልቅ ቋንቋ ሞዴል ስለ ዓለም በአጠቃላይ ብዙ ያውቃል፤ ስለ ንግድዎ ግን ምንም አያውቅም፦ ዋጋዎችዎን፣ ፖሊሲዎችዎን፣ የምርት መመሪያዎን፣ ባለፈው ሳምንት የደንበኞች ድጋፍ ትኬቶችን። የሥልጠና ገደብም ስላለው ስለ አዳዲስ ነገሮች አያውቅም። ቢጠይቁትም በልበ ሙሉነት የሚመስል ግን የተሳሳተ መልስ ሊሰጥ ይችላል።
ይህንን ለመፍታት ሦስት ዋና አማራጮች አሉዎት፦
| አቀራረብ | ምን ያደርጋል | ለምን ይጠቅማል |
|---|---|---|
| ሁሉንም በprompt ውስጥ መለጠፍ | ሰነዶቹን በእያንዳንዱ ጥያቄ ይልካል | ጥቂት ገጾች ያሉበት አነስተኛ ጽሑፍ |
| RAG | ሰነዶቹን ፈልጎ ተዛማጁን ክፍል ብቻ ይልካል | ትልቅ ወይም የሚቀያየር ስብስብ፦ የእርዳታ ማዕከላት፣ መመሪያዎች፣ ማስታወሻዎች |
| Fine-tuning | ሞዴሉን በምሳሌዎች ተጨማሪ ያሠለጥናል | ቃና፣ ቅርጸትና ተደጋጋሚ ሥራዎች፤ የሚቀያየሩ እውነታዎች አይደሉም |
ዘመናዊ ሞዴሎች ረጅም prompts ይቀበላሉ፤ ስለዚህ ለአጭር FAQ የመጀመሪያው አማራጭ ብዙ ጊዜ በቂ ነው። RAG ቦታውን የሚያገኘው ሁልጊዜ መላክ ከምትፈልጉት በላይ ጽሑፍ ሲኖራችሁ ነው፤ ምክንያቱም የምትልኩት እያንዳንዱ ቃል ገንዘብና ጊዜ ያስከፍላል (የLLM API ክፍያ እንዴት እንደሚሰላ ይመልከቱ)።
«ከሰነዶቻችን ጋር ተወያይ» ዓይነት ባህሪ፣ የድጋፍ ረዳት ወይም የውስጥ የእውቀት መሳሪያ እየገነቡ ከሆነ፣ የRAG አንድ ዓይነት እየገነቡ ነው ማለት ነው።
ዕለታዊ ምሳሌ
ክፍት መጽሐፍ ፈተና አስቡ። ከማስታወስ መልስ መስጠት ያለበት ተማሪ ሊሳሳት ወይም ሊያጭበረብር ይችላል። ትክክለኞቹን ገጾች መጀመሪያ ገልብጦ አንብቦ ከዚያ የሚመልስ ተማሪ በጣም የበለጠ አስተማማኝ ነው፤ ትክክለኞቹን ገጾች ካገኘ።
- ተማሪው ቋንቋ ሞዴሉ ነው።
- መጽሐፉ ሰነዶቻችሁ ናቸው።
- ትክክለኞቹን ገጾች መገልበጥ ማግኘት (retrieval) ነው።
- መልሱን ከእነዚያ ገጾች መጻፍ ማመንጨት (generation) ነው።
RAG የክፍት መጽሐፍ ስሪት ነው። እንደ ፈተናውም፣ የመልሱ ጥራት ትክክለኞቹ ገጾች መገኘታቸው ላይ በእጅጉ ይመሰረታል።
RAG ደረጃ በደረጃ እንዴት ይሰራል
ተለመደው የRAG ማዋቀር ሁለት ደረጃዎች አሉት።
ሰነዶቻችሁን ማዘጋጀት (አስቀድሞ የሚደረግ)፦
- መሰብሰብ — የእርዳታ ጽሑፎችን፣ PDFዎችን፣ ፖሊሲዎችን፣ የምርት መረጃን።
- መቁረጥ (Chunk) — ረጃጅም ሰነዶችን ወደ ትናንሽ ክፍሎች፣ ብዙ ጊዜ ጥቂት አንቀጾች፣ ይከፍሏቸዋል፤ ፍለጋው የተዛማጁን ክፍል ብቻ እንዲመልስ።
- Embed — እያንዳንዱን ክፍል ወደ embedding ሞዴል ይልካሉ፤ ይህም ጽሑፉን የትርጉሙን ይዘት የሚይዝ ረጅም የቁጥሮች ዝርዝር (embedding) ይለውጠዋል። ስለ ተመሳሳይ ነገሮች የሚናገሩ ጽሑፎች ተመሳሳይ ቁጥሮች ይኖራቸዋል።
- ማከማቸት — ክፍሎቹንና embeddingዎቻቸውን በተመሳሳይነት መፈለግ በሚችል ዳታቤዝ (vector database ወይም vector index ይባላል) ውስጥ ያስቀምጣሉ።
ጥያቄ ሲመለስ (በየጊዜው የሚደረግ)፦
- ጥያቄውን embed ማድረግ — ያው embedding ሞዴል ይጠቀማሉ።
- ማግኘት (retrieve) — ከጥያቄው embedding ጋር በጣም የቀረቡ ክፍሎችን ይወስዳሉ፤ ለምሳሌ ከላይ አምስቱን።
- Prompt መገንባት — መመሪያዎች፣ የተገኙት ክፍሎችና ጥያቄው።
- ማመንጨት — ቋንቋ ሞዴሉ በእነዚያ ክፍሎች ላይ ተመሥርቶ መልሱን ይጽፋል፤ የተጠቀመባቸውን ክፍሎች መጥቀስ ቢችል ይመረጣል።
ፍለጋ በትርጉም ላይ ተመሥርቶ መሥራቱ ይህንን ያስችላል፦ «ገንዘቤን መልሼ ማግኘት» የሚል ጥያቄ ቃላቱ ባይመሳሰሉም «የተመላሽ ፖሊሲ» የሚል ክፍል ሊያገኝ ይችላል።
የሥራ ምሳሌ፦ የጂም የእርዳታ ረዳት
አንድ ጂም 40 የእርዳታ ጽሑፎች አሉት፤ በድረ-ገጹ ላይ የውይይት ረዳት ይፈልጋል። አባል ይጠይቃል፦ «ስጓዝ አባልነቴን ማቆም እችላለሁ?»
መተግበሪያው ጥያቄውን embed ያደርግና ሦስት በጣም ቅርብ ክፍሎችን ያገኛል። አንዱ እንዲህ ይላል፦
የአባልነት ማቆም፦ በወርሃዊ ዕቅድ ላይ ያሉ አባላት በዓመት እስከ 2 ወር አባልነታቸውን ማቆም ይችላሉ።
ይህንን በቅርንጫፉ ጠረጴዛ ወይም በመተግበሪያው ቢያንስ 7 ቀን ቀድመው ይጠይቁ።
ወደ ሞዴሉ የሚላከው prompt እንደዚህ ይመስላል፦
አንተ የNorthside Gym የእርዳታ ረዳት ነህ።
ከዚህ በታች ካሉት ምንጮች ብቻ መልስ። መልሱ ከነሱ ውስጥ ከሌለ፣
እንደማታውቅ ተናገርና የፊት ጠረጴዛውን እንዲያነጋግሩ ጠቁም።
የተጠቀምክበትን ምንጭ ጥቀስ።
[ምንጭ 1፡ የአባልነት ማቆም] በወርሃዊ ዕቅድ ላይ ያሉ አባላት ማቆም...
[ምንጭ 2፡ አባልነትን መሰረዝ] ...
[ምንጭ 3፡ የእንግዳ ማለፊያዎች] ...
ጥያቄ፦ ስጓዝ አባልነቴን ማቆም እችላለሁ?
ሞዴሉም እንዲህ ብሎ ይመልሳል፦ «አዎ — በወርሃዊ ዕቅድ ላይ በዓመት እስከ ሁለት ወር አባልነትዎን ማቆም ይችላሉ። ከመጀመሩ ቢያንስ 7 ቀን ቀድመው በቅርንጫፉ ጠረጴዛ ወይም በመተግበሪያው ይጠይቁ (ምንጭ፦ የአባልነት ማቆም)።»
ጂሙ ምንም ነገር በድጋሚ አላሠለጠነም። የማቆም ፖሊሲውን ሲቀይር፣ ጽሑፉን ያዘምናል፤ መተግበሪያው ያንን ክፍል እንደገና embed ያደርጋል፤ ቀጣዩ መልስም ለውጡን ያንጸባርቃል።
ቁልፍ ቃላት
| ቃል | ትርጉም |
|---|---|
| LLM | ትልቅ ቋንቋ ሞዴል — መልሱን የሚጽፍ AI። LLM ምንድን ነው ይመልከቱ። |
| Embedding | የጽሑፍ ትርጉምን የሚወክል የቁጥሮች ዝርዝር። |
| Embedding ሞዴል | embeddings የሚያመነጭ ሞዴል። ብዙ ጊዜ ከቻት ሞዴሉ የተለየና በጣም ርካሽ ነው። |
| ክፍል (Chunk) | የሰነድ ቁራጭ፤ ለብቻው ለማግኘት በሚያስችል መጠን የተቆረጠ። |
| Vector ዳታቤዝ / vector ፍለጋ | ተመሳሳይ embeddings ያላቸውን ነገሮች የሚያገኝ ማከማቻ። አንዳንድ መደበኛ ዳታቤዞችም ይሰጡታል፤ ለምሳሌ Postgres በpgvector ቅጥያ። |
| Top-k | በጥያቄ ስንት ክፍሎች እንደሚገኙ። |
| Hybrid search | በትርጉም ላይ የተመሠረተ ፍለጋን ከተለመደው የቁልፍ ቃል ፍለጋ ጋር ማጣመር፤ ለምሳሌ የምርት ኮዶችን በትክክል ለማግኘት ይረዳል። |
| የአውድ መስኮት (Context window) | ሞዴሉ በአንድ ጥያቄ መውሰድ የሚችለው ከፍተኛው የጽሑፍ መጠን። |
| መሠረት መስጠት / ጥቅሶች (Grounding / citations) | መልሱን ከተወሰኑ የተገኙ ምንጮች ጋር ማያያዝና ማሳየት። |
የተለመዱ የተሳሳቱ ግንዛቤዎች
- «RAG ሞዴሉን በመረጃዬ ያሠለጥናል።» አያሠለጥንም። ሞዴሉ ምንም አይቀየርም፤ ጥያቄ በሚቀርብበት ጊዜ ተጨማሪ ጽሑፍ ብቻ ያነባል።
- «RAG ቅዠቶችን ሙሉ በሙሉ ያስወግዳል።» ይቀንሳቸዋል እንጂ አያጠፋቸውም። ፍለጋው ትክክለኛውን ክፍል ካጣ፣ ወይም መልሱ በሰነዶቹ ውስጥ ከሌለ፣ ሞዴሉ አሁንም ሊገምት ይችላል። «አላውቅም» እንዲል አዝዙት፤ መልሱን የምታውቁባቸውን ጥያቄዎች ሞክሩ።
- «ልዩ vector ዳታቤዝ ያስፈልገኛል።» ብዙ ጊዜ አያስፈልግም። ለመጠነኛ መረጃ፣ ቀድሞ ባላችሁ ዳታቤዝ ላይ ያለ vector ቅጥያ፣ ወይም ቀላል የቁልፍ ቃል ፍለጋ እንኳ በቂ ሊሆን ይችላል።
- «ትልልቅ ክፍሎች ይሻላሉ።» በጣም ትልቅ ከሆኑ ብዙ አግባብነት የሌለው ጽሑፍ ትልካላችሁ (ወጪና ግራ መጋባት)፤ በጣም ትንሽ ከሆኑ ደግሞ ትርጉም የሰጠውን አውድ ያጣሉ። ማስተካከል ይጠበቅባችኋል።
- «ሁሉንም ብቻ ጫኑ።» ያረጁ፣ የተባዙ ወይም የሚጋጩ ሰነዶች የሚጋጩ መልሶችን ያመጣሉ። የምንጭ ቁሳቁሱን ማጽዳት ብዙ ጊዜ ትልቁ መሻሻል ነው።
- «ማንም ማንኛውንም ሰነድ ማየት ይችላል።» እንዲያ ካዋቀሩት ብቻ ነው። አንዳንድ ሰነዶች ለተወሰኑ ተጠቃሚዎች ግላዊ ከሆኑ፣ ፍለጋው ራሱ ጠያቂውን በማጣራት ማድረግ አለበት፤ ያለበለዚያ ረዳቱ የአንድ ደንበኛን መረጃ ለሌላው ሊጠቅስ ይችላል።
ምን ያስወጣል
የRAG ባህሪ ሦስት ተደጋጋሚ ወጪዎች አሉት፦ ሰነዶቹን embed ማድረግ (ትንሽ፣ በአብዛኛው አንዴ ብቻ)፣ እያንዳንዱን ጥያቄ embed ማድረግ (እጅግ ትንሽ)፣ እና የቋንቋ ሞዴሉ ጥሪ (ዋናው ወጪ፣ በሚልኩት ክፍሎች ብዛት ያድጋል)። በላዩ ላይ በዳታቤዝዎ ውስጥ ያለ ማከማቻ። የAI አቅራቢዎ እነዚህን በራሳችሁ መለያ ያስከፍላል፤ ስለዚህ በአቅራቢው ዳሽቦርድ ላይ የወጪ ገደብ አስቀምጡ።
ከAI ገንቢችሁ ምን ብላችሁ ጠይቁ
- «RAG ከመገንባታችን በፊት ይህን አረጋግጥ፦ ይዘታችን ወደ prompt ውስጥ በቀጥታ ለማካተት በቂ ትንሽ ነው?»
- «የእርዳታ ጽሑፎቹን በጥቂት አንቀጾች ወደ ክፍሎች ከፋፍል፣ የእያንዳንዱን ክፍል ርዕስና የምንጭ ማገናኛ አስቀምጥ፣ embeddingዎቹንም በዳታቤዛችን አከማች።»
- «Hybrid search ተጠቀም፤ ትርጉም ላይ የተመሠረተና የቁልፍ ቃል ፍለጋ አንድላይ፤ የምርት ኮዶች እንዲገኙ።»
- «ሞዴሉ ከተገኙት ምንጮች ብቻ እንዲመልስ፣ የማያውቅ ጊዜ እንዲናገር፣ እና ምንጮቹን ከእያንዳንዱ መልስ በታች እንዲያሳይ አድርግ።»
- «በተፈቀደላቸው ተጠቃሚዎች ብቻ የሚታዩ ሰነዶችን ፈልግ።»
- «ሰነድ በተስተካከለ ቁጥር በራስ-ሰር በድጋሚ embed አድርገው።»
- «የAI አቅራቢው ቁልፍ በአገልጋዩ ላይ በሚስጥር ይቀመጥ፤ በአሳሹ ውስጥ በጭራሽ አይሁን።»
- «እያንዳንዱን ጥያቄ፣ የተገኙትን ክፍሎችና መልሱን መዝግብ፤ መጥፎ መልሶችን መገምገም እንድችል።»
RAG በMythex
Mythex ዝግጁ የሆነ የእውቀት ቤዝ ወይም RAG ምርት አይሰጥም። የሚያደርገው በመተግበሪያዎ ውስጥ ለእሱ ኮድ መጻፍ ነው፦ ሰነዶቻችሁንና የራሳችሁን የAI አቅራቢ ቁልፍ ታቀርባላችሁ፤ ቁልፉ እንደ የፕሮጀክት ሚስጥር ይቀመጣል፣ እና ወኪሉ የማግኛና የውይይት ክፍሎቹን ይገነባል፤ ማከማቻውም የፕሮጀክቱን Postgres ዳታቤዝ ይጠቀማል። የአቅራቢው አጠቃቀም በራሱ የአቅራቢ መለያ ይከፈላል እንጂ በMythex ክሬዲት አይደለም። ሰነዶቹ አንድ ቀላል የAI ባህሪ ከመጀመር ጀምሮ RAG ን ከዚያ በኋላ እንዲጨምሩ ይመክራሉ፤ ለዚህ AI መተግበሪያ መገንባት እና የመመሪያዎቻችንን AI ቻትቦት መተግበሪያ እንዴት መገንባት እንደሚቻል እና AI ባህሪያትን ወደ መተግበሪያዎ ማከል ይመልከቱ።
ጥያቄዎች
RAG በቀላል ቃላት ምንድን ነው?
RAG (retrieval-augmented generation) AI ሞዴል ከራስዎ መረጃ እንዲመልስ የሚያደርግበት መንገድ ነው። ሞዴሉ ከመመለሱ በፊት መተግበሪያዎ ሰነዶችዎን ለጥያቄው በጣም ተዛማጅ የሆኑ ክፍሎችን ይፈልጋል፤ ከዚያም ወደ prompt ውስጥ ያስገባቸዋል። መልሱ በሥልጠና ጊዜ ብቻ በተማረው ሳይሆን በዚያ ጽሑፍ ላይ ይመሠረታል።
RAG AI ከመረጃዬ ላይ ያሠለጥናል?
አይደለም። RAG ሞዴሉን በምንም መንገድ አይቀይርም። ጥያቄ በሚቀርብበት ጊዜ ተዛማጅ ጽሑፍ ፈልጎ ከጥያቄው ጋር ለሞዴሉ ያስተላልፋል። ሰነድ ካዘመኑ፣ ቀጣዩ መልስ አዲሱን ስሪት ወዲያው ሊጠቀም ይችላል።
RAG ከfine-tuning ጋር አንድ ነው?
አይደለም። Fine-tuning ሞዴሉን በምሳሌዎች ተጨማሪ በማሠልጠን ባህሪውን ይቀይራል፤ ይህ ቀርፋፋ ሲሆን ለቃና ወይም ለቅርጸት የተሻለ ነው። RAG ግን በጥያቄ ጊዜ የሚነበቡ እውነታዎችን ለሞዴሉ ይሰጣል፤ ይህ ለሚቀያየር መረጃ ወይም በትክክል መጥቀስ ለሚያስፈልገው መረጃ ይሻላል።
RAG የAI ቅዠቶችን (hallucinations) ያቆማል?
ይቀንሳቸዋል እንጂ ሙሉ በሙሉ አያጠፋቸውም። ፍለጋው የተሳሳቱ ክፍሎችን ካገኘ፣ ወይም መልሱ በሰነዶቹ ውስጥ ከሌለ፣ ሞዴሉ አሁንም ሊገምት ይችላል። ጥሩ RAG መተግበሪያዎች ሞዴሉ የማያውቅ ጊዜ እንዲናገር ያዝዛሉ እንዲሁም የተጠቀሙባቸውን ምንጮች ያሳያሉ።