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**
- 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.
- 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.
- 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.
- 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:
- 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.
- 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.
- 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:
from langchain import Agent: Flyttu inn Agent flokkinn frá LangChain.agent = Agent(...): Búðu til nýtt Agent dæmi.agent.generate(...): Notaðu umboðsmanninn til að búa til texta.agent.query(...): Notaðu umboðsmanninn til að spyrjast fyrir um þekkingargrunn.agent.train(...): Þjálfa umboðsmanninn á gagnasafni.agent.deploy(...): Settu umboðsmanninn upp sem vefþjónustu.agent.monitor(...): Fylgstu með frammistöðu umboðsmannsins.agent.update(...): Uppfærðu umboðsmanninn með nýjum gögnum.agent.delete(...): Eyða tilviki Agent.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.