Haɗa RAG tare da LLMs don Gine-ginen Software Mai Sauƙi: Jagora Mai Aiki | B4N1

Haɗa RAG tare da LLMs don Gine-ginen Software Mai Sauƙi: Jagora Mai Aiki

8 months ago · b4n1 Read time: 4 min

** Haɗa RAG tare da LLMs don Gine-ginen Software Mai Sauƙi: Jagora Mai Kyau ***

** Gabatarwa ***

A cikin 'yan shekarun nan, fannin gine-ginen software ya sami gagarumin sauyi tare da zuwan manyan Samfuran Harshe (LLMs) da dabarun Maido da Ƙarfafa Ƙarfafawa (RAG). Haɗin kai tsakanin waɗannan fasahohin biyu na da yuwuwar kawo sauyi yadda muke ƙira da haɓaka tsarin software. A cikin wannan labarin, za mu bincika haɗin RAG tare da LLMs don ƙirar software mai ƙarfi, gami da dabarun aiwatarwa ta amfani da kayan aikin ƙungiyar kamar LangChain da DSPy.

Mene ne RAG?

RAG wata dabara ce da ta haɗu da ƙarfi na tushen Sakewa da ƙira na tushen Generation don samar da ingantaccen kayan rubutu. Babban ra'ayin da ke bayan RAG shine a yi amfani da samfurin maidowa don zaɓar takardu masu dacewa ko sassa daga babban ƙungiyar, sannan a yi amfani da ƙirar tsara don samar da rubutu dangane da waɗannan hanyoyin da aka dawo dasu. Wannan hanya ta nuna gagarumin ci gaba a cikin ayyuka kamar amsa tambaya, taƙaitaccen rubutu, da AI taɗi.

menene LLM?

LLMs wani nau'in samfurin hankali ne na wucin gadi wanda aka horar da shi akan adadi mai yawa na bayanan rubutu don samar da fitowar harshe irin na ɗan adam. Waɗannan samfuran yawanci sun dogara ne akan gine-ginen transfoma kuma sun sami sakamako na zamani a cikin ayyuka masu yawa na sarrafa harshe na halitta. LLMs suna da yawa kuma ana iya amfani da su don ayyuka kamar fassarar harshe, taƙaitaccen rubutu, da AI taɗi.

** Me yasa Haɗa RAG tare da LLMs?**

Haɗin RAG tare da LLMs yana ba da fa'idodi da yawa don ƙirar software mai ƙarfi:

  1. ** Ingantaccen Daidaitawa ***: RAG na iya taimaka wa LLMs don zaɓar takaddun da suka dace ko sassa daga babban ƙungiyar, wanda ke haifar da ƙarin daidaitattun abubuwan rubutu da bayanai.
  2. **Ƙara Ƙarfafawa ***: RAG na iya rage lissafin lissafin LLMs ta hanyar zaɓar kawai takaddun da suka fi dacewa ko sassan, wanda zai haifar da saurin amsawa.
  3. ** Ingantaccen Sauƙi ***: Ana iya amfani da RAG don daidaitawa don canza abubuwan da ake so da buƙatun mai amfani, ba da damar LLMs don samar da abubuwan da suka dace da rubutu waɗanda suka fi dacewa da kuma shiga.

** Dabarun Aiwatarwa ***

Akwai dabarun aiwatarwa da yawa don haɗa RAG tare da LLMs, gami da:

  1. ** LangChain ***: LangChain babban ɗakin karatu ne mai buɗewa wanda ke ba da API mai sauƙi da fahimta don gina samfuran tushen RAG. Yana goyan bayan kewayon LLMs kuma ana iya amfani dashi don aiwatar da hadaddun gine-ginen RAG.
  2. ** DSPy ***: DSPy ɗakin karatu ne na Python wanda ke ba da hanya mai sauƙi da inganci don aiwatar da samfuran tushen RAG. Yana goyan bayan kewayon LLMs kuma ana iya amfani dashi don aiwatar da hadaddun gine-ginen RAG.

** Misalin Koda ***

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

llama = LAMA()

Ƙirƙiri samfurin RAGChain

rag_chain = RAGChain (llama, retrieval_model = "t5-karami")

Ƙayyade faɗakarwa

m = "Mene ne babban birnin Faransa?"

Ƙirƙirar fitowar rubutu

fitarwa = rag_chain.run (gaggawa)

buga (fitarwa)

Wannan misalin lambar yana nuna yadda ake amfani da LangChain don ƙirƙirar samfurin RAGChain wanda ke haɗa samfurin LLAMA tare da samfurin maidowa. Ana amfani da samfurin RAGChain don samar da fitarwar rubutu bisa ga gaggawa.

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

Anan akwai manyan umarni 5-10 da aka fi amfani da su/snippets don haɗa RAG tare da LLMs:

1. `langchain.RAGChain(llama, retrieval_model="t5-small")': Yana ƙirƙira samfurin RAGChain wanda ke haɗa ƙirar LLAMA tare da samfurin dawo da.
2. `llama.run(gaggauta)`: Yana samar da fitarwar rubutu bisa gaggauce ta amfani da samfurin LLAMA.
3. `rag_chain.run(gaggauta)`: Yana samar da fitarwar rubutu bisa gaggauce ta amfani da samfurin RAGChain.
4. `langchain.chains.RAGChain (llama, retrieval_model = "t5-small", max_length=1024)': Yana ƙirƙira samfurin RAGChain wanda ke haɗa samfurin LLAMA tare da samfurin maidowa kuma ya saita matsakaicin tsayin rubutun fitarwa.
5. `llama.get_input(gaggauta)`: Yana mayar da rubutun shigarwa don ƙirar LLAMA.
6. `rag_chain.get_output(gaggauta)`: Yana mayar da abin da aka fitar don samfurin RAGChain.
7. `langchain.chains.RAGChain(llama, retrieval_model="t5-small", batch_size=32)`: Yana ƙirƙira samfurin RAGChain wanda ke haɗa ƙirar LLAMA tare da ƙirar maidowa kuma saita girman batch.
8. `llama.get_output(gaggauta)`: Yana mayar da abin da aka fitar don samfurin LLAMA.
9. `rag_chain.get_input(gaggauta)`: Yana dawo da rubutun shigarwa don ƙirar RAGChain.
10. `langchain.chains.RAGChain(llama, retrieval_model="t5-small", device="cuda")': Yana ƙirƙira ƙirar RAGChain wanda ke haɗa ƙirar LLAMA tare da ƙirar dawo da na'urar kuma saita na'urar zuwa CUDA.

**Kallon gani**

Anan ga sauƙin gani na ƙirar RAGChain ta amfani da Chart.js:
Json
{
  "type": "bar",
  "data": {
    "labels": ["LLaMA", "RAGChain"],
    "datasets": [
      {
        "label": "Daidaita",
        "bayanai": [0.8, 0.9],
        "Bayan launi": ["#FF6384", "#36A2EB"]
      }
    ]
  },
  "zaɓi": {
    "take": {
      "nuna": gaskiya,
      "text": "Aikin Samfurin RAGChain"
    },
    "ma'auni": {
      "yAxes": [
        {
          "zama": {
            "beginAtZero": gaskiya
          }
        }
      ]
    }
  }
}

Wannan hangen nesa yana nuna daidaiton ƙirar LLAMA da ƙirar RAGChain.

Kammalawa

Haɗin RAG tare da LLMs yana ba da fa'idodi da yawa don ƙirar software mai ƙarfi, gami da ingantattun daidaito, haɓaka haɓakawa, da ingantaccen sassauci. LangChain da DSPy mashahuran kayan aikin kaɗe-kaɗe ne waɗanda za a iya amfani da su don aiwatar da samfuran tushen RAG. Ta bin dabarun aiwatarwa da misalan lambobi da aka bayar a cikin wannan labarin, masu haɓakawa za su iya ƙirƙirar hadaddun gine-ginen RAG waɗanda ke haɗa LLMs tare da samfuran dawo da su. Manyan 5-10 da aka fi amfani da umarni/snippets don haɗa RAG tare da LLMs ana kuma bayar da su don tunani.


Have Questions?

Let's Talk

Contact me on LinkedIn