Hoʻohui ʻana i ka LangChain no nā kiʻi kiʻi kiʻekiʻe RAG i nā noi Python | B4N1

Hoʻohui ʻana i ka LangChain no nā kiʻi kiʻi kiʻekiʻe RAG i nā noi Python

8 months ago · b4n1 Read time: 6 min

Hoʻohui i ka LangChain no nā kiʻi kiʻekiʻe RAG Architecture ma nā noi Python

Nānā

I nā makahiki i hala iho nei, ua ʻike ke kahua o ka Natural Language Processing (NLP) i nā holomua koʻikoʻi, ʻoi loa ma ke aupuni o nā ʻōnaehana Retrieval-Augmented Generation (RAG). Ua hoʻololi kēia mau ʻōnaehana i ke ala a mākou e hoʻokokoke ai i nā hana e like me ka pane nīnau, ka hōʻuluʻulu kikokikona, a me ke kamaʻilio AI. Ua puka mai ʻo LangChain, kahi hale waihona puke Python ʻokiʻoki, ma ke ʻano he mea hana ikaika no ke kūkulu ʻana i nā hale kiʻi RAG. Ma kēia ʻatikala, e ʻimi mākou i ka honua o LangChain a e ʻimi i kona hoʻohui ʻana me nā pūnaewele pūnaewele Python e like me FastAPI a me Flask, ʻoiai e hoʻohana ana i nā mea hana orchestration no ka hoʻonui ʻana i ka ʻikepili a me ka hana.

He aha ka LangChain?

ʻO LangChain kahi waihona Python open-source i hoʻolālā ʻia e maʻalahi i ka hoʻomohala ʻana o nā ʻōnaehana RAG. Hāʻawi ia i kahi pūʻulu piha o nā mea hana a me nā API no ke kūkulu ʻana, hoʻomaʻamaʻa, a me ka lawe ʻana i nā hiʻohiʻona AI, a me ka hoʻohui ʻana iā lākou me nā kumu ʻikepili like ʻole a me nā ʻōnaehana pūnaewele. ʻO ka manaʻo nui o LangChain ma ka ʻae ʻana i nā mea hoʻomohala e hana i nā kiʻi hoʻolālā RAG hiki ke hoʻopaʻa i nā hana NLP paʻakikī.

Nā hiʻohiʻona nui o LangChain

  1. Modular Architecture: ʻO ka hoʻolālā modular o LangChain e hiki ai i nā mea hoʻomohala ke hoʻohui maʻalahi i nā ʻano AI like ʻole, nā kumu ʻikepili, a me nā ʻōnaehana pūnaewele, e lilo ia i koho kūpono no ke kūkulu ʻana i nā ʻōnaehana RAG paʻakikī.
  2. Orchestration Tools: Hāʻawi ʻo LangChain i kahi ʻano o nā mea hana orchestration e hiki ai i nā mea hoʻomohala ke hoʻokele a hana i nā ʻikepili nui, a me ka hoʻohui pū ʻana me nā kumu ʻikepili like ʻole a me nā API.
  3. Kōkoʻo no nā ʻĀpana AI Nui: Kākoʻo ʻo LangChain i kahi ākea ākea o nā hiʻohiʻona AI, me nā hiʻohiʻona-transformer, e ʻae ana i nā mea hoʻomohala e koho i ke kumu hoʻohālike maikaʻi loa no kā lākou hihia hoʻohana kikoʻī.
  4. Hoʻohui me Web Frameworks: Hāʻawi ʻo LangChain i ka hoʻohui pono ʻana me nā ʻōnaehana pūnaewele Python kaulana e like me FastAPI a me Flask, e maʻalahi ai ka hoʻopili ʻana i nā ʻōnaehana RAG e like me nā noi pūnaewele.

Hoʻohui i ka LangChain me FastAPI a me ka Flask

No ka hoʻohui ʻana iā LangChain me FastAPI a me Flask, pono mākou e hahai i kēia mau ʻanuʻu:

KaʻAnuʻu 1: E hoʻokomo iā LangChain

ʻO ka mea mua, pono mākou e hoʻokomo iā LangChain me ka hoʻohana ʻana i ka pip:

pip hoʻokomo i ka langchain

KaʻAnuʻu 2: E hana i kahi Agent LangChain

Ma hope aʻe, pono mākou e hana i kahi luna LangChain e lilo i kumu o kā mākou ʻōnaehana RAG. Eia kekahi laʻana o ka hana ʻana i kahi ʻelele kumu:

mai langchain import Agent


luna = Agent(
    inoa = "my_agent",
    model_name="my_model",
    model_type="transformer",
    lōʻihi_nui=1024,
    min_lōʻihi=128,
)

KaʻAnuʻu 3: Hoʻohui me FastAPI a i ʻole Flask

I ka manawa a mākou i hana ai i kā mākou LangChain agent, hiki iā mākou ke hoʻohui me FastAPI a i ʻole Flask. Eia kahi laʻana o ka hoʻohui ʻana me FastAPI:

mai fastapi hoʻokomo iā FastAPI
mai langchain import Agent

app = FastAPI()

# E hana i kahi mea hana kumu
luna = Agent(
    inoa = "my_agent",
    model_name="my_model",
    model_type="transformer",
    lōʻihi_nui=1024,
    min_lōʻihi=128,
)

@app.get("/generate")
async def generate_text(wikiwiki: str):
    # E hoʻohana i ka ʻelele e hana i ka kikokikona
    hoʻopuka = agent.generate(prompt)
    hoʻihoʻi {"output": hoʻopuka}

Pēlā nō, hiki iā mākou ke hoʻohui iā LangChain me Flask:

from flask import Flask, noi
mai langchain import Agent

app = Flask(__name__)

# E hana i kahi mea hana kumu
luna = Agent(
    inoa = "my_agent",
    model_name="my_model",
    model_type="transformer",
    lōʻihi_nui=1024,
    min_lōʻihi=128,
)

@app.route("/generate", method=["GET"])
def generate_text():
    # E hoʻohana i ka ʻelele e hana i ka kikokikona
    wikiwiki = request.args.get("prompt")
    hoʻopuka = agent.generate(prompt)
    hoʻihoʻi {"output": hoʻopuka}

Nā Mea Hana Hoʻolālā ma LangChain

Hāʻawi ʻo LangChain i kahi ʻano o nā mea hana orchestration e hiki ai i nā mea hoʻomohala ke hoʻokele a hana i nā ʻikepili nui, a me ka hoʻohui pū ʻana me nā kumu ʻikepili like ʻole a me nā API. ʻO kekahi o nā mea hana orchestration koʻikoʻi ma LangChain penei:

  1. **Nā Waiwai **: Hāʻawi ʻo LangChain i kahi ākea o nā kumu ʻikepili e hiki ai i nā mea hoʻomohala ke hoʻohui pū me nā kumu ʻikepili like ʻole a me nā API, e like me nā waihona, nā ʻōnaehana faila, a me nā API pūnaewele.
  2. **Nā Kaʻina Hana **: Hāʻawi ʻo LangChain i kahi ʻano o nā mea hana ʻikepili e hiki ai i nā mea hoʻomohala ke hana i nā ʻikepili nui, me ka hoʻomaʻemaʻe ʻikepili, hoʻololi ʻikepili, a me ka hōʻuluʻulu ʻikepili.
  3. Model Orchestrators: Hāʻawi ʻo LangChain i kahi ʻano o nā mea hoʻokani hoʻohālike e hiki ai i nā mea hoʻomohala ke hoʻokele a hoʻokau i nā kumu hoʻohālike AI, me ka hoʻomaʻamaʻa ʻana i nā hiʻohiʻona, ka hoʻonohonoho ʻana i nā hiʻohiʻona, a me ka nānā ʻana i nā hiʻohiʻona.

Hōʻikeʻike me Chart.js

No ka ʻike ʻana i ka hana o kā mākou ʻōnaehana RAG, hiki iā mākou ke hoʻohana iā Chart.js, kahi waihona JavaScript kaulana no ka hana ʻana i nā pakuhi pili. Eia kekahi laʻana o ka hoʻohana ʻana iā Chart.js e ʻike i ka hana o kā mākou ʻōnaehana RAG:

const ctx = document.getElementById("myChart").getContext("2d");
palapala kuhi = Palapala hou(ctx, {
  ʻano: "laina",
  ʻikepili: {
    nā lepili: ["Ian", "Feb", "Mar", "Aper", "Mei"],
    nā papa helu: [
      {
        lepili: "Polopono",
        ʻikepili: [0.8, 0.9, 0.85, 0.88, 0.92],
        ka waihoʻoluʻu: "rgba(255, 99, 132, 0.2)",
        borderColor: "rgba(255, 99, 132, 1)",
        palena palena: 1,
      },
    ],
  },
  nā koho: {
    unahi: {
      y: {
        beginAtZero: ʻoiaʻiʻo,
      },
    },
  },
});

** 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/nā ʻāpana**

Eia ka 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/snippets ma LangChain:

  1. mai Langchain import Agent: E lawe mai i ka papa Agent mai LangChain.
  2. ʻAgent = Agent(...)`: E hana i kahi laʻana Agena hou.
  3. agent.generate(...): E hoʻohana i ka Agena no ka hana ʻana i kikokikona.
  4. agent.query(...): E hoʻohana i ka ʻAgent e nīnau i kahi waihona ʻike.
  5. agent.train(...): E hoʻomaʻamaʻa i ka ʻAgent ma kahi waihona.
  6. 'agent.deploy(...)`: E hoʻolālā i ka Agena ma ke ʻano he lawelawe pūnaewele.
  7. 'agent.monitor(...)`: Nānā i ka hana a ka Agena.
  8. 'agent.update(...)`: Hoʻohou i ka ʻAgent me ka ʻikepili hou.
  9. agent.delete(...): Holoi i ka manawa Agent.
  10. agent.save(...): E mālama i ka laʻana Agent i kahi faila.

Hoʻoholo

Ma kēiaʻatikala, uaʻimi mākou i ka honua o LangChain a me kona hoʻohuiʻana me nā pūnaewele pūnaewele Python e like me FastAPI a me Flask. Ua kūkākūkā pū mākou i ka hoʻohana ʻana i nā mea hana orchestration ma LangChain a hāʻawi i nā hiʻohiʻona o ka hoʻohana ʻana iā Chart.js e nānā i ka hana o kā mākou ʻōnaehana RAG. Me LangChain, hiki i nā mea hoʻomohala ke kūkulu i nā hale hoʻolālā RAG hiki ke hoʻopaʻa i nā hana NLP paʻakikī.


Have Questions?

Let's Talk

Contact me on LinkedIn