Te whakauru i te LangChain mo nga Hangahanga RAG Ake i roto i nga tono Python | B4N1

Te whakauru i te LangChain mo nga Hangahanga RAG Ake i roto i nga tono Python

8 months ago · b4n1 Read time: 5 min

Ko te whakauru i te LangChain mo nga Hangahanga RAG Ake i roto i nga tono Python

**Tirohanga **

I nga tau tata nei, kua kite te mara o te Tukatuka Reo Maori (NLP) i nga ahunga whakamua nui, ina koa i roto i te ao o nga punaha Retrieval-Augmented Generation (RAG). Ko enei punaha kua whakarereke i te huarahi e whakatata atu ai tatou ki nga mahi penei i te whakautu patai, te whakarapopoto tuhinga, me te korero korero AI. Ko LangChain, he whare pukapuka Python tapahi, kua puta hei taputapu kaha mo te hanga i nga hoahoanga RAG. I roto i tenei tuhinga, ka rukuhia e matou te ao o LangChain me te torotoro i tana whakaurunga ki nga angamahi tukutuku a Python penei i te FastAPI me te Flask, me te whakamahi i nga taputapu orchestration mo te whakapai ake i te tiki raraunga me te tukatuka.

He aha te LangChain?

Ko LangChain he puna tuwhera puna Python i hangaia hei whakangwari i te whanaketanga o nga punaha RAG. Ka whakaratohia e ia he huinga matawhānui o nga taputapu me nga API mo te hanga, whakangungu, me te whakamahi i nga tauira AI, me te whakauru ano ki nga momo puna raraunga me nga angamahi tukutuku. Ko te arotahi tuatahi a LangChain ko te whakaahei i nga kaiwhakawhanake ki te hanga i nga hoahoanga RAG tauineine me te whai hua ka taea te whakahaere i nga mahi NLP uaua.

Ahuatanga matua o LangChain

  1. Modular Architecture: Ko te hoahoa a LangChain ka taea e nga kaiwhakawhanake te whakauru ngawari ki nga tauira AI rereke, nga puna raraunga, me nga angamahi tukutuku, ka waiho hei whiringa pai mo te hanga i nga punaha RAG matatini.
  2. Utauta Whakaraupapa: Ka whakarato a LangChain i te whānuitanga o nga taputapu orchestration e taea ai e nga kaiwhakawhanake te whakahaere me te tukatuka i nga huingararaunga nui, me te whakauru ki nga momo puna raraunga me nga API.
  3. Tautoko mo nga Tauira AI Maha: Ka tautoko a LangChain i te whānuitanga o nga tauira AI, tae atu ki nga tauira-whakawhitiwhiti, ka taea e nga kaiwhakawhanake te whiriwhiri i te tauira tino pai mo o raatau keehi whakamahi motuhake.
  4. Ko te Whakakotahitanga me nga Anga Tukutuku: Ka whakarato a LangChain i te whakakotahitanga ngawari me nga angamahi tukutuku rongonui a Python penei i a FastAPI me te Flask, kia ngawari ai te whakatakoto i nga punaha RAG hei tono paetukutuku.

Ko te whakakotahi i te LangChain me FastAPI me te Flask

Hei whakauru i te LangChain me FastAPI me te Flask, me whai i enei mahi:

Hipanga 1: Tāuta LangChain

Tuatahi, me whakauru tatou i te LangChain ma te whakamahi i te pip:

pip tāuta langchain

Hipanga 2: Waihangahia he Kaihoko LangChain

I muri mai, me hanga e matou he kaihoko LangChain hei kaupapa matua o to maatau punaha RAG. Anei tetahi tauira mo te hanga i tetahi kaihoko taketake:

mai i te langchain kawemai Agent


māngai = Agent(
    name="my_agent",
    model_name="taku_tauira",
    model_type="transformer",
    morahi_roa=1024,
    min_roa=128,
)

Hipanga 3: Whakauru ki te FastAPI, Flask ranei

I te wa i hangaia e matou to maatau kaihoko LangChain, ka taea e matou te whakauru ki a FastAPI, Flask ranei. Anei tetahi tauira me pehea te whakauru ki a FastAPI:

mai fastapi kawemai FastAPI
mai i te langchain kawemai Agent

taupānga = FastAPI()

# Waihangahia he kaihoko taketake
māngai = Agent(
    name="my_agent",
    model_name="taku_tauira",
    model_type="transformer",
    morahi_roa=1024,
    min_roa=128,
)

@app.get("/whakaputa")
async def generate_text(tohutohu: str):
    # Whakamahia te kaihoko ki te whakaputa tuhinga
    putanga = agent.generate(prompt)
    whakahokia {"putanga": putanga}

Waihoki, ka taea e tatou te whakauru i te LangChain me te Flask:

mai i te ipu kawemai Flask, tono
mai i te langchain kawemai Agent

taupānga = Flask(__ingoa__)

# Waihangahia he kaihoko taketake
māngai = Agent(
    name="my_agent",
    model_name="taku_tauira",
    model_type="transformer",
    morahi_roa=1024,
    min_roa=128,
)

@app.route("/generate", tikanga=["GET"])
def whakaputa_kuputuhi():
    # Whakamahia te kaihoko ki te whakaputa tuhinga
    wawe = request.args.get("prompt")
    putanga = agent.generate(prompt)
    whakahokia {"putanga": putanga}

Utauta Whakaraupapa i LangChain

Ka whakarato a LangChain i te whānuitanga o nga taputapu orchestration e taea ai e nga kaihanga te whakahaere me te tukatuka i nga huingararaunga nui, me te whakauru ki nga momo puna raraunga me nga API. Ko etahi o nga taputapu orchestration matua i LangChain ko:

  1. Raraunga Raraunga: Ka whakarato a LangChain i te whānuitanga o nga puna raraunga e taea ai e nga kaiwhakawhanake te whakauru ki nga momo puna raraunga me nga API, penei i nga papanga raraunga, nga punaha konae, me nga API tukutuku.
  2. Kaiwhakatukatuka Raraunga: Ka whakarato a LangChain i te whānuitanga o nga kaitukatuka raraunga e taea ai e nga kaiwhakawhanake te tukatuka i nga huingararaunga nui, tae atu ki te horoi raraunga, te hurihanga raraunga, me te whakahiato raraunga.
  3. Kaiwhakaahua Tauira: Ka whakarato a LangChain i te whānuitanga o nga kaitoi tauira e taea ai e nga kaiwhakawhanake te whakahaere me te tuku tauira AI, tae atu ki te whakangungu tauira, te whakatakoto tauira, me te aroturuki tauira.

Whakakitenga me Chart.js

Hei tiro i te mahinga o to tatou punaha RAG, ka taea e tatou te whakamahi i te Chart.js, he whare pukapuka JavaScript rongonui mo te hanga tūtohi tauwhitiwhiti. Anei tetahi tauira mo te whakamahi i te Chart.js ki te tiro i te mahinga o to tatou punaha RAG:

const ctx = document.getElementById("myChart").getContext("2d");
tūtohi const = Tūtohi hou(ctx, {
  momo: "raina",
  raraunga: {
    tapanga: ["Jan", "Feb", "Maehe", "Aperira", "Mei"],
    huingararaunga: [
      {
        tapanga: "Te tika",
        raraunga: [0.8, 0.9, 0.85, 0.88, 0.92],
        Tae papamuri: "rgba(255, 99, 132, 0.2)",
        Tae taitapa: "rgba(255, 99, 132, 1)",
        te whanui taitapa: 1,
      },
    ],
  },
  kōwhiringa: {
    pauna: {
      y: {
        beginAtZero: pono,
      },
    },
  },
});

Tiki 5-10 Nga Tono Whakamahinga/Momohipi

Anei nga 5-10 o runga o nga whakahau/snippets e tino whakamahia ana i LangChain:

  1. mai i te langchain kawemai Agent: Kawemai i te akomanga Agent mai i LangChain.
  2. Agent = Agent(...): Waihangahia he tauira Agent hou.
  3. agent.generate(...): Whakamahia te Kaihoko hei whakaputa kupu.
  4. agent.query(...): Whakamahia te Agent ki te uiui i tetahi turanga matauranga.
  5. agent.train(...): Whakangunguhia te Kaihoko ki runga huingararaunga.
  6. agent.deploy(...): Tukuna te Kaihoko hei ratonga tukutuku.
  7. agent.monitor(...): Aroturuki i te mahi a te Kaihoko.
  8. agent.update(...): Whakahoutia te Kaihoko me nga raraunga hou.
  9. agent.delete(...): Mukua te tauira Agent.
  10. agent.save(...): Tiakina te tauira Agent ki te konae.

Whakamutunga

I roto i tenei tuhinga, kua tirotirohia e matou te ao o LangChain me tana whakauru ki nga angamahi tukutuku a Python penei i te FastAPI me te Flask. Kua korero ano matou mo te whakamahinga o nga taputapu whakahiato i roto i te LangChain me te whakarato tauira mo te whakamahi i te Chart.js ki te tiro i nga mahi o to maatau punaha RAG. Ma te LangChain, ka taea e nga kaiwhakawhanake te hanga i nga hoahoanga RAG tauine me te pai ka taea te whakahaere i nga mahi NLP uaua.


Have Questions?

Let's Talk

Contact me on LinkedIn