Hoʻohui i ka RAG me nā LLM no ka Dynamic Software Architecture: He alakaʻi hoʻomaʻamaʻa | B4N1

Hoʻohui i ka RAG me nā LLM no ka Dynamic Software Architecture: He alakaʻi hoʻomaʻamaʻa

8 months ago · b4n1 Tiempo de lectura: 5 min

Hoʻohui i ka RAG me nā LLM no ka Dynamic Software Architecture: He alakaʻi hoʻomaʻamaʻa

Hoʻolauna

I nā makahiki i hala iho nei, ua hoʻololi nui ʻia ke kahua o ka hoʻolālā polokalamu me ka hiki ʻana mai o nā ʻenehana Large Language Models (LLMs) a me Retrieval-Augmented Generation (RAG). Hiki i ka synergy ma waena o kēia mau ʻenehana ʻelua ke hoʻololi i ke ʻano o kā mākou hoʻolālā ʻana a hoʻomohala i nā ʻōnaehana polokalamu. Ma kēia ʻatikala, e ʻimi mākou i ka hoʻohui ʻana o RAG me LLM no ka hoʻolālā polokalamu hoʻoikaika, me nā hoʻolālā hoʻokō e hoʻohana ana i nā mea hana orchestration e like me LangChain a me DSPy.

He aha ka RAG?

ʻO RAG kahi ʻenehana e hoʻohui i nā ikaika o ka Retrieval-based a me Generation-based models e hana i nā hua kikokikona kiʻekiʻe. ʻO ka manaʻo kumu ma hope o RAG, ʻo ia ka hoʻohana ʻana i ke kumu hoʻohālike no ke koho ʻana i nā palapala a i ʻole nā ​​paukū kūpono mai kahi kino nui, a laila hoʻohana i kahi hiʻohiʻona hanauna e hana i nā kikokikona e pili ana i kēia mau paukū i kiʻi ʻia. Ua hōʻike kēia ala i ka hoʻomaikaʻi nui ʻana i nā hana e like me ka pane nīnau, ka hōʻuluʻulu kikokikona, a me ke kamaʻilio AI.

He aha ka LLM?

ʻO nā LLM kekahi ʻano o nā kumu hoʻohālike hana akamai i hoʻomaʻamaʻa ʻia ma ka nui o nā ʻikepili kikokikona e hoʻopuka i nā huaʻōlelo e like me ke kanaka. Hoʻokumu pinepine ʻia kēia mau hiʻohiʻona ma luna o nā hale hoʻololi transformer a ua loaʻa i nā hopena kiʻekiʻe loa ma kahi ākea o nā hana hoʻoponopono ʻōlelo kūlohelohe. Hiki ke hoʻohana ʻia nā LLM no nā hana e like me ka unuhi ʻōlelo, ka hōʻuluʻulu kikokikona, a me ke kamaʻilio AI.

No ke aha e hoʻohui ai i ka RAG me nā LLM?

ʻO ka hoʻohui ʻana o RAG me LLM e hāʻawi i nā pono he nui no ka hoʻolālā polokalamu hoʻoikaika.

  1. Improved Accuracy: Hiki i ka RAG ke kōkua i nā LLM e koho i nā palapala kūpono a i ʻole nā paukū mai kahi hui nui, e alakaʻi ana i nā hua kikokikona pololei a ʻike.
  2. Hoʻonui i ka maikaʻi: Hiki i ka RAG ke hoʻemi i ka helu helu ma luna o nā LLM ma ke koho ʻana i nā palapala a i ʻole nā ​​paukū kūpono loa, e alakaʻi ana i nā manawa pane wikiwiki.
  3. Hoʻonui ʻia: Hiki ke hoʻohana ʻia ka RAG no ka hoʻololi ʻana i nā makemake a me nā koi o ka mea hoʻohana, e ʻae ana i nā LLM e hoʻopuka i nā huaʻōlelo i ʻoi aku ka pili a me ka hoʻopili.

Hoʻolālā hoʻokō

Nui nā hoʻolālā hoʻokō no ka hoʻohui ʻana i ka RAG me nā LLM, me:

  1. LangChain: ʻO LangChain kahi hale waihona puke hāmama e hāʻawi ana i kahi API maʻalahi a intuitive no ke kūkulu ʻana i nā kumu hoʻohālike RAG. Kākoʻo ia i kahi ākea o nā LLM a hiki ke hoʻohana ʻia no ka hoʻokō ʻana i nā hale hoʻolālā RAG paʻakikī.
  2. DSPy: ʻO DSPy kahi waihona Python e hāʻawi i kahi ala maʻalahi a maikaʻi hoʻi e hoʻokō i nā hiʻohiʻona RAG. Kākoʻo ia i kahi ākea o nā LLM a hiki ke hoʻohana ʻia no ka hoʻokō ʻana i nā hale hoʻolālā RAG paʻakikī.

Ka Laʻana Code

Eia kahi laʻana code maʻalahi e hōʻike ana pehea e hoʻohana ai iā LangChain e hoʻohui i ka RAG me LLM:

lawe mai i ka lanchain
mai langchain.chains hoʻokomo iā RAGCain
mai ka langchain.llms lawe mai iā LLaMA


llama = LLaMA()

# Hana i kahi hiʻohiʻona RAGCain
rag_chain = RAGCain(llama, retrieval_model="t5-liʻiliʻi")

# E wehewehe i kahi wikiwiki
prompt = "He aha ke kapikala o Farani?"

# Hoʻopuka i nā huaʻōlelo
hoʻopuka = rag_chain.run(prompt)

paʻi (puka)

Hōʻike kēia hiʻohiʻona code pehea e hoʻohana ai i ka LangChain e hana i kahi hiʻohiʻona RAGChain e hoʻohui i kahi hiʻohiʻona LLaMA me kahi kumu hoʻihoʻi. Hoʻohana ʻia ke kumu hoʻohālike RAGCain e hoʻopuka i ka huaʻōlelo ma muli o kahi wikiwiki.

** 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/nā ʻāpana**

Eia nā 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha / snippets no ka hoʻohui ʻana i ka RAG me nā LLM:

  1. langchain.RAGChain(llama, retrieval_model="t5-small"): Hana i kahi kŘkohu RAGCain e ho'ohui i kekahi kŘkohu LLaMA me ka kŘkohu ki'i.
  2. llama.run(prompt): Hoʻopuka i ka hoʻopuka kikokikona ma muli o ka wikiwiki me ka hoʻohana ʻana i ke kumu hoʻohālike LLaMA.
  3. rag_chain.run(prompt): Hoʻopuka i nā huaʻōlelo ma muli o ka wikiwiki me ka hoʻohana ʻana i ke kumu hoʻohālike RAGChain.
  4. langchain.chains.RAGCain(llama, retrieval_model="t5-small", max_length=1024): Hana i kahi kŘkohu RAGCain e hoʻohui i kahi kŘkohu LLaMA me ka kŘkohu kiʻi a hoʻonohonoho i ka lōʻihi loa o ka kikokikona puka.
  5. llama.get_input(prompt): Hoʻihoʻi i ka kikokikona hoʻokomo no ke kumu hoʻohālike LLaMA.
  6. rag_chain.get_output(prompt): Hoʻihoʻi i ka kikokikona puka no ke kumu hoʻohālike RAGChain.
  7. langchain.chains.RAGCain(llama, retrieval_model="t5-small", batch_size=32): Hana i kahi kŘkohu RAGCain e hoʻohui i kekahi kŘkohu LLaMA me kekahi kŘkohu kiʻi a hoʻonohonoho i ka nui o ka pūʻulu.
  8. llama.get_output(prompt): Hoʻihoʻi i ka kikokikona puka no ke kumu hoʻohālike LLaMA.
  9. rag_chain.get_input(prompt): Hoʻihoʻi i ka kikokikona hoʻokomo no ke kumu hoʻohālike RAGChain.
  10. langchain.chains.RAGCain(llama, retrieval_model="t5-small", device="cuda"): Hana i kahi kŘkohu RAGCain e ho'ohui i kekahi kŘkohu LLaMA me ka kŘkohu ki'i a ho'onoho i ka mea hana i CUDA.

Hōʻikeʻike

Eia kahi hiʻohiʻona maʻalahi o ka hoʻohālike RAGCain me ka hoʻohana ʻana iā Chart.js:

{
  "type": "pā",
  "ʻikepili": {
    "labels": ["LLaMA", "RAGCain"],
    "mau ʻikepili": [
      {
        "label": "Polopono",
        "ʻikepili": [0.8, 0.9],
        "ʻulaʻula": ["#FF6384", "#36A2EB"]
      }
    ]
  },
  "koho": {
    "poʻo inoa": {
      "hōʻike": ʻoiaʻiʻo,
      "text": "Ka pololei o ke kumu hoʻohālike RAGCain"
    },
    "nā unahi": {
      "yAxes": [
        {
          "kuʻi": {
            "beginAtZero": ʻoiaʻiʻo
          }
        }
      ]
    }
  }
}

Hōʻike kēia hiʻohiʻona i ka pololei o ke kumu hoʻohālike LLaMA a me ka hiʻohiʻona RAGChain.

Hoʻoholo

ʻO ka hoʻohui ʻana o RAG me nā LLM e hāʻawi i nā pono he nui no ka hoʻolālā polokalamu hoʻoikaika, me ka hoʻomaikaʻi ʻana i ka pololei, ka hoʻonui ʻana i ka pono, a me ka hoʻonui ʻana i ka maʻalahi. ʻO LangChain a me DSPy nā mea hana hoʻokani kaulana ʻelua i hiki ke hoʻohana ʻia e hoʻokō i nā hiʻohiʻona RAG. Ma ka hahai ʻana i nā hoʻolālā hoʻokō a me nā hiʻohiʻona code i hāʻawi ʻia i kēia ʻatikala, hiki i nā mea hoʻomohala ke hana i nā hale hoʻolālā RAG paʻakikī e hoʻohui i nā LLM me nā hiʻohiʻona kiʻi. ʻO ka 5-10 kiʻekiʻe loa i hoʻohana ʻia nā kauoha / snippets no ka hoʻohui ʻana i ka RAG me nā LLM i hāʻawi ʻia no ka ʻike.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn