Ag Comhtháthú RAG (Giniúint Mhéadaithe Aisghabhála) le Creataí Gréasáin Nua-Aimseartha: Treoir Phraiticiúil | B4N1

Ag Comhtháthú RAG (Giniúint Mhéadaithe Aisghabhála) le Creataí Gréasáin Nua-Aimseartha: Treoir Phraiticiúil

9 months ago · b4n1 Read time: 5 min

RAG (Giniúint Mhéadaithe Aisghabhála) a Chomhtháthú le Creataí Gréasáin Nua-Aimseartha: Treoir Phraiticiúil

Réamhrá

Le blianta beaga anuas, tá borradh suntasach tagtha ar fhorbairt Mhúnlaí Teangacha Móra (LLManna) agus ar a bhfeidhmiúcháin i réimsí éagsúla i réimse na Próiseála Teanga Nádúrtha (NLP). Mar sin féin, ceann de na teorainneacha is mó atá ag LLManna ná a n-éagumas eolas seachtrach a fháil agus a chuimsiú ina gcuid freagraí. Seo mar a thagann teicnící Giniúint Mhéadaithe Aisghabhála (RAG) i bhfeidhm. San Airteagal seo, déanfaimid iniúchadh ar chur i bhfeidhm teicnící RAG ag baint úsáide as FastAPI agus Django chun cumais LLM a fheabhsú in iarratais gréasáin, lena n-áirítear orchestration le LangChain le haghaidh aisghabháil agus próiseáil sonraí gan uaim.

Cad é RAG?

Teicníc is ea RAG a chomhcheanglaíonn láidreachtaí na múnlaí Aisghabhála agus Giniúint chun freagraí níos cruinne agus níos faisnéiseach a thabhairt. Is é an bunsmaoineamh atá taobh thiar de RAG ná faisnéis ábhartha a aisghabháil ar dtús ó bhunachar eolais nó ó bhunachar sonraí, agus ansin an fhaisnéis seo a úsáid chun freagra a ghiniúint. Ligeann an cur chuige seo do LLManna eolas seachtrach a ghiaráil agus freagraí níos cruinne agus níos faisnéiseach a sholáthar.

Cén Fáth a Úsáid RAG le FastAPI agus Django?

Tá FastAPI agus Django ar dhá cheann de na creataí gréasáin is coitianta a úsáidtear chun feidhmchláir ghréasáin a thógáil. Soláthraíonn siad bonneagar láidir agus inscálaithe chun feidhmchláir ghréasáin a thógáil, agus is féidir iad a chomhtháthú go héasca le teicnící RAG chun cumais LLM a fheabhsú. Is creat gréasáin nua-aimseartha é FastAPI a sholáthraíonn bealach tapa agus éifeachtach chun feidhmchláir ghréasáin a thógáil, agus is creat gréasáin ardleibhéil é Django a sholáthraíonn ailtireacht, teimpléid agus APIanna chun feidhmchláir ghréasáin láidre a thógáil.

RAG á chur i bhfeidhm le FastAPI

Soláthraíonn FastAPI bealach simplí agus éifeachtach chun teicnící RAG a chur i bhfeidhm. Seo bloc cód mar shampla a thaispeánann conas FastAPI a úsáid chun RAG a chur i bhfeidhm:

ó fastapi allmhairiú FastAPI
ó allmhairiú langchain LLMChain
ó langchain.chains.openai allmhairiú OpenAIApi

aip = FastAPI()

@app.get ("/ rag")
async def rag(ceist: str):
    
    llm_chain = LLMChain(
        llm=OscailAIApi(),
        retrieval=LangChainRetrieval(
            index=LangChainIndex(
                ainm = "my_innéacs",
                doiciméid=["doc1", "doc2", "doc3"]
            )
        )
    )

    # Gin freagra ag baint úsáide as an slabhra LLM
    freagra = llm_chain.run( cheist)

    ais { "response": freagra}

Sa sampla seo, sainímid slabhra LLM ag baint úsáide as an rang LLMChain ó LangChain. Sainmhínímid comhpháirt aisghabhála ansin ag baint úsáide as an rang LangChainRetrieval, a úsáidtear chun faisnéis ábhartha a fháil ó bhunachar eolais nó ó bhunachar sonraí. Ar deireadh, úsáidimid an modh rith chun freagra a ghiniúint ag baint úsáide as an slabhra LLM.

RAG á chur i bhfeidhm le Django

Soláthraíonn Django creat gréasáin ardleibhéil ar féidir a chomhtháthú go héasca le teicnící RAG. Seo sampla de bhloc cóid a thaispeánann conas Django a úsáid chun RAG a chur i bhfeidhm:

ó django.http allmhairiú JsonResponse
ó allmhairiú langchain LLMChain
ó langchain.chains.openai allmhairiú OpenAIApi

def rag (iarratas):
    # Sainmhínigh an slabhra LLM
    llm_chain = LLMChain(
        llm=OscailAIApi(),
        retrieval=LangChainRetrieval(
            index=LangChainIndex(
                ainm = "my_innéacs",
                doiciméid=["doc1", "doc2", "doc3"]
            )
        )
    )

    # Gin freagra ag baint úsáide as an slabhra LLM
    freagra = llm_chain.run(request.GET.get("iarratas"))

    seol ar ais JsonResponse({"freagra": freagra})

Sa sampla seo, sainmhínímid feidhm amhairc rag a ghlacann ceist mar ionchur agus a ghineann freagra ag baint úsáide as an slabhra LLM.

RAG á cheolfhoireann le LangChain

Soláthraíonn LangChain bealach simplí agus éifeachtach chun teicnící RAG a stiúradh. Seo bloc cód mar shampla a thaispeánann conas LangChain a úsáid chun RAG a stiúradh:

ó allmhairiú langchain LLMChain
ó langchain.chains.openai allmhairiú OpenAIApi

# Sainmhínigh an slabhra LLM
llm_chain = LLMChain(
    llm=OscailAIApi(),
    retrieval=LangChainRetrieval(
        index=LangChainIndex(
            ainm = "my_innéacs",
            doiciméid=["doc1", "doc2", "doc3"]
        )
    )
)

# Gin freagra ag baint úsáide as an slabhra LLM
freagra = llm_chain.run("Cad é RAG?")

cló (freagra)

Sa sampla seo, sainímid slabhra LLM ag baint úsáide as an rang LLMChain ó LangChain. Bainimid úsáid ansin as an modh rith chun freagra a ghiniúint ag baint úsáide as an slabhra LLM.

Na 5-10 nOrd/Blúire is Mó Úsáidte

Seo iad na 5-10 n-orduithe/blúine is mó a úsáidtear chun RAG a chur i bhfeidhm le FastAPI agus Django:

  1. ó langchain import LLMChain: Iompórtáil an rang LLMChain ó LangChain.
  2. llm_chain = LLMChain(llm=OpenAIApi(), retrieval=LangChainRetrieval(index=LangChainIndex(name="my_index", documents=["doc1", "doc2", "doc3"]))): Sainmhínigh slabhra LLM ag baint úsáide as an rang LLMChain.
  3. response = llm_chain.run(query): Gin freagra ag baint úsáide as an slabhra LLM.
  4. ó fastapi import FastAPI: Iompórtáil an rang FastAPI ó FastAPI.
  5. app = FastAPI(): Sainmhínigh feidhmchlár FastAPI.
  6. @app.get ("/rag"): Sainmhínigh bealach don chríochphointe RAG.
  7. llm_chain = LLMChain(llm=OpenAIApi(), retrieval=LangChainRetrieval(index=LangChainIndex(name="my_index", documents=["doc1", "doc2", "doc3"]))): Sainmhínigh slabhra LLM ag baint úsáide as an rang LLMChain.
  8. response = llm_chain.run(query): Gin freagra ag baint úsáide as an slabhra LLM.
  9. ó django.http allmhairiú JsonResponse: Iompórtáil an rang JsonResponse ó Django.
  10. tuairisceán JsonResponse({"response": response}): Seol freagra JSON ar ais leis an bhfreagra ginte.

Amharcléiriú

Seo léirshamhlú den phíblíne RAG ag baint úsáide as Chart.js:

{
  "cineál": "Bara cothrománach",
  "sonraí": {
    "labels": [ "Aisghabháil", "Giniúint", "Iarphróiseáil"],
    "tacair sonraí": [
      {
        "label": "Píblíne RAG",
        "sonraí": [10, 20, 30],
        "backgroundColor": [
          "rgb(255, 99, 132, 0.2)",
          "rgb(54, 162, 235, 0.2)",
          "rgb(255, 206, 86, 0.2)"
        ],
        "Color Dath teorann": [
          "rgb(255, 99, 132, 1)",
          "rgb(54, 162, 235, 1)",
          "rgb(255, 206, 86, 1)"
        ],
        "leithead teorann": 1
      }
    ]
  },
  "roghanna": {
    "teideal": {
      "taispeáint": fíor,
      "text": "RAG Pipeline"
    },
    "scálaí": {
      "yAiseanna": [
        {
          "ticeanna": {
            "beginAtZero": fíor
          }
        }
      ]
    }
  }
}

Léiríonn an léirshamhlú seo an píblíne RAG le trí chéim: aisghabháil, giniúint, agus iar-phróiseáil.

Conclúid

San Airteagal seo, rinneamar iniúchadh ar theicnící RAG a chur i bhfeidhm ag baint úsáide as FastAPI agus Django chun cumais LLM a fheabhsú in iarratais gréasáin, lena n-áirítear ceolfhoireann le LangChain le haghaidh aisghabháil agus próiseáil sonraí gan uaim. Chuireamar treoir phraiticiúil ar fáil freisin maidir le RAG a chur i bhfeidhm le FastAPI agus Django, lena n-áirítear samplaí cóid agus léirshamhlú ar an bpíblíne RAG. Tá súil againn gur chuir an t-alt seo acmhainn úsáideach ar fáil d'fhorbróirí atá ag iarraidh teicnící RAG a chur i bhfeidhm ina bhfeidhmchláir ghréasáin.


Have Questions?

Let's Talk

Contact me on LinkedIn