Guhuza RAG hamwe na LLMs kubikorwa byogutezimbere software ikora | B4N1

Guhuza RAG hamwe na LLMs kubikorwa byogutezimbere software ikora

9 months ago · b4n1 Tiempo de lectura: 3 min

Kwinjiza RAG hamwe na LLMs kubikorwa byogutezimbere porogaramu ikora

Intangiriro

Imiterere yiterambere rya software iratera imbere byihuse, iterwa niterambere ryubwenge bwubuhanga (AI), kwiga imashini (ML), no gutunganya ururimi karemano (NLP). Tekinoroji ebyiri zingenzi zihindura uburyo dutezimbere software ni Retrieval-Augmented Generation (RAG) hamwe nururimi runini (LLMs). Muri iki kiganiro, tuzasesengura guhuza RAG na LLMs kugirango tworohereze imikorere yubuhanga bwa software, tunoze imikorere ya code, kandi tunoze umusaruro wabateza imbere.

Igisekuru cyakuweho (RAG) ni iki?

RAG ni tekinike ihuza imbaraga zuburyo bwo kugarura no gushingira ku gisekuru kuri NLP. Harimo gukura amakuru ajyanye numurongo munini winyandiko no kuyikoresha kugirango wongere ibisekuru byinyandiko nshya. Ubu buryo bwerekanwe ko bugira ingaruka nziza mubikorwa bitandukanye bya NLP, harimo gusubiza ibibazo, incamake yinyandiko, no kubyara code.

Ni ubuhe bwoko bw'ururimi runini (LLMs)?

LLMs ni ubwoko bwurusobe rwimitsi yagenewe gutunganya no kubyara imvugo imeze nkabantu. Mubisanzwe bahuguwe kumibare minini yinyandiko kandi irashobora guhuzwa neza kubikorwa byihariye nko guhindura ururimi, incamake yinyandiko, hamwe no kubyara code. LLMs yageze kubisubizo bigezweho mubikorwa byinshi bya NLP kandi bikoreshwa cyane mubisabwa nka chatbots, abafasha basanzwe, hamwe na sisitemu yo guhindura ururimi.

Kwinjiza RAG hamwe na LLMs kubikorwa byogutezimbere porogaramu ikora

Kwishyira hamwe kwa RAG na LLMs bifite ubushobozi bwo guhindura uburyo dutezimbere software. Muguhuza imbaraga zuburyo bwo kugarura no gushingira ku gisekuru, RAG irashobora gufasha LLM kubyara kode yukuri kandi ifatika. Ibi birashobora kuganisha ku iterambere ryinshi mubikorwa byabateza imbere, ubuziranenge bwimyandikire, hamwe niterambere rusange rya software.

Ibikoresho bya Orchestre: LangChain na DSPy

Kugirango duhuze RAG na LLMs, dukeneye ibikoresho bya orchestre bishobora gucunga amakuru yamakuru no kugenzura imikorere ya RAG na LLM. Ibikoresho bibiri bizwi cyane bya orchestre bishobora gukoreshwa kubwiyi ntego ni LangChain na DSPy.

LangChain

LangChain ni isomero rifunguye-isomero rya Python ritanga API yoroshye kandi itangiza API yo kubaka porogaramu zishingiye kuri RAG. Iremera abitezimbere guhuza byoroshye RAG hamwe na LLMs nibindi bice bya NLP kugirango bakore porogaramu zikomeye ziterambere rya software.

DSPy

DSPy nubundi isomero rifunguye-isomero rya Python ritanga urwego rwohejuru API rwo kubaka porogaramu zishingiye kuri RAG. Yashizweho kugirango ikore nta nkomyi hamwe na LLMs nibindi bice bya NLP, bituma ihitamo neza guhuza RAG na LLMs.

Urugero rwa Kode: Guhuza RAG na LLMs ukoresheje LangChain

Hano hari kode yoroshye yerekana uburyo bwo guhuza RAG na LLMs ukoresheje LangChain: `` python gutumiza mu mahanga Kuva kumurongo.iminyururu itumiza RAGChain

rag_model = ururimi.RAG ( indangagaciro = indimi.Indanga ( izina = "my_index", inyandiko = ["inyandiko1", "inyandiko2", "inyandiko3"], ), kugarura = langchain.Gusubiza ( izina = "my_retriever", icyitegererezo = "my_retriever_model", ), generator = langchain.Generator ( izina = "my_generator", icyitegererezo = "my_generator_model", ), )

Sobanura icyitegererezo cya LLM

llm_model = ururimi.LLM ( izina = "my_llm", icyitegererezo = "my_llm_model", )

Kora urunigi rwa RAG

rag_chain = RAGChain ( izina = "my_rag_chain", icyitegererezo = rag_model, llm = llm_model, )

Koresha urunigi rwa RAG kugirango ubyare code

kode = rag_umurongo.ibyara ( input_text = "Andika imikorere ifata integer ebyiri nkiyinjiza hanyuma usubize umubare wabo", )

icapiro (kode) `` ` Uru rugero rwimyandikire yerekana uburyo bwo gusobanura moderi ya RAG ukoresheje LangChain, gusobanura icyitegererezo cya LLM, gukora urunigi rwa RAG, no gukoresha urunigi kubyara code.

Hejuru 5-10 Amabwiriza Yakoreshejwe Byinshi / Udukoryo

Hano haribintu 5-10 byambere bikoreshwa cyane / ibisobanuro byo guhuza RAG na LLMs ukoresheje LangChain na DSPy:

  1. langchain.RAG (): Kurema urugero rwicyitegererezo cya RAG.
  2. langchain.Index (): Shiraho urugero rwerekana kubika no kugarura inyandiko.
  3. langchain.Retriever (): Shiraho urugero rwo kugarura ibyangombwa bijyanye.
  4. langchain.Generator (): Shiraho urugero rwa generator yo kubyara inyandiko nshya.
  5. langchain.LLM (): Kurema urugero rwa LLM.
  6. RAGChain (): Kurema urugero rwa RAG.
  7. rag_chain.generate (): Koresha urunigi rwa RAG kubyara code.
  8. Llm_model.generate (): Koresha moderi ya LLM kubyara code.
  9. index.add_document (): Ongeraho inyandiko kurutonde.
  10. retriever.kuramo (): Gukuramo inyandiko zijyanye no kugarura.

Kubona amashusho

Dore amashusho yibice bya RAG na LLM ukoresheje Chart.js: json { "ubwoko": "akabari", "amakuru": { "ibirango": ["RAG", "LLM"], "imibare": [ { "label": "Ibigize", "amakuru": [10, 20], "backgroundColor": ["# 4CAF50", "# FF9800"] } ] }, "amahitamo": { "umutwe": { "kwerekana": ukuri, "inyandiko": "Ibigize RAG na LLM" }, "umunzani": { "yAxes": [ { "kwerekana": ukuri, "gutangiraAtZero": ukuri } ] } } } ` Iyi visualisation yerekana umubare wibigize muri moderi ya RAG na LLM.

Umwanzuro

Kwishyira hamwe kwa RAG na LLMs bifite ubushobozi bwo guhindura uburyo dutezimbere software. Muguhuza imbaraga zuburyo bwo kugarura no gushingira ku gisekuru, RAG irashobora gufasha LLM kubyara kode yukuri kandi ifatika. Ibi birashobora kuganisha ku iterambere ryinshi mubikorwa byabateza imbere, ubuziranenge bwimyandikire, hamwe niterambere rusange rya software. Hamwe nibikoresho bya orchestre nka LangChain na DSPy, abitezimbere barashobora guhuza byoroshye RAG hamwe na LLMs nibindi bikoresho bya NLP kugirango bakore porogaramu ikomeye yo guteza imbere software.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn