Hoʻohui i ka RAG me nā LLM no ka Dynamic Software Architecture: He alakaʻi hoʻomaʻamaʻa
Hoʻolauna
I nā makahiki i hala iho nei, ua hoʻololi nui ʻia ke kahua o ka hoʻolālā polokalamu me ka hiki ʻana mai o nā ʻenehana Large Language Models (LLMs) a me Retrieval-Augmented Generation (RAG). Hiki i ka synergy ma waena o kēia mau ʻenehana ʻelua ke hoʻololi i ke ʻano o kā mākou hoʻolālā ʻana a hoʻomohala i nā ʻōnaehana polokalamu. Ma kēia ʻatikala, e ʻimi mākou i ka hoʻohui ʻana o RAG me LLM no ka hoʻolālā polokalamu hoʻoikaika, me nā hoʻolālā hoʻokō e hoʻohana ana i nā mea hana orchestration e like me LangChain a me DSPy.
He aha ka RAG?
ʻO RAG kahi ʻenehana e hoʻohui i nā ikaika o ka Retrieval-based a me Generation-based models e hana i nā hua kikokikona kiʻekiʻe. ʻO ka manaʻo kumu ma hope o RAG, ʻo ia ka hoʻohana ʻana i ke kumu hoʻohālike no ke koho ʻana i nā palapala a i ʻole nā paukū kūpono mai kahi kino nui, a laila hoʻohana i kahi hiʻohiʻona hanauna e hana i nā kikokikona e pili ana i kēia mau paukū i kiʻi ʻia. Ua hōʻike kēia ala i ka hoʻomaikaʻi nui ʻana i nā hana e like me ka pane nīnau, ka hōʻuluʻulu kikokikona, a me ke kamaʻilio AI.
He aha ka LLM?
ʻO nā LLM kekahi ʻano o nā kumu hoʻohālike hana akamai i hoʻomaʻamaʻa ʻia ma ka nui o nā ʻikepili kikokikona e hoʻopuka i nā huaʻōlelo e like me ke kanaka. Hoʻokumu pinepine ʻia kēia mau hiʻohiʻona ma luna o nā hale hoʻololi transformer a ua loaʻa i nā hopena kiʻekiʻe loa ma kahi ākea o nā hana hoʻoponopono ʻōlelo kūlohelohe. Hiki ke hoʻohana ʻia nā LLM no nā hana e like me ka unuhi ʻōlelo, ka hōʻuluʻulu kikokikona, a me ke kamaʻilio AI.
No ke aha e hoʻohui ai i ka RAG me nā LLM?
ʻO ka hoʻohui ʻana o RAG me LLM e hāʻawi i nā pono he nui no ka hoʻolālā polokalamu hoʻoikaika.
- Improved Accuracy: Hiki i ka RAG ke kōkua i nā LLM e koho i nā palapala kūpono a i ʻole nā paukū mai kahi hui nui, e alakaʻi ana i nā hua kikokikona pololei a ʻike.
- Hoʻonui i ka maikaʻi: Hiki i ka RAG ke hoʻemi i ka helu helu ma luna o nā LLM ma ke koho ʻana i nā palapala a i ʻole nā paukū kūpono loa, e alakaʻi ana i nā manawa pane wikiwiki.
- Hoʻonui ʻia: Hiki ke hoʻohana ʻia ka RAG no ka hoʻololi ʻana i nā makemake a me nā koi o ka mea hoʻohana, e ʻae ana i nā LLM e hoʻopuka i nā huaʻōlelo i ʻoi aku ka pili a me ka hoʻopili.
Hoʻolālā hoʻokō
Nui nā hoʻolālā hoʻokō no ka hoʻohui ʻana i ka RAG me nā LLM, me:
- LangChain: ʻO LangChain kahi hale waihona puke hāmama e hāʻawi ana i kahi API maʻalahi a intuitive no ke kūkulu ʻana i nā kumu hoʻohālike RAG. Kākoʻo ia i kahi ākea o nā LLM a hiki ke hoʻohana ʻia no ka hoʻokō ʻana i nā hale hoʻolālā RAG paʻakikī.
- DSPy: ʻO DSPy kahi waihona Python e hāʻawi i kahi ala maʻalahi a maikaʻi hoʻi e hoʻokō i nā hiʻohiʻona RAG. Kākoʻo ia i kahi ākea o nā LLM a hiki ke hoʻohana ʻia no ka hoʻokō ʻana i nā hale hoʻolālā RAG paʻakikī.
Ka Laʻana Code
Eia kahi laʻana code maʻalahi e hōʻike ana pehea e hoʻohana ai iā LangChain e hoʻohui i ka RAG me LLM:
lawe mai i ka lanchain
mai langchain.chains hoʻokomo iā RAGCain
mai ka langchain.llms lawe mai iā LLaMA
llama = LLaMA()
# Hana i kahi hiʻohiʻona RAGCain
rag_chain = RAGCain(llama, retrieval_model="t5-liʻiliʻi")
# E wehewehe i kahi wikiwiki
prompt = "He aha ke kapikala o Farani?"
# Hoʻopuka i nā huaʻōlelo
hoʻopuka = rag_chain.run(prompt)
paʻi (puka)
Hōʻike kēia hiʻohiʻona code pehea e hoʻohana ai i ka LangChain e hana i kahi hiʻohiʻona RAGChain e hoʻohui i kahi hiʻohiʻona LLaMA me kahi kumu hoʻihoʻi. Hoʻohana ʻia ke kumu hoʻohālike RAGCain e hoʻopuka i ka huaʻōlelo ma muli o kahi wikiwiki.
** 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/nā ʻāpana**
Eia nā 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha / snippets no ka hoʻohui ʻana i ka RAG me nā LLM:
langchain.RAGChain(llama, retrieval_model="t5-small"): Hana i kahi kŘkohu RAGCain e ho'ohui i kekahi kŘkohu LLaMA me ka kŘkohu ki'i.llama.run(prompt): Hoʻopuka i ka hoʻopuka kikokikona ma muli o ka wikiwiki me ka hoʻohana ʻana i ke kumu hoʻohālike LLaMA.rag_chain.run(prompt): Hoʻopuka i nā huaʻōlelo ma muli o ka wikiwiki me ka hoʻohana ʻana i ke kumu hoʻohālike RAGChain.langchain.chains.RAGCain(llama, retrieval_model="t5-small", max_length=1024): Hana i kahi kŘkohu RAGCain e hoʻohui i kahi kŘkohu LLaMA me ka kŘkohu kiʻi a hoʻonohonoho i ka lōʻihi loa o ka kikokikona puka.llama.get_input(prompt): Hoʻihoʻi i ka kikokikona hoʻokomo no ke kumu hoʻohālike LLaMA.rag_chain.get_output(prompt): Hoʻihoʻi i ka kikokikona puka no ke kumu hoʻohālike RAGChain.langchain.chains.RAGCain(llama, retrieval_model="t5-small", batch_size=32): Hana i kahi kŘkohu RAGCain e hoʻohui i kekahi kŘkohu LLaMA me kekahi kŘkohu kiʻi a hoʻonohonoho i ka nui o ka pūʻulu.llama.get_output(prompt): Hoʻihoʻi i ka kikokikona puka no ke kumu hoʻohālike LLaMA.rag_chain.get_input(prompt): Hoʻihoʻi i ka kikokikona hoʻokomo no ke kumu hoʻohālike RAGChain.langchain.chains.RAGCain(llama, retrieval_model="t5-small", device="cuda"): Hana i kahi kŘkohu RAGCain e ho'ohui i kekahi kŘkohu LLaMA me ka kŘkohu ki'i a ho'onoho i ka mea hana i CUDA.
Hōʻikeʻike
Eia kahi hiʻohiʻona maʻalahi o ka hoʻohālike RAGCain me ka hoʻohana ʻana iā Chart.js:
{
"type": "pā",
"ʻikepili": {
"labels": ["LLaMA", "RAGCain"],
"mau ʻikepili": [
{
"label": "Polopono",
"ʻikepili": [0.8, 0.9],
"ʻulaʻula": ["#FF6384", "#36A2EB"]
}
]
},
"koho": {
"poʻo inoa": {
"hōʻike": ʻoiaʻiʻo,
"text": "Ka pololei o ke kumu hoʻohālike RAGCain"
},
"nā unahi": {
"yAxes": [
{
"kuʻi": {
"beginAtZero": ʻoiaʻiʻo
}
}
]
}
}
}
Hōʻike kēia hiʻohiʻona i ka pololei o ke kumu hoʻohālike LLaMA a me ka hiʻohiʻona RAGChain.
Hoʻoholo
ʻO ka hoʻohui ʻana o RAG me nā LLM e hāʻawi i nā pono he nui no ka hoʻolālā polokalamu hoʻoikaika, me ka hoʻomaikaʻi ʻana i ka pololei, ka hoʻonui ʻana i ka pono, a me ka hoʻonui ʻana i ka maʻalahi. ʻO LangChain a me DSPy nā mea hana hoʻokani kaulana ʻelua i hiki ke hoʻohana ʻia e hoʻokō i nā hiʻohiʻona RAG. Ma ka hahai ʻana i nā hoʻolālā hoʻokō a me nā hiʻohiʻona code i hāʻawi ʻia i kēia ʻatikala, hiki i nā mea hoʻomohala ke hana i nā hale hoʻolālā RAG paʻakikī e hoʻohui i nā LLM me nā hiʻohiʻona kiʻi. ʻO ka 5-10 kiʻekiʻe loa i hoʻohana ʻia nā kauoha / snippets no ka hoʻohui ʻana i ka RAG me nā LLM i hāʻawi ʻia no ka ʻike.