Kuphatikiza RAG ndi LLMs kwa Dynamic Software Architecture: A Practical Guide | B4N1

Kuphatikiza RAG ndi LLMs kwa Dynamic Software Architecture: A Practical Guide

8 months ago · b4n1 Tiempo de lectura: 3 min

** Kuphatikiza RAG ndi ma LLM a Dynamic Software Architecture: A Practical Guide**

Chiyambi

M'zaka zaposachedwapa, gawo la zomangamanga mapulogalamu asintha kwambiri ndi kubwera kwa Large Language Models (LLMs) ndi Retrieval-Augmented Generation (RAG) njira. Mgwirizano pakati pa matekinoloje awiriwa uli ndi kuthekera kosintha momwe timapangira ndi kupanga mapulogalamu apulogalamu. M'nkhaniyi, tiwona kusakanikirana kwa RAG ndi LLMs kwa zomangamanga zamakono zamakono, kuphatikizapo njira zothandizira kugwiritsa ntchito zida zoyimba ngati LangChain ndi DSPy.

RAG ndi chiyani?

RAG ndi njira yomwe imagwirizanitsa mphamvu za Retrieval-based based and Generation-based model kuti apange zolemba zapamwamba kwambiri. Lingaliro loyambira kumbuyo kwa RAG ndikugwiritsira ntchito chitsanzo chobwezeretsa kuti musankhe zolemba zoyenera kapena ndime kuchokera ku gulu lalikulu, ndiyeno mugwiritse ntchito chitsanzo cha m'badwo kuti mupange malemba okhudzana ndi ndime zomwe zatengedwa. Njirayi yawonetsa kusintha kwakukulu mu ntchito monga kuyankha mafunso, kufupikitsa malemba, ndi kukambirana kwa AI.

LLM ndi chiyani?

Ma LLM ndi mtundu wanzeru zopanga zomwe zimaphunzitsidwa pazambiri zambiri zamalemba kuti apange chilankhulo chofanana ndi cha anthu. Zitsanzozi nthawi zambiri zimachokera ku zomangamanga za transformer ndipo zapeza zotsatira zapamwamba pa ntchito zosiyanasiyana zokonza chinenero. Ma LLM ndi osinthika kwambiri ndipo amatha kugwiritsidwa ntchito ngati kumasulira zilankhulo, kufupikitsa mawu, ndi zokambirana za AI.

Chifukwa chiyani kuphatikiza RAG ndi ma LLM?

Kuphatikiza kwa RAG ndi ma LLM kumapereka maubwino angapo pamapangidwe amphamvu apulogalamu:

  1. Kulondola Kwambiri: RAG ikhoza kuthandiza ma LLM kusankha zolemba kapena ndime zoyenera kuchokera kugulu lalikulu, zomwe zimatsogolera ku zotulutsa zolondola komanso zodziwitsa.
  2. Kuwonjezera Mwachangu: RAG ikhoza kuchepetsa kuchuluka kwa ma LLM posankha zolemba kapena ndime zofunikira zokha, zomwe zimatsogolera kunthawi yoyankha mwachangu.
  3. Kusinthika Kwambiri: RAG ikhoza kugwiritsidwa ntchito kuti igwirizane ndi zokonda ndi zofuna za ogwiritsa ntchito, kulola ma LLM kupanga zolemba zomwe zili zoyenera komanso zokopa.

Njira zokwaniritsira

Pali njira zingapo zogwirira ntchito zophatikizira RAG ndi ma LLM, kuphatikiza:

  1. LangChain: LangChain ndi laibulale yotseguka yomwe imapereka API yosavuta komanso yodziwika bwino yomanga zitsanzo za RAG. Imathandizira ma LLM osiyanasiyana ndipo ingagwiritsidwe ntchito kukhazikitsa zomangamanga zovuta za RAG.
  2. DSPy: DSPy ndi laibulale ya Python yomwe imapereka njira yosavuta komanso yabwino yogwiritsira ntchito zitsanzo za RAG. Imathandizira ma LLM osiyanasiyana ndipo ingagwiritsidwe ntchito kukhazikitsa zomangamanga zovuta za RAG.

Kodi Chitsanzo

Nachi chitsanzo chosavuta chomwe chikuwonetsa momwe mungagwiritsire ntchito LangChain kuphatikiza RAG ndi ma LLM:

import langchain
kuchokera ku langchain.chains import RAGChain
kuchokera ku langchain.llms lowetsani LLaMA


llama = LLaMA ()

# Pangani mtundu wa RAGChain
rag_chain = RAGChain(llama, retrieval_model = "t5-small")

# Sinthani chidziwitso
mwachangu = "Likulu la France ndi chiyani?"

# Pangani zotulutsa mawu
zotuluka = rag_chain.run (mwamsanga)

sindikiza (zotulutsa)

Chitsanzo cha code ichi chikuwonetsa momwe mungagwiritsire ntchito LangChain kupanga chitsanzo cha RAGChain chomwe chimagwirizanitsa chitsanzo cha LLaMA ndi chitsanzo chobwezeretsa. Mtundu wa RAGChain umagwiritsidwa ntchito popanga zotulutsa mawu potengera mwachangu.

**Malamulo/Zidutswa Zapamwamba za 5-10 **

Nawa malamulo / zidule za 5-10 zomwe zimagwiritsidwa ntchito kwambiri kuphatikiza RAG ndi ma LLM:

  1. langchain.RAGChain(llama, retrieval_model="t5-small"): Amapanga chitsanzo cha RAGChain chomwe chimagwirizanitsa chitsanzo cha LLaMA ndi chitsanzo chobwezeretsa.
  2. llama.run(mwamsanga): Amapanga mawu otuluka potengera mwamsanga pogwiritsa ntchito chitsanzo cha LLaMA.
  3. rag_chain.run(mwamsanga): Amapanga mawu otuluka potengera mwamsanga pogwiritsa ntchito chitsanzo cha RAGChain.
  4. langchain.chains.RAGChain(llama, retrieval_model="t5-small", max_length=1024): Amapanga chitsanzo cha RAGChain chomwe chimagwirizanitsa chitsanzo cha LLaMA ndi chitsanzo chobwezeretsa ndikuyika kutalika kwa mawu otuluka.
  5. llama.get_input(prompt): Ikubweza mawu olowera amtundu wa LLaMA.
  6. rag_chain.get_output(mwamsanga): Imabweza mawu otuluka a mtundu wa RAGChain.
  7. langchain.chains.RAGChain(llama, retrieval_model="t5-small", batch_size=32): Amapanga chitsanzo cha RAGChain chomwe chimagwirizanitsa chitsanzo cha LLaMA ndi chitsanzo chobwezeretsa ndikuyika kukula kwa batch.
  8. llama.get_output(mwamsanga): Ikubweza mawu otulutsa amtundu wa LLaMA.
  9. rag_chain.get_input(prompt): Ikubweza mawu olowera amtundu wa RAGChain.
  10. langchain.chains.RAGChain(llama, retrieval_model="t5-small", device="cuda"): Amapanga chitsanzo cha RAGChain chomwe chimagwirizanitsa chitsanzo cha LLaMA ndi chitsanzo chobwezeretsa ndikuyika chipangizo ku CUDA.

**Kuwona **

Nayi chithunzithunzi chosavuta cha mtundu wa RAGChain pogwiritsa ntchito Chart.js:

{
  "type": "bar",
  "data": {
    "labels": ["LLaMA", "RAGChain"],
    "ma dataset": [
      {
        "label": "Zolondola",
        "Deta": [0.8, 0.9],
        "backgroundColor": ["#FF6384", "#36A2EB"]
      }
    ]
  },
  "zosankha": {
    "mutu": {
      "kuwonetsa": zoona,
      "text": "RAGChain Model Accuracy"
    },
    "masikelo": {
      "yAxes": [
        {
          "nkhupakupa": {
            "beginAtZero": zoona
          }
        }
      ]
    }
  }
}

Chiwonetserochi chikuwonetsa kulondola kwa chitsanzo cha LLaMA ndi chitsanzo cha RAGChain.

Mapeto

kuphatikiza kwa RAG ndi ma LLM kumapereka maubwino angapo pamapangidwe a mapulogalamu amphamvu, kuphatikiza kulondola bwino, kuchulukirachulukira, komanso kusinthasintha kowonjezereka. LangChain ndi DSPy ndi zida ziwiri zodziwika bwino za orchestration zomwe zingagwiritsidwe ntchito kukhazikitsa zitsanzo za RAG. Potsatira njira zoyendetsera ntchito ndi zitsanzo za ma code zomwe zaperekedwa m'nkhaniyi, omanga akhoza kupanga zomangamanga zovuta za RAG zomwe zimagwirizanitsa ma LLM ndi zitsanzo zobwezeretsa. Malamulo 5-10 omwe amagwiritsidwa ntchito kwambiri pophatikiza RAG ndi ma LLM amaperekedwanso kuti afotokoze.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn