Haɗa RAG tare da LLMs don Ingantattun Ayyukan Ci gaban Software | B4N1

Haɗa RAG tare da LLMs don Ingantattun Ayyukan Ci gaban Software

9 months ago · b4n1 Read time: 4 min

** Haɗa RAG tare da LLMs don Ingantattun Ayyukan Ci gaban Software ***

** Gabatarwa ***

Tsarin ci gaban software yana ci gaba da sauri, yana haifar da ci gaba a cikin basirar wucin gadi (AI), koyon injin (ML), da sarrafa harshe na halitta (NLP). Mahimman fasahohi guda biyu waɗanda ke yin juyin juya hali ta hanyar haɓaka software sune Sakewa-Augmented Generation (RAG) da Large Harshe Model (LLMs). A cikin wannan labarin, za mu bincika haɗin gwiwar RAG tare da LLMs don daidaita tsarin aikin injiniya na software, inganta ƙirar ƙira, da haɓaka haɓakar haɓakawa.

Mene ne Ƙarfafa Ƙarfafa Ƙarfafawa (RAG)?

RAG wata dabara ce wacce ta haɗu da ƙarfi na tushen sake dawowa da tsarin tsararru zuwa NLP. Ya ƙunshi maido da bayanan da suka dace daga babban rubutun rubutu da amfani da shi don haɓaka ƙirƙirar sabon rubutu. An nuna wannan tsarin yana da tasiri sosai a cikin ayyuka daban-daban na NLP, gami da amsa tambayoyi, taƙaitaccen rubutu, da tsara lamba.

** Menene Manyan Samfuran Harshe (LLMs)?**

LLMs wani nau'in cibiyar sadarwa ne na jijiya wanda aka ƙera don sarrafawa da samar da harshe irin na ɗan adam. An horar da su akan ɗimbin bayanai na rubutu kuma ana iya daidaita su don takamaiman ayyuka kamar fassarar harshe, taƙaitaccen rubutu, da tsara lamba. LLMs sun sami sakamako na zamani a cikin ayyukan NLP da yawa kuma ana amfani da su sosai a aikace-aikace kamar su chatbots, mataimakan kama-da-wane, da tsarin fassarar harshe.

** Haɗa RAG tare da LLMs don Ingantattun Ayyukan Ci gaban Software ***

Haɗin RAG tare da LLMs yana da yuwuwar sauya yadda muke haɓaka software. Ta hanyar haɗa ƙarfi na tushen maidowa da hanyoyin tushen tsarawa, RAG na iya taimaka wa LLMs don samar da mafi daidaito kuma lambar da ta dace. Wannan na iya haifar da gagarumin ci gaba a cikin haɓakar haɓakawa, ingancin lambar, da gabaɗayan ayyukan haɓaka software.

** Kayan aikin Orchestration: LangChain da DSPy ***

Don haɗa RAG tare da LLMs, muna buƙatar kayan aikin ƙungiyar ƙididdiga waɗanda za su iya sarrafa kwararar bayanai da sarrafa aiwatar da abubuwan RAG da LLM. Shahararrun kayan aikin kaɗe-kaɗe guda biyu waɗanda za a iya amfani da su don wannan dalili sune LangChain da DSPy.

LangChain

LangChain babban ɗakin karatu ne na Python mai buɗewa wanda ke ba da API mai sauƙi da fahimta don gina aikace-aikacen tushen RAG. Yana ba masu haɓaka damar haɓaka RAG cikin sauƙi tare da LLMs da sauran abubuwan NLP don ƙirƙirar ayyukan haɓaka software mai ƙarfi.

DSPy

DSPy wani babban ɗakin karatu ne na Python wanda ke ba da babban matakin API don gina aikace-aikacen tushen RAG. An tsara shi don yin aiki tare da LLMs da sauran abubuwan NLP, yana mai da shi kyakkyawan zaɓi don haɗa RAG tare da LLMs.

** Misalin lamba: Haɗa RAG tare da LLMs ta amfani da LangChain ***

Ga misali mai sauƙi na lamba wanda ke nuna yadda ake haɗa RAG tare da LLMs ta amfani da LangChain: `` Python shigo da langchain daga langchain.chains shigo da RAGChain

rag_model = langchain.RAG( index=langchain.Index( suna = "my_index", takardun = ["document1", "document2", "document3"], ), retriever=langchain.Retriever( suna = "my_retriever", model = "my_retriever_model", ), janareta=langchain.Generator( suna = "my_generator", model = "my_generator_model", ), )

Ƙayyade samfurin LLM

llm_model = langchain.LLM( suna = "my_llm", model = "my_llm_model", )

Ƙirƙiri sarkar RAG

rag_chain = RAGChain ( suna = "my_rag_chain", model=rag_model, llm=lm_model, )

Yi amfani da sarkar RAG don ƙirƙirar lamba

code = rag_chain.generate( input_text="Rubuta aikin da zai ɗauki lamba biyu azaman shigarwa kuma ya dawo da jimlar su", )

buga (kodi)

Wannan misalin lambar yana nuna yadda ake ayyana samfurin RAG ta amfani da LangChain, ayyana samfurin LLM, ƙirƙirar sarkar RAG, da amfani da sarkar don samar da lamba.

** Manyan Dokoki 5-10 da Akafi Amfani da su/Snippets**

Anan akwai manyan 5-10 da aka fi amfani da umarni/snippets don haɗa RAG tare da LLM ta amfani da LangChain da DSPy:

1. `langchain.RAG()`: Yana ƙirƙira samfurin RAG.
2. `langchain.Index()`: Yana ƙirƙira misali mai ƙididdigewa don adanawa da dawo da takardu.
3. `langchain.Retriever()`: Yana ƙirƙira misalin maidowa don maido da takaddun da suka dace.
4. `langchain.Generator()`: Yana ƙirƙira misalin janareta don ƙirƙirar sabon rubutu.
5. `langchain.LLM()`: Yana ƙirƙira misalin samfurin LLM.
6. `RAGChain()`: Yana haifar da misalin sarkar RAG.
7. `rag_chain.generate()`: Yana amfani da sarkar RAG don samar da lamba.
8. `lm_model.generate()`: Yana amfani da ƙirar LLM don samar da lamba.
9. `index.add_document()`: Yana ƙara daftarin aiki zuwa fihirisar.
10. `retriever.retrieve()`: Yana dawo da takaddun da suka dace ta amfani da mai dawowa.

**Kallon gani**

Anan ga hangen nesa na abubuwan RAG da LLM ta amfani da Chart.js:
Json
{
  "type": "bar",
  "data": {
    "labels": ["RAG", "LLM"],
    "datasets": [
      {
        "label": "Components",
        "bayanai": [10, 20],
        "Bayan launi": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "zaɓi": {
    "take": {
      "nuna": gaskiya,
      "rubutu": "RAG da kayan aikin LLM"
    },
    "ma'auni": {
      "yAxes": [
        {
          "nuna": gaskiya,
          "beginAtZero": gaskiya
        }
      ]
    }
  }
}

Wannan hangen nesa yana nuna adadin abubuwan haɗin gwiwa a cikin samfuran RAG da LLM.

Kammalawa

Haɗin RAG tare da LLMs yana da yuwuwar sauya yadda muke haɓaka software. Ta hanyar haɗa ƙarfi na tushen maidowa da hanyoyin tushen tsarawa, RAG na iya taimaka wa LLMs don samar da mafi daidaito kuma lambar da ta dace. Wannan na iya haifar da gagarumin ci gaba a cikin haɓakar haɓakawa, ingancin lambar, da gabaɗayan ayyukan haɓaka software. Tare da kayan aikin kaɗe-kaɗe kamar LangChain da DSPy, masu haɓakawa na iya haɗawa cikin sauƙi RAG tare da LLMs da sauran abubuwan NLP don ƙirƙirar ayyukan haɓaka software mai ƙarfi.


Have Questions?

Let's Talk

Contact me on LinkedIn