Sida Loo Dhiso Nidaamka RAG (Korodhka Soo Helidda) Waxtar Leh: Tilmaamaha Faa'iidada
Sida Loo Dhiso Nidaamka RAG (Korodhka Soo Helidda) Waxtar Leh: Tilmaamaha Faa'iidada
Xilligan, oo ay si degdeg ah u korodhay aagga sirdoonka macmalka ah, RAG (Retrieval-Augmented Generation) ayaa noqotay hab waxtar leh oo lagu hagaajinayo tayada abuurista qoraalka. Waxay isku daraysaa nidaamka soo helidda iyo moodeelka abuurista si loo kordhiyo saxnaanta iyo xiriirka nuxurka la abuuray. Qoraalkan wuxuu si faahfaahsan kuugu sharxayaa sida loo dhiso nidaam RAG oo waxtar leh, oo ay ku jiraan agabka lagama maarmaanka ah iyo tillaabooyinka gaarka ah.
Waa maxay RAG?
RAG waa farsamo isku dhafan oo ka kooban soo helidda macluumaadka iyo abuurista qoraalka. Waxay soo helaysaa dukumiintiyada la xiriira si ay u xoojiso moodeelka abuurista, si loo abuuro jawaabo ka sii xiriir badan oo sax ah. Habkan wuxuu si fiican uga muuqdaa meelo badan oo codsiyo ah, oo ay ku jiraan nidaamyada su'aalaha iyo jawaabaha, abuurista wada sheekaysiga iyo abuurista nuxurka.
Qaybaha Nidaamka RAG
Ka hor inta aan la dhisin nidaamka RAG, waa in marka hore la fahmaa qaybaha aasaasiga ah:
- Soo Helaha: Mas'uul ka ah soo helidda macluumaadka la xiriira iyadoo lagu saleynayo gelinta isticmaale.
- Abuuraha: Ku saleysan macluumaadka la soo helay, wuxuu abuuraa jawaab qoraal ah oo dabiici ah.
- Kaydinta Xogta: Kaydinta ilaha macluumaadka loo isticmaalo soo helidda iyo abuurista (sida xog ururin ama ururinta dukumiintiyada).
Tallaabada 1: Diyaarinta Xogta
Si loo dhiso nidaam RAG oo guuleysta, waxaad u baahan tahay inaad diyaariso xog ururin hodan ah oo la xiriirta. Xogtan waxay noqon kartaa dukumiintiyo, maktabado aqooneed, FAQ iwm. Tallaabooyinka diyaarinta xogta waxaa ka mid ah:
-
Ururinta Xogta:
- Xog ururi ka soo qaado noocyada kala duwan ee xog ururinada dadweynaha, shabakadaha ama dukumiintiyada jira.
- Hubi in xogtu ay leedahay kala duwanaansho iyo matalaad si loo hagaajiyo saxnaanta soo helidda.
-
Hagaajinta Xogta:
- Nadiifinta Xogta: Ka saar waxyaabaha dheeraadka ah iyo kuwa aan khuseyn.
- Qaabeynta Xogta: Isku mid u samee qaabka xogta, sida JSON, CSV iwm, si loo fududeeyo habaynta xigta.
import pandas as pd # Akhrinta xogta data = pd.read_csv('data.csv') # Nadiifinta xogta data = data.dropna()
Tallaabada 2: Dhisida Soo Helaha
Dhisida soo helaha waa qayb muhiim ah oo ka mid ah nidaamka RAG. Tallaabooyinka dhisida soo helaha waxaa ka mid ah:
-
Doorashada Algorithm-ka Soo Helidda: Dooro algorithm-ka soo helidda ku habboon baahida, sida TF-IDF, BM25 ama Embedding retrieval.
-
Dhisida Index: Ku dhis index xogta la hagaajiyay si loo helo si degdeg ah.
from sklearn.feature_extraction.text import TfidfVectorizer # Abuurista TfidfVectorizer vectorizer = TfidfVectorizer() tfidf_matrix = vectorizer.fit_transform(data['text']) -
Soo Helidda Dukumiintiyada La Xiriira: Ku saleysan gelinta isticmaale, baar oo soo hel dukumiintiyada la xiriira.
from sklearn.metrics.pairwise import linear_kernel def retrieve_documents(query, tfidf_matrix): query_vector = vectorizer.transform([query]) cosine_similarities = linear_kernel(query_vector, tfidf_matrix).flatten() related_docs_indices = cosine_similarities.argsort()[-5:][::-1] return data.iloc[related_docs_indices]
Tallaabada 3: Dhisida Abuuraha
Abuuraha wuxuu isticmaali doonaa macluumaadka la soo helay si uu u abuuro jawaab ku habboon. Waxaad isticmaali kartaa moodeelada abuurista qoraalka ee jira (sida GPT-3, T5 iwm) si aad u abuurto. Tallaabooyinka dhisida abuuraha waxaa ka mid ah:
-
Doorashada Moodeelka Abuurista: Dooro moodeelka hore loo tababaray oo ku saleysan baahidaada.
from transformers import GPT2LMHeadModel, GPT2Tokenizer model = GPT2LMHeadModel.from_pretrained('gpt2') tokenizer = GPT2Tokenizer.from_pretrained('gpt2') -
Abuurista Jawaabta: Ku saleysan dukumiintiyada la soo helay, abuuro jawaab.
def generate_response(retrieved_texts): input_text = " ".join(retrieved_texts) input_ids = tokenizer.encode(input_text, return_tensors='pt') response_ids = model.generate(input_ids, max_length=200) response = tokenizer.decode(response_ids[0], skip_special_tokens=True) return response
Tallaabada 4: Isku Darka Soo Helidda iyo Abuurista
Isku dar soo helaha iyo abuuraha si loo sameeyo nidaam RAG oo dhameystiran. Marka loo eego gelinta isticmaale, marka hore soo hel dukumiintiyada la xiriira iyada oo loo marayo soo helaha, ka dibna abuur jawaabta ugu dambeysa iyada oo loo marayo abuuraha.
def rag_system(user_input):
# Tallaabada 1: Soo hel dukumiintiyada la xiriira
retrieved_documents = retrieve_documents(user_input, tfidf_matrix)
# Tallaabada 2: Abuur jawaabta
response = generate_response(retrieved_documents['text'].tolist())
return response
Tallaabada 5: Tijaabinta iyo Hagaajinta
Kadib marka nidaamka la dhiso, tijaabinta iyo hagaajinta waa tallaabo aad muhiim u ah. Waxaad tijaabin kartaa sidan:
-
Jawaab celinta Isticmaalaha: Ururi jawaab celin adoo isticmaalaya sahanno ama tijaabooyinka isticmaale si aad u qiimeyso tayada nuxurka la abuuray.
-
Tijaabinta Saxnaanta: Isticmaal muunado badan si aad u isbarbar dhigto natiijooyinka soo helidda iyo nuxurka la abuuray, hubi waxqabadka nidaamka.
-
Hagaajinta Moodeelka: Si joogto ah u hagaaji algorithm-ka soo helidda iyo moodeelka abuurista iyadoo lagu saleynayo natiijooyinka tijaabada, si loo hubiyo in nidaamku yahay mid waxtar leh oo deggan.
Gunaanad
Iyadoo la raacayo tillaabooyinkan, waxaad dhisi kartaa nidaam RAG oo waxtar leh. Iyada oo xogta sii kordheysa iyo horumarka farsamooyinka habaynta, nidaamka RAG wuxuu noqon doonaa mid sii xoog badan, isagoo siinaya xalal sax ah oo dabacsan dhammaan hawlaha abuurista qoraalka. Waxaan rajeynayaa in wadaagidani ay kaa caawin doonto inaad guul ka gaarto barashada iyo codsiga tiknoolajiyada RAG.





