Fampidirana ny RAG amin'ny LLM ho an'ny Architecture Software Dynamic: Torolalana azo ampiharina
Fampidirana
Tao anatin'ny taona vitsivitsy izay, ny sehatry ny maritrano rindrambaiko dia nandalo fiovana lehibe tamin'ny fahatongavan'ny Large Language Models (LLMs) sy ny teknika Retrieval-Augmented Generation (RAG). Ny fiaraha-miasa eo amin'ireo teknolojia roa ireo dia mety hanova ny fomba famolavolana sy famolavolana rafitra rindrambaiko. Ato amin'ity lahatsoratra ity dia hijery ny fampidirana RAG miaraka amin'ny LLM ho an'ny maritrano rindrambaiko mavitrika isika, ao anatin'izany ny paikady fampiharana amin'ny fampiasana fitaovana orkestra toa an'i LangChain sy DSPy.
Inona no atao hoe RAG?
RAG dia teknika manambatra ny tanjaky ny Retrieval-based sy Generation-based models mba hamokarana lahatsoratra avo lenta. Ny hevitra fototra ao ambadiky ny RAG dia ny fampiasana maodely fakana sary mba hifidianana antontan-taratasy na andalan-tsoratra mifandraika amin'ny corpus lehibe, ary avy eo dia mampiasa maodely taranaka hamorona lahatsoratra mifototra amin'ireo andinin-tsoratra masina ireo. Ity fomba fiasa ity dia nampiseho fanatsarana lehibe amin'ny asa toy ny famaliana fanontaniana, famintinana lahatsoratra ary AI fifampiresahana.
Inona no atao hoe LLM?
LLM dia karazana maodely faharanitan-tsaina artifisialy izay voaofana amin'ny angona lahatsoratra be dia be mba hamoronana vokatra fiteny mitovy amin'ny olombelona. Ireo modely ireo dia matetika mifototra amin'ny rafitra transformer ary nahazo vokatra manara-penitra amin'ny asa fanodinana fiteny voajanahary isan-karazany. Ny LLM dia tena maro be ary azo ampiasaina amin'ny asa toy ny fandikana amin'ny fiteny, famintinana lahatsoratra ary AI mifampiresaka.
Nahoana no ampidirana ny RAG amin'ny LLMs?
Ny fampidirana RAG miaraka amin'ny LLM dia manome tombony maro ho an'ny maritrano rindrambaiko mavitrika:
- Hamarino tsara: Ny RAG dia afaka manampy ny LLM hisafidy antontan-taratasy na andalan-tsoratra mifandraika amin'ny corpus lehibe iray, mitarika ho amin'ny famoahana lahatsoratra marina kokoa sy ahalalana kokoa.
- Mitombo ny fahaiza-manao: Ny RAG dia afaka mampihena ny tombotsoan'ny kajy an'ny LLM amin'ny alàlan'ny fisafidianana ireo antontan-taratasy na andalana manan-danja indrindra, izay mitarika ho amin'ny fotoana famaliana haingana kokoa.
- Fahavitrihana nohatsaraina: Ny RAG dia azo ampiasaina mba hampifanarahana amin'ny fanovana ny safidin'ny mpampiasa sy ny fepetra takian'ny mpampiasa, ahafahan'ny LLMs hamokatra lahatsoratra mifandraika kokoa sy mahasarika kokoa.
Paikady fampiharana
Misy paikady fampiharana maromaro amin'ny fampidirana ny RAG amin'ny LLM, ao anatin'izany:
- LangChain: LangChain dia tranomboky misokatra malalaka izay manome API tsotra sy intuitive amin'ny fananganana modely mifototra amin'ny RAG. Izy io dia manohana LLM marobe ary azo ampiasaina amin'ny fametrahana rafitra RAG sarotra.
- DSPy: DSPy dia tranomboky Python izay manome fomba tsotra sy mahomby amin'ny fampiharana ny maodely mifototra amin'ny RAG. Izy io dia manohana LLM marobe ary azo ampiasaina amin'ny fametrahana rafitra RAG sarotra.
Ohatra Code
Ity misy ohatra kaody tsotra mampiseho ny fomba fampiasana LangChain hampidirana ny RAG amin'ny LLM:
import langchain
avy amin'ny langchain.chains manafatra RAGCain
avy amin'ny langchain.llms manafatra LLaMA
llama = LLaMA()
# Mamorona modely RAGCain
rag_chain = RAGCain(llama, retrieval_model="t5-small")
# Farito ny bitsika
prompt = "Inona no renivohitr'i Frantsa?"
# Mamorona vokatra lahatsoratra
Output = rag_chain.run(prompt)
fanontana (vokatra)
Ity ohatra kaody ity dia mampiseho ny fomba fampiasana LangChain hamoronana maodely RAGCain izay mampiditra modely LLaMA miaraka amin'ny modely retrieval. Ny maodely RAGCain dia ampiasaina hamokarana lahatsoratra mifototra amin'ny bitsika.
Didy/Snippet 5-10 ambony indrindra
Ireto ny baiko / snippet 5-10 ambony indrindra amin'ny fampidirana ny RAG amin'ny LLM:
langchain.RAGCain(llama, retrieval_model="t5-small"): Mamorona maodely RAGCain izay mampifandray ny maodely LLaMA amin'ny maodely alaina.llama.run(prompt): Mamoaka lahatsoratra mifototra amin'ny bitsika mampiasa ny maodely LLaMA.rag_chain.run(prompt): Mamokatra lahatsoratra mifototra amin'ny bitsika mampiasa ny maodely RAGCain.langchain.chains.RAGCain(llama, retrieval_model="t5-small", max_length=1024): Mamorona maodely RAGCain izay mampifandray ny maodely LLaMA amin'ny maodely alaina ary mametraka ny halavan'ny lahatsoratra mivoaka.llama.get_input(prompt): Mamerina ny lahatsoratra fampidirana ho an'ny maodely LLaMA.rag_chain.get_output(prompt): Mamerina ny lahatsoratra mivoaka ho an'ny maodely RAGChain.langchain.chains.RAGCain(llama, retrieval_model="t5-small", batch_size=32): Mamorona maodely RAGCain izay mampiditra modely LLaMA amin'ny maodely alaina ary mametraka ny haben'ny andiany.llama.get_output(prompt): Mamerina ny lahatsoratra mivoaka ho an'ny maodely LLaMA.rag_chain.get_input(prompt): Mamerina ny lahatsoratra fampidirana ho an'ny maodely RAGCain.langchain.chains.RAGCain(llama, retrieval_model="t5-small", device="cuda"): Mamorona maodely RAGCain izay mampifandray ny maodely LLaMA amin'ny maodely alaina ary mametraka ilay fitaovana ho CUDA.
Visualization
Ity misy sary tsotra momba ny maodely RAGCain mampiasa Chart.js:
{
"type": "bar",
"data": {
"labels": ["LLaMA", "RAGCain"],
"datasets": [
{
"label": "Hamarino",
"data": [0.8, 0.9],
"Loko background": ["#FF6384", "#36A2EB"]
}
]
},
"safidy": {
"lohateny": {
"fampisehoana": marina,
"text": "Hamarinin'ny modely RAGChain"
},
"mizana": {
"yAxes": [
{
"tonga": {
"beginAtZero": marina
}
}
]
}
}
}
Ity sary ity dia mampiseho ny fahamarinan'ny modely LLaMA sy ny maodely RAGCain.
Famaranana
ny fampidirana ny RAG miaraka amin'ny LLMs dia manome tombony maro ho an'ny maritrano rindrambaiko mavitrika, ao anatin'izany ny fanatsarana ny fahitsiana, ny fampitomboana ny fahombiazany, ary ny fanamafisana ny fahaiza-manao. LangChain sy DSPy dia fitaovana orkestra roa malaza azo ampiasaina amin'ny fampiharana ny maodely mifototra amin'ny RAG. Amin'ny alàlan'ny fanarahana ny paikady fampiharana sy ny ohatra kaody omena ato amin'ity lahatsoratra ity, ny mpamorona dia afaka mamorona rafitra RAG sarotra izay mampiditra ny LLM amin'ny maodely fakana sary. Ny baiko / snippet 5-10 ambony indrindra amin'ny fampidirana ny RAG amin'ny LLM dia omena ho fanondroana ihany koa.