Ṣiṣẹpọ RAG pẹlu LLMs fun Imudara Awọn iṣan-iṣẹ Idagbasoke sọfitiwia | B4N1

Ṣiṣẹpọ RAG pẹlu LLMs fun Imudara Awọn iṣan-iṣẹ Idagbasoke sọfitiwia

9 months ago · b4n1 Read time: 4 min

** Iṣajọpọ RAG pẹlu LLMs fun Ilọsiwaju Awọn iṣan-iṣẹ Idagbasoke sọfitiwia ***

Ibere

Ilẹ-ilẹ idagbasoke sọfitiwia n dagba ni iyara, ti a ṣe nipasẹ awọn ilọsiwaju ni oye atọwọda (AI), ẹkọ ẹrọ (ML), ati sisẹ ede abinibi (NLP). Awọn imọ-ẹrọ bọtini meji ti o n yipada ni ọna ti a ṣe agbekalẹ sọfitiwia jẹ Imupadabọ-Imudara Iranti (RAG) ati Awọn awoṣe Ede Tobi (LLMs). Ninu nkan yii, a yoo ṣawari iṣọpọ ti RAG pẹlu LLMs lati mu awọn ilana ṣiṣe ẹrọ sọfitiwia ṣiṣẹ, imudara iran koodu, ati imudara iṣelọpọ idagbasoke.

Kini Tuntun-Imudara Iran (RAG)?

RAG jẹ ilana kan ti o ṣajọpọ awọn agbara ti ipilẹ-igbapada ati awọn isunmọ orisun-iran si NLP. O kan gbigba alaye ti o yẹ lati inu akojọpọ ọrọ nla kan ati lilo rẹ lati ṣe alekun iran ti ọrọ tuntun. Ọna yii ti han lati munadoko pupọ ni ọpọlọpọ awọn iṣẹ ṣiṣe NLP, pẹlu idahun ibeere, akopọ ọrọ, ati iran koodu.

** Kini Awọn awoṣe Ede Tobi (LLMs)?**

Awọn LLM jẹ iru nẹtiwọki neural ti a ṣe apẹrẹ lati ṣe ilana ati ṣe ipilẹṣẹ ede ti o dabi eniyan. Wọn ti ni ikẹkọ ni igbagbogbo lori awọn ipilẹ data nla ti ọrọ ati pe o le ṣe atunṣe daradara fun awọn iṣẹ ṣiṣe kan pato gẹgẹbi itumọ ede, akopọ ọrọ, ati iran koodu. Awọn LLM ti ṣaṣeyọri awọn abajade-ti-ti-aworan ni ọpọlọpọ awọn iṣẹ-ṣiṣe NLP ati pe a lo ni lilo pupọ ni awọn ohun elo bii chatbots, awọn oluranlọwọ foju, ati awọn eto itumọ ede.

** Iṣajọpọ RAG pẹlu LLMs fun Ilọsiwaju Awọn iṣan-iṣẹ Idagbasoke sọfitiwia ***

Ibarapọ ti RAG pẹlu LLM ni agbara lati ṣe iyipada ọna ti a ṣe idagbasoke sọfitiwia. Nipa pipọ awọn agbara ti ipilẹ-igbapada ati awọn ọna ti o da lori iran, RAG le ṣe iranlọwọ fun awọn LLM lati ṣe ina diẹ sii deede ati koodu ti o yẹ. Eyi le ja si awọn ilọsiwaju pataki ni iṣelọpọ idagbasoke, didara koodu, ati awọn ṣiṣan idagbasoke sọfitiwia gbogbogbo.

** Awọn irinṣẹ Orchestration: LangChain ati DSPy ***

Lati ṣepọ RAG pẹlu LLMs, a nilo awọn irinṣẹ orchestration ti o le ṣakoso sisan ti data ati iṣakoso ipaniyan ti RAG ati awọn paati LLM. Awọn irinṣẹ orchestration olokiki meji ti o le ṣee lo fun idi eyi ni LangChain ati DSPy.

LangChain

LangChain jẹ ile-ikawe Python orisun-ìmọ ti o pese API ti o rọrun ati ogbon inu fun kikọ awọn ohun elo orisun RAG. O ngbanilaaye awọn olupilẹṣẹ lati ṣepọ RAG ni irọrun pẹlu LLMs ati awọn paati NLP miiran lati ṣẹda ṣiṣan idagbasoke sọfitiwia ti o lagbara.

DSPy

DSPy jẹ ibi-ikawe Python orisun-ìmọ miiran ti o pese API ipele giga kan fun kikọ awọn ohun elo orisun RAG. O jẹ apẹrẹ lati ṣiṣẹ lainidi pẹlu LLMs ati awọn paati NLP miiran, ṣiṣe ni yiyan ti o dara julọ fun iṣọpọ RAG pẹlu LLMs.

** Apẹẹrẹ koodu: Ṣiṣẹpọ RAG pẹlu LLM ni lilo LangChain ***

Eyi ni apẹẹrẹ koodu ti o rọrun ti o ṣe afihan bi o ṣe le ṣepọ RAG pẹlu LLM ni lilo LangChain: `` Python gbe wọle langchain lati langchain.chains gbe wọle RAGChain

rag_model = langchain.RAG( atọka=langchain.Atọka( orukọ = "my_index", iwe aṣẹ=["document1", "document2", "document3"], ), retriever=langchain.Retriever( orukọ = "my_retriever", awoṣe = "my_retriever_model", ), monomono=langchain.Oludasile( orukọ = "my_generator", awoṣe = "my_generator_model", ), )

Ṣetumo awoṣe LLM

llm_model = langchain.LLM( orukọ = "my_llm", awoṣe = "my_llm_model", )

Ṣẹda ẹwọn RAG kan

rag_chain = RAGChain ( orukọ = "my_rag_chain", awoṣe=rag_model, llm=llm_awoṣe, )

Lo ẹwọn RAG lati ṣe ipilẹṣẹ koodu

koodu = rag_chain.generate ( input_text = "Kọ iṣẹ kan ti o gba odidi meji bi titẹ sii ti o si da apao wọn pada", )

titẹ (koodu)

Apẹẹrẹ koodu yii ṣe afihan bi o ṣe le ṣalaye awoṣe RAG kan nipa lilo LangChain, ṣalaye awoṣe LLM kan, ṣẹda ẹwọn RAG kan, ati lo pq lati ṣe koodu.

** Top 5-10 Awọn aṣẹ ti a lo julọ / awọn snippets ***

Eyi ni awọn pipaṣẹ 5-10 ti o lo julọ julọ / awọn snippets fun sisọpọ RAG pẹlu LLM ni lilo LangChain ati DSPy:

1. `langchain.RAG ()`: Ṣẹda a RAG awoṣe apẹẹrẹ.
2. `langchain.Index()`: Ṣẹda apẹẹrẹ atọka fun titoju ati gbigba awọn iwe aṣẹ pada.
3. `langchain.Retriever()`: Ṣẹda apẹẹrẹ igbapada fun gbigba awọn iwe aṣẹ ti o yẹ pada.
4. `langchain.Generator ()`: Ṣẹda a monomono apẹẹrẹ fun ti o npese titun ọrọ.
5. `langchain.LLM ()`: Ṣẹda ohun LLM awoṣe apẹẹrẹ.
6. `RAGChain ()`: Ṣẹda a RAG pq apeere.
7. `rag_chain.generate ()`: Nlo RAG pq lati se ina koodu.
8. `llm_model.generate ()`: Nlo LLM awoṣe lati se ina koodu.
9. `index.add_document()`: Ṣafikun iwe-ipamọ kan si atọka.
10. `retriever.retrieve()`: Gba awọn iwe aṣẹ ti o yẹ pada nipa lilo igbasilẹ.

** Iworan ***

Eyi ni iwoye ti awọn paati RAG ati LLM ni lilo Chart.js:
`` json
{
  "type": "ọgọ",
  "data": {
    "labels": ["RAG", "LLM"],
    "awọn ipilẹ data": [
      {
        "label": "Components",
        "data": [10, 20],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "awọn aṣayan": {
    "akọle": {
      "ifihan": otitọ,
      "ọrọ": "RAG ati awọn ohun elo LLM"
    },
    "iwọn": {
      "yAxes": [
        {
          "ifihan": otitọ,
          "beginAtZero": otitọ
        }
      ]
    }
  }
}

Iwoye yii fihan nọmba awọn paati ninu awọn awoṣe RAG ati LLM.

Ipari

Ibarapọ ti RAG pẹlu LLM ni agbara lati ṣe iyipada ọna ti a ṣe idagbasoke sọfitiwia. Nipa pipọ awọn agbara ti ipilẹ-igbapada ati awọn ọna ti o da lori iran, RAG le ṣe iranlọwọ fun awọn LLM lati ṣe ina diẹ sii deede ati koodu ti o yẹ. Eyi le ja si awọn ilọsiwaju pataki ni iṣelọpọ idagbasoke, didara koodu, ati awọn ṣiṣan idagbasoke sọfitiwia gbogbogbo. Pẹlu awọn irinṣẹ orchestration bi LangChain ati DSPy, awọn olupilẹṣẹ le ni irọrun ṣepọ RAG pẹlu LLMs ati awọn paati NLP miiran lati ṣẹda awọn ṣiṣan idagbasoke sọfitiwia ti o lagbara.


Have Questions?

Let's Talk

Contact me on LinkedIn