Ho kopanya LangChain bakeng sa Mehaho e tsoetseng pele ea RAG ho Likopo tsa Python | B4N1

Ho kopanya LangChain bakeng sa Mehaho e tsoetseng pele ea RAG ho Likopo tsa Python

8 months ago · b4n1 Read time: 5 min

**Ho kopanya LangChain bakeng sa Meetso e Tsoetseng Pele ea RAG ho Likopo tsa Python **

Kakaretso

Lilemong tsa morao tjena, tšimo ea Natural Language Processing (NLP) e bone tsoelo-pele e kholo, haholo-holo sebakeng sa mekhoa ea Retrieval-Augmented Generation (RAG). Litsamaiso tsena li fetotse tsela eo re atamelang mesebetsi e kang ho araba lipotso, kakaretso ea mongolo le AI ea moqoqo. LangChain, laeborari ea khale ea Python, e hlahile e le sesebelisoa se matla sa ho haha ​​​​meralo ea RAG. Sehloohong sena, re tla hlahloba lefats'e la LangChain le ho hlahloba ho kopanngoa ha eona le mekhoa ea marang-rang e thehiloeng ho Python e kang FastAPI le Flask, ha re ntse re sebelisa lisebelisoa tsa 'mino bakeng sa ntlafatso ea ho fumana le ho sebetsana le data.

LangChain ke eng?

LangChain ke laebrari e bulehileng ea Python e etselitsoeng ho nolofatsa nts'etsopele ea litsamaiso tsa RAG. E fana ka lisebelisoa tse felletseng le li-API tsa ho aha, ho koetlisa le ho tsamaisa mefuta ea AI, hammoho le ho e kopanya le mehloli e fapaneng ea data le meralo ea webo. Sepheo sa mantlha sa LangChain ke ho thusa bahlahisi hore ba thehe meralo ea RAG e matla le e sebetsang e ka sebetsanang le mesebetsi e rarahaneng ea NLP.

Likarolo tsa bohlokoa tsa LangChain

  1. ** Modular Architecture **: Moqapi oa modular oa LangChain o lumella bahlahisi hore ba kopanye habonolo mefuta e fapaneng ea AI, mehloli ea data, le mekhoa ea marang-rang, e leng se etsang hore e be khetho e nepahetseng bakeng sa ho haha ​​litsamaiso tse rarahaneng tsa RAG.
  2. ** Lisebelisoa tsa Orchestration **: LangChain e fana ka mefuta e mengata ea lisebelisoa tsa 'mino tse nolofalletsang bahlahisi ho laola le ho sebetsana le li-dataset tse kholo, hammoho le ho kopanya le mehloli e sa tšoaneng ea boitsebiso le li-API.
  3. ** Tšehetso bakeng sa Mehlala e Mengata ea AI **: LangChain e tšehetsa mefuta e mengata ea AI, ho kenyelletsa le mehlala e thehiloeng ho transformer, e lumellang bahlahisi hore ba khethe mohlala o motle ka ho fetisisa bakeng sa tšebeliso ea bona e khethehileng.
  4. **Ho kopanngoa le Web Frameworks **: LangChain e fana ka kopanyo e se nang moeli le mekhoa ea marang-rang e tummeng ea Python e kang FastAPI le Flask, e leng ho nolofalletsang ho tsamaisa mekhoa ea RAG e le lisebelisoa tsa marang-rang.

Ho kopanya LangChain le FastAPI le Flask

Ho kopanya LangChain le FastAPI le Flask, re hloka ho latela mehato ena:

Mohato oa 1: Kenya LangChain

Taba ea pele, re hloka ho kenya LangChain re sebelisa pip:

pip kenya langchain

Mohato oa 2: Theha Moemeli oa LangChain

Ka mor'a moo, re hloka ho theha moemeli oa LangChain o tla sebetsa e le motheo oa tsamaiso ea rona ea RAG. Mona ke mohlala oa mokhoa oa ho theha moemeli oa mantlha:

ho tsoa ho Langchain import Agent


moemeli = Moemeli(
    lebitso = "moemedi_waka",
    lebitso_la_mohlala="mohlala_waka",
    mofuta_mofuta = "transformer",
    max_length=1024,
    min_length=128,
)

Mohato oa 3: Kopanya le FastAPI kapa Flask

Ha re se re thehile moemeli oa rona oa LangChain, re ka e kopanya le FastAPI kapa Flask. Mona ke mohlala oa mokhoa oa ho o kopanya le FastAPI:

ho tloha ho fastapi ho kenya FastAPI
ho tsoa ho Langchain import Agent

app = FastAPI()

# Theha moemeli oa mantlha
moemeli = Moemeli(
    lebitso = "moemedi_waka",
    lebitso_la_mohlala="mohlala_waka",
    mofuta_mofuta = "transformer",
    max_length=1024,
    min_length=128,
)

@app.get("/generate")
async def generate_text(ka potlako: str):
    # Sebelisa moemeli ho hlahisa mongolo
    tlhahiso = agent.generate(prompt)
    khutlisetsa {"output": output}

Ka mokhoa o ts'oanang, re ka kopanya LangChain le Flask:

ho tsoa ho flask import Flask, kopo
ho tsoa ho Langchain import Agent

app = Flask(__lebitso__)

# Theha moemeli oa mantlha
moemeli = Moemeli(
    lebitso = "moemedi_waka",
    lebitso_la_mohlala="mohlala_waka",
    mohlala_mofuta = "transformer",
    max_length=1024,
    min_length=128,
)

@app.route("/generate", mekhoa[=["GET"])
def generate_text():
    # Sebelisa moemeli ho hlahisa mongolo
    prompt = request.args.get("prompt")
    tlhahiso = agent.generate(prompt)
    khutlisetsa {"output": output}

Lisebelisoa tsa Orchestration ho LangChain

LangChain e fana ka lisebelisoa tse ngata tsa 'mino tse nolofalletsang bahlahisi ho laola le ho sebetsana le li-dataset tse kholo, hammoho le ho kopanya le mehloli e sa tšoaneng ea boitsebiso le li-API. Tse ling tsa lisebelisoa tsa bohlokoa tsa 'mino oa LangChain li kenyelletsa:

  1. **Mehloli ea Boitsebiso **: LangChain e fana ka mefuta e mengata ea mehloli ea boitsebiso e nolofalletsang bahlahisi hore ba kopane le mehloli e fapaneng ea boitsebiso le li-API, tse kang li-database, litsamaiso tsa lifaele le li-API tsa marang-rang.
  2. **Basebelisi ba Boitsebiso **: LangChain e fana ka mefuta e mengata ea lisebelisoa tsa data tse nolofalletsang bahlahisi ho sebetsana le li-dataset tse kholo, tse kenyelletsang ho hloekisa boitsebiso, ho fetola boitsebiso, le ho bokella lintlha.
  3. **Baetsi ba Mehlala ea Mehlala **: LangChain e fana ka mefuta e mengata ea lihlopha tsa liletsa tsa mohlala tse nolofalletsang bahlahisi ho laola le ho tsamaisa mehlala ea AI, ho kenyelletsa le koetliso ea mohlala, ho tsamaisa mohlala, le ho hlahloba mohlala.

Pono ea pono ka Chart.js

Ho bona ka mahlo a kelello tšebetso ea sistimi ea rona ea RAG, re ka sebelisa Chart.js, laebrari e tsebahalang ea JavaScript bakeng sa ho etsa lichate tse sebetsanang. Mohlala ke ona oa mokhoa oa ho sebelisa Chart.js ho bona ts'ebetso ea sistimi ea rona ea RAG:

const ctx = document.getElementById("myChart").getContext("2d");
const chate = Chate e ncha (ctx, {
  mofuta: "line",
  lintlha: {
    labels: ["Jan", "Feb", "Mar", "Apr", "May"],
    lethathamo la lintlha: [
      {
        label: "Ho nepahala",
        lintlha: [0.8, 0.9, 0.85, 0.88, 0.92],
        backgroundMmala: "rgba(255, 99, 132, 0.2)",
        moeliMmala: "rgba(255, 99, 132, 1)",
        Bophahamo ba moeli: 1,
      },
    ],
  },
  likhetho: {
    sekala: {
      y: {
        qalaAtZero: ke 'nete,
      },
    },
  },
});

Kaholimo ho 5-10 Litaelo/Lipotlana tse Sebelisitsoeng ka ho Fetisisa

Mona ke tse 5-10 tse sebelisoang haholo ho LangChain:

  1. Ho tloha ho Langchain import Agent: Reka sehlopha sa Moemedi ho tswa LangChain.
  2. Moemedi = Moemedi(...): Etsa mohlala o motjha wa Moemedi.
  3. agent.generate(...): Sebelisa Moemeli ho hlahisa mongolo.
  4. agent.query(...): Sebelisa Moemeli ho botsa motheo oa tsebo.
  5. agent.train(...): Koetlisa Moemeli ka pokello ea lintlha.
  6. agent.deploy(...): Kenya Moemeli joalo ka tšebeletso ea tepo.
  7. moemedi.monitor(...): Lekola tshebetso ya Moemedi.
  8. ntlafatso..(...): Ntlafatsa Moemeli ka data e ncha.
  9. moemedi.hlakola(...): Hlakola mohlala wa Moemedi.
  10. agent.save(...): Boloka mohlala wa Moemedi faeleng.

Qetello

Sehloohong sena, re hlahlobile lefats'e la LangChain le ho kopanngoa ha eona le mekhoa ea marang-rang e thehiloeng ho Python joaloka FastAPI le Flask. Re boetse re buisane ka tšebeliso ea lisebelisoa tsa 'mino oa liletsa ho LangChain mme re fane ka mehlala ea mokhoa oa ho sebelisa Chart.js ho bona ka mahlo a kelello ts'ebetso ea tsamaiso ea rona ea RAG. Ka LangChain, bahlahisi ba ka haha ​​​​meaho ea RAG e tsitsitseng le e sebetsang e ka sebetsanang le mesebetsi e rarahaneng ea NLP.


Have Questions?

Let's Talk

Contact me on LinkedIn