„LangChain“ integravimas pažangioms RAG architektūroms „Python“ programose | B4N1

„LangChain“ integravimas pažangioms RAG architektūroms „Python“ programose

8 months ago · b4n1 Tiempo de lectura: 4 min

LangChain integravimas pažangioms RAG architektūroms Python programose

Apžvalga

Pastaraisiais metais natūralios kalbos apdorojimo (NLP) srityje buvo padaryta didelė pažanga, ypač paieškos papildytos kartos (RAG) sistemų srityje. Šios sistemos pakeitė mūsų požiūrį į tokias užduotis kaip atsakymas į klausimus, teksto apibendrinimas ir pokalbio AI. LangChain, pažangiausia Python biblioteka, pasirodė kaip galingas įrankis kuriant RAG architektūras. Šiame straipsnyje mes gilinsimės į „LangChain“ pasaulį ir išnagrinėsime jos integraciją su Python pagrindu veikiančiomis žiniatinklio sistemomis, tokiomis kaip „FastAPI“ ir „Flask“, kartu pasitelkdami orkestravimo įrankius, skirtus patobulintam duomenų gavimui ir apdorojimui.

Kas yra „LangChain“?

LangChain yra atvirojo kodo Python biblioteka, skirta supaprastinti RAG sistemų kūrimą. Jame pateikiamas išsamus įrankių ir API rinkinys, skirtas dirbtinio intelekto modeliams kurti, mokyti ir diegti, taip pat integruoti juos su įvairiais duomenų šaltiniais ir žiniatinklio sistemomis. „LangChain“ pagrindinis dėmesys skiriamas tam, kad kūrėjai galėtų sukurti keičiamo dydžio ir efektyvias RAG architektūras, kurios galėtų atlikti sudėtingas NLP užduotis.

Pagrindinės „LangChain“ savybės

  1. Modulinė architektūra: „LangChain“ modulinis dizainas leidžia kūrėjams lengvai integruoti skirtingus AI modelius, duomenų šaltinius ir žiniatinklio sistemas, todėl tai yra idealus pasirinkimas kuriant sudėtingas RAG sistemas.
  2. Orkestravimo įrankiai: „LangChain“ teikia daugybę orkestravimo įrankių, leidžiančių kūrėjams valdyti ir apdoroti didelius duomenų rinkinius, taip pat integruotis su įvairiais duomenų šaltiniais ir API.
  3. Kelių dirbtinio intelekto modelių palaikymas: „LangChain“ palaiko platų dirbtinio intelekto modelių asortimentą, įskaitant modelius su transformatoriais, todėl kūrėjai gali pasirinkti geriausią modelį konkrečiam naudojimo atvejui.
  4. Integravimas su žiniatinklio rėmeliais: „LangChain“ užtikrina sklandų integravimą su populiariomis Python pagrindu veikiančiomis žiniatinklio sistemomis, tokiomis kaip „FastAPI“ ir „Flask“, todėl RAG sistemas lengva įdiegti kaip žiniatinklio programas.

LangChain integravimas su FastAPI ir Flask

Norėdami integruoti LangChain su FastAPI ir Flask, turime atlikti šiuos veiksmus:

1 veiksmas: įdiekite „LangChain“.

Pirmiausia turime įdiegti „LangChain“ naudodami pip:

pip įdiegti langchain

2 veiksmas: sukurkite „LangChain“ agentą

Tada turime sukurti „LangChain“ agentą, kuris būtų mūsų RAG sistemos pagrindas. Štai pavyzdys, kaip sukurti pagrindinį agentą:

iš langchain importo agento


agentas = agentas (
    vardas = "mano_agentas",
    model_name="mano_modelis",
    model_type="transformatorius",
    max_length=1024,
    min_length = 128,
)

3 veiksmas: integruokite su FastAPI arba Flask

Sukūrę „LangChain“ agentą, galime jį integruoti su „FastAPI“ arba „Flask“. Štai pavyzdys, kaip jį integruoti su FastAPI:

iš fastapi importuoti FastAPI
iš langchain importo agento

programa = FastAPI ()

# Sukurkite pagrindinį agentą
agentas = agentas (
    vardas = "mano_agentas",
    model_name="mano_modelis",
    model_type="transformatorius",
    max_length=1024,
    min_length = 128,
)

@app.get("/generate")
async def generate_text(prompt: str):
    # Naudokite agentą tekstui generuoti
    produkcija = agent.generate(prompt)
    return {"output": output}

Panašiai galime integruoti „LangChain“ su „Flask“:

iš kolbos importas Kolba, prašymas
iš langchain importo agento

programa = Kolba (__name__)

# Sukurkite pagrindinį agentą
agentas = agentas (
    vardas = "mano_agentas",
    model_name="mano_modelis",
    model_type="transformatorius",
    max_length=1024,
    min_length = 128,
)

@app.route("/generate", method=["GAUTI"])
def gener_text():
    # Naudokite agentą tekstui generuoti
    prompt = request.args.get("prompt")
    produkcija = agent.generate(prompt)
    return {"output": output}

Orkestravimo įrankiai „LangChain“

„LangChain“ teikia daugybę orkestravimo įrankių, leidžiančių kūrėjams valdyti ir apdoroti didelius duomenų rinkinius, taip pat integruotis su įvairiais duomenų šaltiniais ir API. Kai kurie pagrindiniai „LangChain“ orkestravimo įrankiai:

  1. Duomenų šaltiniai: „LangChain“ teikia daugybę duomenų šaltinių, leidžiančių kūrėjams integruotis su įvairiais duomenų šaltiniais ir API, pvz., duomenų bazėmis, failų sistemomis ir žiniatinklio API.
  2. Duomenų apdorojimo įrenginiai: „LangChain“ teikia daugybę duomenų tvarkytuvų, leidžiančių kūrėjams apdoroti didelius duomenų rinkinius, įskaitant duomenų valymą, duomenų transformavimą ir duomenų agregavimą.
  3. Modelių orkestrantai: „LangChain“ siūlo daugybę modelių orkestrantų, leidžiančių kūrėjams valdyti ir įdiegti AI modelius, įskaitant modelių mokymą, modelių diegimą ir modelių stebėjimą.

Vizualizacija naudojant Chart.js

Norėdami vizualizuoti mūsų RAG sistemos veikimą, galime naudoti Chart.js – populiarią „JavaScript“ biblioteką interaktyvioms diagramoms kurti. Štai pavyzdys, kaip naudoti Chart.js mūsų RAG sistemos veikimui vizualizuoti:

const ctx = document.getElementById("mano diagrama").getContext("2d");
const diagrama = new Chart(ctx, {
  tipas: "linija",
  duomenys: {
    etiketės: ["sausis", "vasaris", "kovas", "balandis", "gegužė"],
    duomenų rinkiniai: [
      {
        etiketė: "Tikslumas",
        duomenys: [0,8, 0,9, 0,85, 0,88, 0,92],
        fono spalva: "rgba(255, 99, 132, 0.2)",
        borderColor: "rgba(255, 99, 132, 1)",
        kraštinės plotis: 1,
      },
    ],
  },
  parinktys: {
    svarstyklės: {
      y: {
        beginAtZero: tiesa,
      },
    },
  },
});

5–10 dažniausiai naudojamų komandų / fragmentų

Čia yra 5–10 dažniausiai naudojamų komandų / fragmentų „LangChain“:

  1. „iš langchain importo agento“: importuokite agento klasę iš „LangChain“.
  2. „Agent = Agent(...)“: sukurkite naują agento egzempliorių.
  3. „agent.generate(...)“: naudokite agentą tekstui generuoti.
  4. „agent.query(...)“: naudokite agentą, kad pateiktumėte užklausą žinių bazėje.
  5. „agent.train(...)“: apmokykite agentą duomenų rinkinyje.
  6. „agent.deploy(...)“: įdiekite agentą kaip žiniatinklio paslaugą.
  7. „agent.monitor(...)“: stebėkite agento veikimą.
  8. „agent.update(...)“: atnaujinkite agentą naujais duomenimis.
  9. „agent.delete(...)“: ištrinkite agento egzempliorių.
  10. „agent.save(...)“: išsaugokite agento egzempliorių faile.

Išvada

Šiame straipsnyje mes ištyrėme „LangChain“ pasaulį ir jo integraciją su Python pagrindu veikiančiomis žiniatinklio sistemomis, tokiomis kaip „FastAPI“ ir „Flask“. Taip pat aptarėme orkestravimo įrankių naudojimą sistemoje „LangChain“ ir pateikėme pavyzdžių, kaip naudoti Chart.js, kad būtų galima vizualizuoti mūsų RAG sistemos veikimą. Naudodami „LangChain“, kūrėjai gali sukurti keičiamo dydžio ir efektyvias RAG architektūras, kurios gali atlikti sudėtingas NLP užduotis.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn