Að samþætta LangChain fyrir háþróaða RAG arkitektúr í Python forritum | B4N1

Að samþætta LangChain fyrir háþróaða RAG arkitektúr í Python forritum

8 months ago · b4n1 Read time: 4 min

Að samþætta LangChain fyrir háþróaða RAG arkitektúr í Python forritum

Yfirlit

Undanfarin ár hefur sviði náttúrulegrar málvinnslu (NLP) orðið vitni að umtalsverðum framförum, sérstaklega á sviði endurheimtar-augmented generation (RAG) kerfa. Þessi kerfi hafa gjörbylt því hvernig við nálgumst verkefni eins og spurningasvörun, textasamantekt og gervigreind í samtali. LangChain, háþróað Python bókasafn, hefur komið fram sem öflugt tæki til að byggja upp RAG arkitektúr. Í þessari grein munum við kafa inn í heim LangChain og kanna samþættingu þess við Python-undirstaða veframma eins og FastAPI og Flask, á sama tíma og við notum skipulagsverkfæri til að auka gagnaöflun og vinnslu.

Hvað er LangChain?

LangChain er opið Python bókasafn sem er hannað til að einfalda þróun RAG kerfa. Það býður upp á alhliða sett af verkfærum og API til að byggja, þjálfa og dreifa gervigreindarlíkönum, auk þess að samþætta þau við ýmsar gagnaveitur og veframma. Aðaláhersla LangChain er á að gera forriturum kleift að búa til stigstærð og skilvirkan RAG arkitektúr sem getur tekist á við flókin NLP verkefni.

** Helstu eiginleikar LangChain**

  1. Modular Architecture: Einingahönnun LangChain gerir forriturum kleift að samþætta mismunandi gervigreind módel, gagnagjafar og veframma auðveldlega, sem gerir það að kjörnum vali til að byggja flókin RAG kerfi.
  2. Orchestration Tools: LangChain býður upp á úrval af hljómsveitarverkfærum sem gera forriturum kleift að stjórna og vinna úr stórum gagnasöfnum, auk þess að samþætta ýmsum gagnaveitum og API.
  3. Stuðningur við margar gervigreindargerðir: LangChain styður breitt úrval gervigreindarlíkana, þar á meðal spenni-undirstaða módel, sem gerir forriturum kleift að velja bestu líkanið fyrir sérstaka notkun þeirra.
  4. Samþætting við veframma: LangChain veitir óaðfinnanlega samþættingu við vinsæla Python-undirstaða veframma eins og FastAPI og Flask, sem gerir það auðvelt að nota RAG kerfi sem vefforrit.

Að samþætta LangChain við FastAPI og Flask

Til að samþætta LangChain við FastAPI og Flask þurfum við að fylgja þessum skrefum:

Skref 1: Settu upp LangChain

Fyrst þurfum við að setja upp LangChain með því að nota pip:

pip setja upp langchain

Skref 2: Búðu til LangChain umboðsmann

Næst þurfum við að búa til LangChain umboðsmann sem mun þjóna sem kjarni RAG kerfisins okkar. Hér er dæmi um hvernig á að búa til grunnumboðsmann:

frá langchain import Agent


umboðsmaður = umboðsmaður(
    name="my_agent",
    model_name="mín_módel",
    model_type="spennir",
    hámarkslengd=1024,
    mín_length=128,
)

Skref 3: Samþætta við FastAPI eða Flask

Þegar við höfum búið til LangChain umboðsmanninn okkar getum við samþætt hann við FastAPI eða Flask. Hér er dæmi um hvernig á að samþætta það við FastAPI:

frá fastapi innflutningur FastAPI
frá langchain import Agent

app = FastAPI()

# Búðu til grunnumboðsmann
umboðsmaður = umboðsmaður(
    name="my_agent",
    model_name="mín_módel",
    model_type="spennir",
    hámarkslengd=1024,
    mín_length=128,
)

@app.get("/generate")
async def generate_text (kvaðning: str):
    # Notaðu umboðsmanninn til að búa til texta
    output = agent.generate(prompt)
    skila {"output": output}

Á sama hátt getum við samþætt LangChain við Flask:

frá flöskuinnflutningi Flaska, beiðni
frá langchain import Agent

app = Flaska(__nafn__)

# Búðu til grunnumboðsmann
umboðsmaður = umboðsmaður(
    name="my_agent",
    model_name="mín_módel",
    model_type="spennir",
    hámarkslengd=1024,
    mín_length=128,
)

@app.route("/generate", methods=["GET"])
def generate_text():
    # Notaðu umboðsmanninn til að búa til texta
    hvetja = request.args.get("prompt")
    output = agent.generate(prompt)
    skila {"output": output}

Hljómsveitarverkfæri í LangChain

LangChain býður upp á úrval af skipulagsverkfærum sem gera forriturum kleift að stjórna og vinna úr stórum gagnasöfnum, auk þess að samþætta við ýmsar gagnagjafar og API. Sum af helstu hljómsveitarverkfærunum í LangChain eru:

  1. Gagnaheimildir: LangChain býður upp á úrval gagnagjafa sem gera forriturum kleift að samþætta ýmsum gagnaveitum og API, svo sem gagnagrunna, skráarkerfi og vef-API.
  2. Gagnavinnslur: LangChain býður upp á úrval gagnavinnsluaðila sem gera forriturum kleift að vinna úr stórum gagnasöfnum, þar á meðal gagnahreinsun, gagnaumbreytingu og gagnasöfnun.
  3. Módelhljómsveitarstjórar: LangChain býður upp á úrval af módelhljómsveitarmönnum sem gera þróunaraðilum kleift að stjórna og dreifa gervigreindum módelum, þar á meðal líkanaþjálfun, dreifingu líkana og líkanaeftirlit.

Sjónræn með Chart.js

Til að sjá frammistöðu RAG kerfisins okkar getum við notað Chart.js, vinsælt JavaScript bókasafn til að búa til gagnvirk töflur. Hér er dæmi um hvernig á að nota Chart.js til að sjá frammistöðu RAG kerfisins okkar:

const ctx = document.getElementById("myChart").getContext("2d");
const graf = ný mynd (ctx, {
  tegund: "lína",
  gögn: {
    merki: ["jan", "feb", "mar", "apríl", "maí"],
    gagnasöfn: [
      {
        merki: "Nákvæmni",
        gögn: [0,8, 0,9, 0,85, 0,88, 0,92],
        bakgrunnslitur: "rgba(255, 99, 132, 0.2)",
        borderColor: "rgba(255, 99, 132, 1)",
        landamærabreidd: 1,
      },
    ],
  },
  valkostir: {
    vog: {
      y: {
        beginAtZero: satt,
      },
    },
  },
});

Top 5-10 mest notuðu skipanir/bútar

Hér eru 5-10 mest notuðu skipanirnar/bútarnir í LangChain:

  1. from langchain import Agent: Flyttu inn Agent flokkinn frá LangChain.
  2. agent = Agent(...): Búðu til nýtt Agent dæmi.
  3. agent.generate(...): Notaðu umboðsmanninn til að búa til texta.
  4. agent.query(...): Notaðu umboðsmanninn til að spyrjast fyrir um þekkingargrunn.
  5. agent.train(...): Þjálfa umboðsmanninn á gagnasafni.
  6. agent.deploy(...): Settu umboðsmanninn upp sem vefþjónustu.
  7. agent.monitor(...): Fylgstu með frammistöðu umboðsmannsins.
  8. agent.update(...): Uppfærðu umboðsmanninn með nýjum gögnum.
  9. agent.delete(...): Eyða tilviki Agent.
  10. agent.save(...): Vista Agent tilvikið í skrá.

Niðurstaða

Í þessari grein höfum við kannað heim LangChain og samþættingu þess við Python-undirstaða veframma eins og FastAPI og Flask. Við höfum einnig fjallað um notkun á hljómsveitarverkfærum í LangChain og gefið dæmi um hvernig á að nota Chart.js til að sjá frammistöðu RAG kerfisins okkar. Með LangChain geta verktaki smíðað stigstærð og skilvirkan RAG arkitektúr sem getur tekist á við flókin NLP verkefni.


Have Questions?

Let's Talk

Contact me on LinkedIn