Integreiddio LangChain ar gyfer Pensaernïaeth RAG Uwch mewn Cymwysiadau Python | B4N1

Integreiddio LangChain ar gyfer Pensaernïaeth RAG Uwch mewn Cymwysiadau Python

8 months ago · b4n1 Read time: 4 min

** Integreiddio LangChain ar gyfer Pensaernïaeth RAG Uwch mewn Cymwysiadau Python**

trosolwg

Yn ystod y blynyddoedd diwethaf, mae maes Prosesu Iaith Naturiol (NLP) wedi gweld datblygiadau sylweddol, yn enwedig ym maes systemau Adalw-Cynhyrchedd Ychwanegol (RAG). Mae'r systemau hyn wedi chwyldroi'r ffordd yr ydym yn mynd i'r afael â thasgau fel ateb cwestiynau, crynhoi testun, ac AI sgyrsiol. Mae LangChain, llyfrgell Python blaengar, wedi dod i'r amlwg fel arf pwerus ar gyfer adeiladu pensaernïaeth RAG. Yn yr erthygl hon, byddwn yn ymchwilio i fyd LangChain ac yn archwilio ei integreiddio â fframweithiau gwe sy'n seiliedig ar Python fel FastAPI a Flask, wrth ddefnyddio offer cerddorfaol ar gyfer adfer a phrosesu data gwell.

Beth yw LangChain?

Mae LangChain yn llyfrgell Python ffynhonnell agored a gynlluniwyd i symleiddio datblygiad systemau RAG. Mae'n darparu set gynhwysfawr o offer ac APIs ar gyfer adeiladu, hyfforddi a defnyddio modelau AI, yn ogystal â'u hintegreiddio ag amrywiol ffynonellau data a fframweithiau gwe. Mae prif ffocws LangChain ar alluogi datblygwyr i greu pensaernïaeth RAG graddadwy ac effeithlon a all drin tasgau NLP cymhleth.

Nodweddion allweddol LangChain

  1. Pensaernïaeth Fodiwlaidd: Mae dyluniad modiwlaidd LangChain yn caniatáu i ddatblygwyr integreiddio gwahanol fodelau AI, ffynonellau data a fframweithiau gwe yn hawdd, gan ei wneud yn ddewis delfrydol ar gyfer adeiladu systemau RAG cymhleth.
  2. Offer Cerddorfa: Mae LangChain yn darparu ystod o offer cerddorfaol sy'n galluogi datblygwyr i reoli a phrosesu setiau data mawr, yn ogystal ag integreiddio â ffynonellau data amrywiol ac APIs.
  3. Cymorth ar gyfer Modelau AI Lluosog: Mae LangChain yn cefnogi ystod eang o fodelau AI, gan gynnwys modelau sy'n seiliedig ar drawsnewidydd, gan ganiatáu i ddatblygwyr ddewis y model gorau ar gyfer eu hachos defnydd penodol.
  4. Integreiddio â Fframweithiau Gwe: Mae LangChain yn darparu integreiddiad di-dor â fframweithiau gwe poblogaidd Python fel FastAPI a Flask, gan ei gwneud hi'n hawdd defnyddio systemau RAG fel cymwysiadau gwe.

Integreiddio LangChain gyda FastAPI a Fflasg

Er mwyn integreiddio LangChain â FastAPI a Flask, mae angen i ni ddilyn y camau hyn:

Cam 1: Gosod LangChain

Yn gyntaf, mae angen i ni osod LangChain gan ddefnyddio pip:

pip gosod langchain

Cam 2: Creu Asiant LangChain

Nesaf, mae angen i ni greu asiant LangChain a fydd yn gwasanaethu fel craidd ein system RAG. Dyma enghraifft o sut i greu asiant sylfaenol:

o Asiant mewnforio langchain


asiant = Asiant (
    enw = "fy_asiant",
    model_name = "fy_model",
    model_type = "trawsnewidydd",
    max_length=1024,
    min_hyd=128,
)

Cam 3: Integreiddio â FastAPI neu Fflasg

Ar ôl i ni greu ein hasiant LangChain, gallwn ei integreiddio â FastAPI neu Flask. Dyma enghraifft o sut i'w integreiddio â FastAPI:

o fastapi mewnforio FastAPI
o Asiant mewnforio langchain

ap = FastAPI()

# Creu asiant sylfaenol
asiant = Asiant (
    enw = "fy_asiant",
    model_name = "fy_model",
    model_type = "trawsnewidydd",
    max_length=1024,
    min_hyd=128,
)

@app.get ("/generate")
async def produce_text(ysgogiad: str):
    # Defnyddiwch yr asiant i gynhyrchu testun
    allbwn = asiant.generate(ysgogol)
    dychwelyd { "output": allbwn}

Yn yr un modd, gallwn integreiddio LangChain gyda Fflasg:

o fflasg mewnforio Fflasg, cais
o Asiant mewnforio langchain

ap = fflasg (__enw__)

# Creu asiant sylfaenol
asiant = Asiant (
    enw = "fy_asiant",
    model_name = "fy_model",
    model_type = "trawsnewidydd",
    max_length=1024,
    min_hyd=128,
)

@app.route ("/generate", methods=["GET"])
def cynhyrchu_testun():
    # Defnyddiwch yr asiant i gynhyrchu testun
    prydlon = request.args.get("anog")
    allbwn = asiant.generate(ysgogol)
    dychwelyd { "output": allbwn}

Offer Cerddorfa yn LangChain

Mae LangChain yn darparu ystod o offer offeryniaeth sy'n galluogi datblygwyr i reoli a phrosesu setiau data mawr, yn ogystal ag integreiddio â gwahanol ffynonellau data ac APIs. Mae rhai o'r offer offeryniaeth allweddol yn LangChain yn cynnwys:

  1. Ffynonellau Data: Mae LangChain yn darparu ystod o ffynonellau data sy'n galluogi datblygwyr i integreiddio ag amrywiol ffynonellau data ac APIs, megis cronfeydd data, systemau ffeiliau, ac APIs gwe.
  2. Proseswyr Data: Mae LangChain yn darparu ystod o broseswyr data sy'n galluogi datblygwyr i brosesu setiau data mawr, gan gynnwys glanhau data, trawsnewid data, a chydgrynhoi data.
  3. Cerddorfeydd Model: Mae LangChain yn darparu ystod o gerddorfawyr model sy'n galluogi datblygwyr i reoli a defnyddio modelau AI, gan gynnwys hyfforddiant model, defnyddio modelau, a monitro modelau.

Delweddu gyda Chart.js

I ddelweddu perfformiad ein system RAG, gallwn ddefnyddio Chart.js, llyfrgell JavaScript boblogaidd ar gyfer creu siartiau rhyngweithiol. Dyma enghraifft o sut i ddefnyddio Chart.js i ddelweddu perfformiad ein system RAG:

const ctx = document.getElementById("myChart").getContext("2d");
siart const = Siart newydd(ctx, {
  math: "llinell",
  data: {
    labeli: ["Ion", "Chwef", "Maw", "Ebrill", "Mai"],
    setiau data: [
      {
        label: "Cywirdeb",
        data: [0.8, 0.9, 0.85, 0.88, 0.92],
        lliw cefndir: "rgba(255, 99, 132, 0.2)",
        borderLliw: "rgba(255, 99, 132, 1)",
        Lled y ffin: 1,
      },
    ],
  },
  opsiynau: {
    graddfeydd: {
      y: {
        dechrauAtZero: gwir,
      },
    },
  },
});

Y 5-10 Gorchymyn/Pytiau a Ddefnyddir Fwyaf

Dyma'r 5-10 gorchymyn / pytiau a ddefnyddir fwyaf yn LangChain:

  1. o Asiant mewnforio langchain: Mewnforio'r dosbarth Asiant o LangChain.
  2. asiant = Asiant(...): Creu enghraifft Asiant newydd.
  3. agent.generate(...): Defnyddiwch yr Asiant i gynhyrchu testun.
  4. asiant.query(...): Defnyddiwch yr Asiant i ymholi am sylfaen wybodaeth.
  5. agent.train(...): Hyfforddwch yr Asiant ar set ddata.
  6. Agent.deploy(...): Defnyddio'r Asiant fel gwasanaeth gwe.
  7. asiant.monitor(...): Monitro perfformiad yr Asiant.
  8. Agent.update(...): Diweddaru'r Asiant gyda data newydd.
  9. agent.delete(...): Dileu'r enghraifft Asiant.
  10. agent.save(...): Cadw'r enghraifft Asiant i ffeil.

Casgliad

Yn yr erthygl hon, rydym wedi archwilio byd LangChain a'i integreiddio â fframweithiau gwe sy'n seiliedig ar Python fel FastAPI a Flask. Rydym hefyd wedi trafod y defnydd o offer offeryniaeth yn LangChain ac wedi darparu enghreifftiau o sut i ddefnyddio Chart.js i ddelweddu perfformiad ein system RAG. Gyda LangChain, gall datblygwyr adeiladu pensaernïaeth RAG graddadwy ac effeithlon a all drin tasgau NLP cymhleth.


Have Questions?

Let's Talk

Contact me on LinkedIn