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:
ó langchain import LLMChain: Iompórtáil an rangLLMChainó LangChain.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 rangLLMChain.response = llm_chain.run(query): Gin freagra ag baint úsáide as an slabhra LLM.ó fastapi import FastAPI: Iompórtáil an rangFastAPIó FastAPI.app = FastAPI(): Sainmhínigh feidhmchlár FastAPI.@app.get ("/rag"): Sainmhínigh bealach don chríochphointe RAG.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 rangLLMChain.response = llm_chain.run(query): Gin freagra ag baint úsáide as an slabhra LLM.ó django.http allmhairiú JsonResponse: Iompórtáil an rangJsonResponseó Django.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.