RAGFlow എങ്ങനെ ഉപയോഗിക്കാം: വിശ്വസനീയമായ RAG ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു പ്രാക്ടിക്കൽ ഗൈഡ്
നിങ്ങൾ ഒരു റിട്രീവൽ-ഓഗ്മെന്റഡ് ജനറേഷൻ (RAG) സിസ്റ്റം നിർമ്മിക്കാൻ ശ്രമിച്ചിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് തീർച്ചയായും ചില പ്രശ്നങ്ങളുണ്ടായിട്ടുണ്ടാകും: മിഥ്യാധാരണകൾ (hallucinations), കൃത്യമല്ലാത്ത വീണ്ടെടുക്കൽ (flaky retrieval), പതുക്കെയുള്ള പൈപ്പ്ലൈനുകൾ, വൃത്തിയില്ലാത്ത ഡോക്യുമെന്റ് പ്രീപ്രോസസ്സിംഗ്. RAGFlow ഒരു എൻഡ്-ടു-എൻഡ് വർക്ക്ഫ്ലോ ടൂളായി വരുന്നു. ഇത് ഡോക്യുമെന്റ് ഇൻജഷൻ, ചങ്കിംഗ്, വെക്ടറൈസേഷൻ, വീണ്ടെടുക്കൽ, ജനറേഷൻ എന്നിവ കൂടുതൽ നിയന്ത്രണത്തോടെയും നിരീക്ഷണത്തോടെയും ക്രമീകരിക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു.
ഈ ഗൈഡ് ഒരു പ്രായോഗികവും പ്രശ്നപരിഹാരത്തെ അടിസ്ഥാനമാക്കിയുള്ളതുമാണ്. ഞങ്ങൾ ഒരു നല്ല തുടക്കം നൽകുകയും, RAGFlow എങ്ങനെ യഥാർത്ഥ ഡോക്യുമെന്റുകൾക്കായി ഉപയോഗിക്കാമെന്ന് കാണിച്ചുതരികയും, മിഥ്യാധാരണകൾ കുറയ്ക്കുകയും ഉത്തരത്തിന്റെ ഗുണനിലവാരം മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്ന രീതികൾ പങ്കിടുകയും ചെയ്യും.
എന്താണ് RAGFlow, എന്തുകൊണ്ട് ഇത് ഉപയോഗിക്കണം?
റിട്രീവൽ-ഓഗ്മെന്റഡ് ജനറേഷൻ പൈപ്പ്ലൈനുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു സിസ്റ്റമാണ് RAGFlow. ഒരു സാധാരണ RAG സജ്ജീകരണത്തിൽ, നിങ്ങൾ:
- സ്വീകരിക്കുന്നു പ്രമാണങ്ങൾ സ്വീകരിക്കുന്നു
- ഉള്ളടക്കത്തെ വീണ്ടെടുക്കാവുന്ന ചങ്കുകളായി തിരിക്കുന്നു
- സെമാంటిക് തിരയലിനായി എംബഡ് വെക്ടറുകളിലേക്ക് എംബഡ് ചെയ്യുന്നു
- ചോദ്യം ചോദിക്കുന്ന സമയത്ത് ഏറ്റവും പ്രസക്തമായ ടോപ്പ്-k ചങ്കുകൾ വീണ്ടെടുക്കുന്നു
- ഒരു LLM ഉപയോഗിച്ച് സ്ഥിരമായ ഉത്തരം നൽകുന്നു
RAGFlow മികച്ച ഡിഫോൾട്ടുകൾ, വർക്ക്ഫ്ലോ ബ്ലോക്കുകൾ, ഗാർഡ് റെയിലുകൾ എന്നിവ ചേർക്കുന്നതിലൂടെ വേഗത്തിൽ പ്രവർത്തിക്കാനും കൂടുതൽ വിശ്വസനീയമായ ആപ്ലിക്കേഷനുകൾ പുറത്തിറക്കാനും സഹായിക്കുന്നു. ഇത് നിങ്ങൾക്ക് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാകുന്നത് എപ്പോഴെന്നാൽ:
- സ്ഥിരമായ ചങ്കിംഗും മെറ്റാഡാറ്റയും: മികച്ച ചങ്കുകളിൽ നിന്നാണ് മികച്ച വീണ്ടെടുക്കൽ ആരംഭിക്കുന്നത്.
- പ്ലഗ് ചെയ്യാവുന്ന എംബെഡിംഗുകളും LLM- കളും: OpenAI, പ്രാദേശിക മോഡലുകൾ അല്ലെങ്കിൽ എന്റർപ്രൈസ് എൻഡ്പോയിന്റുകൾ എന്നിവ മാറ്റുക.
- വിലയിരുത്തലുകളും ഗാർഡ് റെയിലുകളും: വീണ്ടെടുക്കൽ ഗുണനിലവാരം അളക്കുകയും മിഥ്യാധാരണകൾ കുറയ്ക്കുകയും ചെയ്യുക.
- വിന്യസിക്കാവുന്ന പൈപ്പ്ലൈനുകൾ: കുറഞ്ഞ റീറൈറ്റുകളോടെ നോട്ട്ബുക്കിൽ നിന്ന് പ്രൊഡക്ഷനിലേക്ക് മാറ്റുക.
ദ്രുത ആരംഭം: ഒരു RAGFlow പൈപ്പ്ലൈനിലേക്ക്
ചുവടെ നൽകിയിരിക്കുന്നത് നിങ്ങൾക്ക് ഉപയോഗിക്കാനാവുന്ന ഒരു ചെറിയ എൻഡ്-ടു-എൻഡ് വർക്ക്ഫ്ലോ ആണ്. നിങ്ങളുടെ പരിസ്ഥിതി വ്യത്യസ്തമാണെങ്കിൽ പോലും, ക്രമവും ഗാർഡ് റെയിലുകളും മാറ്റാൻ സാധിക്കുന്നതാണ്.
1) നിങ്ങളുടെ പരിസ്ഥിതി തയ്യാറാക്കുക
- നിങ്ങളുടെ കീകൾ ഉപയോഗിച്ച് ഒരു
.env ഉണ്ടാക്കുക:
OPENAI_API_KEY (അല്ലെങ്കിൽ മറ്റൊരു LLM ദാതാവ്)
EMBEDDINGS_API_KEY (വേറൊരു ദാതാവിനെയാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ)
VECTOR_DB_URL (ഉദാഹരണത്തിന് Pinecone, Weaviate, Qdrant, അല്ലെങ്കിൽ ലോക്കൽ)
- ഒരു പ്രോജക്റ്റ് ഡയറക്ടറി സജ്ജമാക്കുക, ഉദാഹരണത്തിന്
ragflow-project/ ഫോൾഡറുകളുള്ള:
data/raw/ (സോഴ്സ് ഫയലുകൾ)
data/processed/ (ശുദ്ധീകരിച്ച ചങ്കുകൾ)
configs/ (പൈപ്പ്ലൈൻ ക്രമീകരണങ്ങൾക്കായുള്ള YAML/JSON)
eval/ (ഡാറ്റാസെറ്റുകളും റിപ്പോർട്ടുകളും)
2) നല്ല മെറ്റാഡാറ്റ ഉപയോഗിച്ച് രേഖകൾ ചേർക്കുക
നല്ല മെറ്റാഡാറ്റ = മികച്ച വീണ്ടെടുക്കൽ. ശീർഷകങ്ങൾ, രചയിതാക്കൾ, തീയതികൾ, ഉറവിടങ്ങൾ എന്നിവ സാധാരണ നിലയിലാക്കുക.
- ശക്തമായ ഒരു parser ഉപയോഗിച്ച് PDF-കളും സ്ലൈഡുകളും ടെക്സ്റ്റ് രൂപത്തിലേക്ക് മാറ്റുക
- ഘടന നിലനിർത്തുക: തലക്കെട്ടുകൾ, ലിസ്റ്റുകൾ, കോഡ് ബ്ലോക്കുകൾ, പട്ടികകൾ
- ഓരോ ചങ്കിനും മെറ്റാഡാറ്റ അറ്റാച്ചുചെയ്യുക:
source, section, page, timestamp, version
നുറുങ്ങ്: ഉദ്ധരണികളും വീണ്ടും ചേർക്കലും പിന്തുണയ്ക്കുന്നതിന് ഒരു doc_id ഉം chunk_id ഉം സൂക്ഷിക്കുക.
3) നിങ്ങളുടെ ഉള്ളടക്കത്തിന് അനുയോജ്യമായ ഒരു ചങ്കിംഗ് തന്ത്രം തിരഞ്ഞെടുക്കുക
ചങ്കിംഗ് വീണ്ടെടുക്കൽ ഗുണനിലവാരത്തെയും ലേറ്റൻസിയെയും ശക്തമായി ബാധിക്കുന്നു.
- വിവരണാത്മക ഡോക്യുമെന്റുകൾക്കായി: സെമാന്റിക് ചങ്കിംഗ് (തലക്കെട്ടുകൾ/ ഖണ്ഡികകൾ അനുസരിച്ച് വിഭജിക്കുക)
- സാങ്കേതിക ഡോക്യുമെന്റുകൾക്കായി: ഹൈബ്രിഡ് ചങ്കിംഗ് ഉപയോഗിക്കുക (സെമാന്റിക് + ഫിക്സഡ് വിൻഡോ)
- കോഡിനായി: ഒരു ചെറിയ സ്ലൈഡിംഗ് വിൻഡോ ഉപയോഗിച്ച് ഫംഗ്ഷൻ/ക്ലാസ് അനുസരിച്ച് ചങ്ക് ചെയ്യുക
ആരംഭിക്കുന്നതിനുള്ള ശുപാർശിത ക്രമീകരണങ്ങൾ:
chunk_size: 600–1,000 ടോക്കണുകൾ
chunk_overlap: 50–100 ടോക്കണുകൾ
max_depth: ശകലീകരണം ഒഴിവാക്കാൻ നെസ്റ്റഡ് വിഭാഗങ്ങളെ 2-3 ലെവലായി പരിമിതപ്പെടുത്തുക
4) എംബെഡിംഗുകളും ഒരു വെക്ಟರ್ സ്റ്റോറും തിരഞ്ഞെടുക്കുക
- ശക്തമായ പൊതു ആവശ്യത്തിനുള്ള എംബെഡിംഗ് മോഡലിൽ നിന്ന് ആരംഭിക്കുക (ഉദാഹരണത്തിന്, text-embedding-3-large അല്ലെങ്കിൽ ഒരു ആധുനിക ലോക്കൽ മോഡൽ). സ്വകാര്യത പ്രധാനമാണെങ്കിൽ, സെൽഫ്-ഹോസ്റ്റഡ് എംബെഡിംഗുകൾ പരിഗണിക്കുക.
- ഇവ പിന്തുണയ്ക്കുന്ന ഒരു വെക്റ്റർ DB ഉപയോഗിക്കുക:
- ഹൈബ്രിഡ് തിരയൽ (ഡെൻസ് + കീവേഡ്)
- ഫിൽട്ടറുകൾ (മെറ്റാഡാറ്റാ നിയന്ത്രണങ്ങൾ)
- <a1>ബാച്ച് അപ്സെർട്ടുകളും</a3> സൂചിക മെട്രിക്സും
പരിശോധിക്കാൻ സൂചിക ക്രമീകരണങ്ങൾ:
- ആദ്യ വീണ്ടെടുക്കലിനായി
top_k = 5–10
similarity_metric = cosine (അല്ലെങ്കിൽ ചില മോഡലുകൾക്ക് ഡോട്ട്)
- ആവർത്തനം കുറയ്ക്കുന്നതിന് പരമാവധി പാർശ്വസ്ഥമായ പ്രസക്തി (MMR) പ്രവർത്തനക്ഷമമാക്കുക
5) വീണ്ടെടുക്കൽ ഓർക്കസ്ട്രേഷൻ
ഒരു ദ്വി-ഘട്ട റിട്രീവർ നടപ്പിലാക്കുക:
- വേഗത്തിലുള്ള കാൻഡിഡേറ്റ് റീകോൾ
- ഹൈബ്രിഡ് തിരയൽ (BM25 + ഡെൻസ്)
- വലിയ
top_k (ഉദാഹരണത്തിന്, 30–50)
- ക്രോസ്-എൻകോഡർ റീറാങ്കർ അല്ലെങ്കിൽ LLM അടിസ്ഥാനമാക്കിയുള്ള സ്കോറിംഗ്
- അന്തിമ
top_k ആയി കുറയ്ക്കുക (ഉദാഹരണത്തിന്, 5–8)
വിശ്വസനീയമായ ഡോക്യുമെന്റുകളിലേക്ക് ഉത്തരങ്ങൾ പരിമിതപ്പെടുത്താൻ മെറ്റാഡാറ്റ ഫിൽട്ടറുകൾ ചേർക്കുക: source:"handbook" AND section:"benefits" AND version:"v2".
6) ഘടനയുള്ള ഗ്രൗണ്ടഡ് ജനറേഷൻ
തെളിവുകൾ ദുർബലമാകുമ്പോൾ നിങ്ങളുടെ പ്രോംപ്റ്റ് ഉദ്ധരണികളും നിരസിക്കലും നടപ്പിലാക്കണം.
ഉദാഹരണ സിസ്റ്റം പ്രോംപ്റ്റ്:
നിങ്ങളൊരു നല്ല സഹായിയാണ്. നൽകിയിട്ടുള്ള വിവരങ്ങളെ അടിസ്ഥാനമാക്കി മാത്രം ഉത്തരം നൽകുക.
- [doc_id:chunk_id] എന്ന രീതിയിൽ സോഴ്സുകളെ ഇൻലൈനായി ഉദ്ധരിക്കുക.
- നൽകിയിട്ടുള്ള രേഖകളിൽ മതിയായ വിവരങ്ങളില്ലെങ്കിൽ, "നൽകിയിട്ടുള്ള രേഖകളിൽ മതിയായ വിവരങ്ങളില്ല" എന്ന് പറയുക.
- വസ്തുതകൾ കണ്ടുപിടിക്കാൻ ശ്രമിക്കരുത്.
ഉപയോക്താവിനുള്ള പ്രോംപ്റ്റ് ടെംപ്ലേറ്റ്:
ചോദ്യം: {query}
സന്ദർഭം:
{top_chunks}
നിർദ്ദേശങ്ങൾ:
- ആദ്യം ഒരു സംക്ഷിപ്ത ഉത്തരം നൽകുക, തുടർന്ന് വിശദാംശങ്ങൾ നൽകുക.
- ഓരോ വസ്തുതാപരമായ അവകാശവാദത്തിനും ശേഷം ഉദ്ധരണികൾ ചേർക്കുക.
7) മിഥ്യാധാരണകൾ കുറയ്ക്കാൻ ഗാർഡ് റെയിലുകൾ ചേർക്കുക
- ഉത്തരം നൽകാനുള്ള പരിശോധന: ജനറേഷന് മുമ്പ്, ഒരു ചെറിയ മോഡലിനോട് ചോദിക്കുക: "വീണ്ടെടുത്ത ചങ്കുകളിൽ നേരിട്ടുള്ള തെളിവുകളുണ്ടോ?" ഇല്ലെങ്കിൽ, ഒരു വ്യക്തതയുള്ള ചോദ്യം ചോദിക്കുക.
- Cite‑or‑silence പോളിസി: ഉദ്ധരണികളില്ലാത്ത ഔട്ട്പുട്ടുകൾ തടയുക.
- എന്റർപ്രൈസ് ഉള്ളടക്കത്തിനായി Toxicity/PII ഫിൽട്ടറുകൾ.
8) വിലയിരുത്തലും തുടർച്ചയായ മെച്ചപ്പെടുത്തലും
ഇവ ഉപയോഗിച്ച് ഒരു eval/ സെറ്റ് ഉണ്ടാക്കുക:
- 50–200 യഥാർത്ഥ ഉപയോക്താക്കളുടെ ചോദ്യങ്ങൾ
- ഗ്രൗണ്ട് ട്രൂത്ത് ഉത്തരങ്ങൾ (അല്ലെങ്കിൽ വിശ്വസനീയമായ റഫറൻസുകൾ)
- ബാധകമായ ഇടങ്ങളിൽ പ്രതീക്ഷിക്കുന്ന ഉറവിടങ്ങൾ (doc ids)
അളക്കുക:
- വീണ്ടെടുക്കൽ ഹിറ്റ് റേറ്റ് (top‑k ൽ സ്വർണ്ണ ഉറവിടം ദൃശ്യമാകുന്നുണ്ടോ?)
- ഉത്തരത്തിന്റെ വിശ്വാസ്യത (ഉദ്ധരണി പിന്തുണയുള്ള പ്രസ്താവനകൾ)
- ലേറ്റൻസി (p95 എൻഡ്-ടു-എൻഡ്)
- ചെലവ് (100 ചോദ്യങ്ങൾക്ക്)
ഇവയിൽ മാറ്റങ്ങൾ വരുത്തുക:
- ചങ്ക് വലുപ്പവും ഓവർലാപ്പും
- എംബെഡിംഗ് മോഡൽ തിരഞ്ഞെടുക്കൽ
- റീറാങ്കർ vs ഉയർന്ന ടോപ്പ്-k
- പ്രോംപ്റ്റ് ഘടനയും പരിമിതികളും
ഒരു RAGFlow പൈപ്പ്ലൈൻ: ഉദാഹരണം
നിങ്ങളുടെ ടൂൾചെയിനുമായി പൊരുത്തപ്പെടുത്താൻ കഴിയുന്ന ഒരു ആശയപരമായ കോൺഫിഗറേഷൻ താഴെ നൽകുന്നു. ആവശ്യമനുസരിച്ച് ദാതാക്കളുടെ പേരുകൾ മാറ്റുക.
project: product-handbook-rag
io:
input_path: data/raw/
output_index: product-handbook-index
parsing:
pdf:
strategy: auto
keep_layout: true
extract_tables: true
markdown:
preserve_headings: true
chunking:
method: semantic_hybrid
target_tokens: 800
overlap_tokens: 80
windowing: 2
metadata:
fields: [doc_id, title, section, page, version, source]
embeddings:
provider: openai
model: text-embedding-3-large
vectorstore:
type: qdrant
url: ${VECTOR_DB_URL}
similarity: cosine
retrieval:
hybrid: true
lexical_weight: 0.35
semantic_weight: 0.65
candidate_top_k: 40
rerank:
enabled: true
model: bge-reranker-large
final_top_k: 7
generation:
llm: gpt-4o
temperature: 0.2
cite_or_silence: true
guardrails:
answerability_check: true
pii_filter: true
toxicity_filter: moderate
monitoring:
log_traces: true
latency_budget_ms: 3500
cost_budget_per_100: 1.25
വ്യത്യസ്ത ഉള്ളടക്ക തരങ്ങൾക്കായി RAGFlow എങ്ങനെ ഉപയോഗിക്കാം
ഉൽപ്പന്ന മാനുവലുകളും ഹാൻഡ്ബുക്കുകളും
- വ്യക്തമായ വിഭാഗ അതിരുകളുള്ള സെമാന്റിക് ചങ്കിംഗിന് മുൻഗണന നൽകുക
- കാലഹരണപ്പെട്ട ഉത്തരങ്ങൾ തടയുന്നതിന് പതിപ്പും പ്രാബല്യത്തിലുള്ള തീയതിയും അറ്റാച്ചുചെയ്യുക
- കർശനമായ ഫിൽട്ടറുകൾ ഉപയോഗിക്കുക: എല്ലായ്പ്പോഴും
version = latest ആവശ്യമാണ്
വിജ്ഞാന അടിത്തറകളും പതിവ് ചോദ്യോത്തരങ്ങളും
- കൃത്യമായ ഉത്തരങ്ങൾക്കായി ചെറിയ ചങ്കുകൾ (400–600 ടോക്കണുകൾ) ഉപയോഗിക്കുക
- കാൻഡിഡേറ്റ് പൂൾ വർദ്ധിപ്പിക്കുകയും കൃത്യമായ ഭാഗം കണ്ടെത്താൻ റീറാങ്കിംഗിനെ ആശ്രയിക്കുകയും ചെയ്യുക
- ലെക്സിക്കൽ തിരയലിലൂടെ റീകോൾ വർദ്ധിപ്പിക്കുന്നതിന് കാനോനിക്കൽ ചോദ്യോത്തര ജോഡികൾ സ്വയം ഉണ്ടാക്കുക
എഞ്ചിനീയറിംഗ് ഡോക്യുമെന്റുകളും കോഡും
- ഫംഗ്ഷൻ/ മൊഡ്യൂൾ അനുസരിച്ച് ചങ്ക് ചെയ്യുക, മെറ്റാഡാറ്റയിൽ ഇമ്പോർട്ട് ഗ്രാഫുകൾ ഉൾപ്പെടുത്തുക
- പേരന്റ്-ചൈൽഡ് വീണ്ടെടുക്കൽ പ്രവർത്തനക്ഷമമാക്കുക: ഫംഗ്ഷനും അതിന്റെ ഡോക്സ്ട്രിംഗ് കോൺടെക്സ്റ്റും നൽകുക
- പ്രസക്തമായ ചിഹ്നങ്ങൾക്ക് മുൻഗണന നൽകാൻ കോഡ് അറിയുന്ന ഒരു റീറാങ്കർ ഉപയോഗിക്കുക
നിയമപരവും പാലിക്കാനുള്ളതുമായ കാര്യങ്ങൾ
- ഖണ്ഡിക തലത്തിലുള്ള ഉദ്ധരണികൾ ആവശ്യമാണ്
- പൂർണ്ണമല്ലാത്ത സന്ദർഭത്തിൽ നിരസിക്കാനുള്ള ലോജിക് ചേർക്കുക
- റെഗുലേറ്റർ അംഗീകരിച്ച ഉറവിടങ്ങളുടെ ഒരു ഗോൾഡൻ സെറ്റ് പ്രത്യേക സൂചികയിൽ സൂക്ഷിക്കുക
ശരിക്കും ഫലപ്രദമാകുന്ന പ്രോംപ്റ്റ് രീതികൾ
- ഉത്തരം നൽകുക, തുടർന്ന് ഉദ്ധരിക്കുക: മുകളിൽ ചെറിയ ഉത്തരം; ഓരോ അവകാശവാദത്തിനും ശേഷം ഇൻലൈനായി ഉദ്ധരണികൾ നൽകുക
- ചെയിൻ ഓഫ് റിട്രീവൽ: ഓരോ ചങ്കും ആദ്യം സംഗ്രഹിക്കാൻ മോഡലിനോട് ആവശ്യപ്പെടുക, തുടർന്ന് സംയോജിപ്പിക്കുക
- Query rewrite: വീണ്ടെടുക്കുന്നതിന് മുമ്പ് ഉപയോക്താവിൻ്റെ ചോദ്യങ്ങൾക്ക് പര്യായങ്ങളും ഡൊമെയ്ൻ പദങ്ങളും ചേർക്കുക
- Contrastive prompts: “ഓപ്ഷൻ B യെക്കാൾ ഓപ്ഷൻ A എന്തുകൊണ്ട് മികച്ചതാണെന്ന് വിശദീകരിക്കുക.” ഇത് തെളിവുകൾ ഉപയോഗിക്കാൻ നിർബന്ധിക്കുന്നു
Query rewrite ചെയ്യുന്നതിനുള്ള ഉദാഹരണം:
Original: "ഞങ്ങളുടെ PTO carryover policy എന്താണ്?"
Rewrite: "paid time off carryover policy; vacation rollover; max hours; policy version latest"
നിരീക്ഷിക്കാനുള്ള കഴിവും ഫീഡ്ബാക്ക് ലൂപ്പുകളും
- ഏത് ചങ്കുകളാണ് ഉപയോഗിച്ചതെന്നും, അവയുടെ സ്കോറുകൾ എന്തൊക്കെയായിരുന്നു, ഏതൊക്കെ അവഗണിച്ചു എന്നതും ലോഗ് ചെയ്യുക
- ഒരു ചെറിയ വിശദീകരണത്തോടെ തംബ്സ്-അപ്പ്/ഡൗൺ എടുക്കുക; അത് വീണ്ടെടുക്കൽ ട്യൂണിംഗിലേക്ക് നൽകുക
- ഏതെങ്കിലും മോഡൽ മാറ്റം വരുത്തുന്നതിന് മുമ്പ് നിങ്ങളുടെ eval സെറ്റിൽ പ്രതിവാര റിഗ്രഷൻ ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുക
പ്രകടനം മെച്ചപ്പെടുത്താനുള്ള എളുപ്പവഴികൾ
- ഉത്തരങ്ങൾ പൊതുവായി തോന്നുകയാണെങ്കിൽ:
candidate_top_k വർദ്ധിപ്പിക്കുക, ശക്തമായ റീറാങ്കർ ചേർക്കുക
- ഉത്തരങ്ങളിൽ വിശദാംശങ്ങൾ നഷ്ടപ്പെടുന്നുണ്ടെങ്കിൽ: ചങ്കിന്റെ വലുപ്പം കുറയ്ക്കുക; ലെക്സിക്കൽ വെയ്റ്റ് ചെറുതായി വർദ്ധിപ്പിക്കുക
- ഉദ്ധരണികൾ ഒരേ ചങ്ക് ആവർത്തിക്കുകയാണെങ്കിൽ: MMR പ്രവർത്തനക്ഷമമാക്കുകയും വൈവിധ്യം വർദ്ധിപ്പിക്കുകയും ചെയ്യുക
- ലേറ്റൻസി കൂടുതലാണെങ്കിൽ: എംബെഡിംഗുകൾ കാഷെ ചെയ്യുക, query rewrites മുൻകൂട്ടി കണക്കാക്കുക, ചെറിയ റീറാങ്കർ ഉപയോഗിക്കുക
- ചെലവ് വർധിക്കുകയാണെങ്കിൽ: ജനറേഷൻ താപനില കുറയ്ക്കുക, പ്രോംപ്റ്റുകൾ ചെറുതാക്കുക, ആദ്യ ഘട്ടത്തിന് ചെറിയ LLM ഉപയോഗിക്കാൻ ശ്രമിക്കുക
സുരക്ഷയും ഭരണപരമായ കാര്യങ്ങളും
- സംഭരിച്ച വെക്ടറുകൾ എൻക്രിപ്റ്റ് ചെയ്യുക, മെറ്റാഡാറ്റയിലെ സെൻസിറ്റീവ് ഫീൽഡുകൾ എഡിറ്റ് ചെയ്യുക
- ഓരോ സൂചികയിലും ആക്സസ് നിയന്ത്രണം ഉപയോഗിക്കുക; ടീം അല്ലെങ്കിൽ ഡാറ്റാ സെൻസിറ്റിവിറ്റി അനുസരിച്ച് തരംതിരിക്കുക
- ഒരു ഡാറ്റാ പിന്തുടർച്ച രേഖ സൂക്ഷിക്കുക: ഡോക്യുമെന്റ് സോഴ്സ് URL, ചെക്ക്സം, ഇൻജഷൻ ടൈംസ്റ്റാമ്പ്
കേസ് സ്റ്റഡി സ്നാപ്പ്ഷോട്ട്: വൃത്തിയില്ലാത്ത PDF-കളിൽ നിന്ന് വിശ്വസനീയമായ ഉത്തരങ്ങളിലേക്ക്
ഒരു പിന്തുണാ ടീം 1,200 പേജുള്ള PDF-കൾ ചേർത്തു. ആദ്യ വീണ്ടെടുക്കൽ സ്ഥിരതയില്ലാത്തതായിരുന്നു; ഏജന്റുമാർ ബോട്ടിനെ വിശ്വസിച്ചില്ല. സെമാന്റിക്-ഹൈബ്രിഡ് ചങ്കിംഗിലേക്ക് (800 ടോക്കണുകൾ, 80 ഓവർലാപ്പ്) മാറിയ ശേഷം, ക്രോസ്-എൻകോഡർ റീറാങ്കിംഗ് പ്രവർത്തനക്ഷമമാക്കുകയും cite-or-silence നടപ്പിലാക്കുകയും ചെയ്തപ്പോൾ, ടോപ്പ്-k ഹിറ്റ് റേറ്റ് 62% ൽ നിന്ന് 89% ആയി ഉയർന്നു, ഏജന്റ് അഡോപ്ഷൻ ഇരട്ടിയായി. വലുപ്പമുള്ള LLM ആയിരുന്നില്ല പ്രധാനം—വൃത്തിയായ ചങ്കുകളും കർശനമായ വീണ്ടെടുക്കലുമായിരുന്നു.
Tooling tip: AI സൈഡ്ബാറിലൂടെ വേഗത്തിൽ മാറ്റങ്ങൾ വരുത്തുക
ശ്രദ്ധിക്കുക: നിങ്ങൾ നിരവധി ഡോക്യുമെന്റുകളിൽ പ്രോംപ്റ്റുകളും വീണ്ടെടുക്കൽ ഭാഗങ്ങളും പരീക്ഷിക്കുകയാണെങ്കിൽ, ബ്രൗസറിൽ നിന്ന് തന്നെ PDF-കളിലും വെബ് പേജുകളിലും കോഡിലും ചാറ്റ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു AI അസിസ്റ്റന്റ് മാറ്റങ്ങൾ വരുത്തുന്നത് വേഗത്തിലാക്കും. വഴിയിൽ, Sider.AI (https://sider.ai/) ഒരു AI സൈഡ്ബാർ വാഗ്ദാനം ചെയ്യുന്നു. ഇത് നിങ്ങൾ ഉപയോഗിക്കുന്ന പേജിൽ നിന്ന് സന്ദർഭം എടുക്കാനും സംഗ്രഹിക്കാനും പ്രോംപ്റ്റുകൾ വേഗത്തിൽ മെച്ചപ്പെടുത്താനും നിങ്ങളെ അനുവദിക്കുന്നു. RAG പ്രോംപ്റ്റുകൾ പ്രോട്ടോടൈപ്പ് ചെയ്യുന്നതിനും പൈപ്പ്ലൈൻ രൂപീകരിക്കുന്നതിന് മുമ്പ് ചങ്കിന്റെ ഗുണനിലവാരം പരിശോധിക്കുന്നതിനും ഇത് ഉപയോഗപ്രദമാണ്. RAGFlow ട്രബിൾഷൂട്ടിംഗ്: പെട്ടെന്നുള്ള പരിഹാരങ്ങൾ
- “മോഡൽ ഉറപ്പുള്ളതാണ്, പക്ഷേ തെറ്റാണ്.”
- ഉത്തരം നൽകാനുള്ള പരിശോധന പ്രവർത്തനക്ഷമമാക്കുക; താപനില കുറയ്ക്കുക; ഉദ്ധരണികൾ ആവശ്യപ്പെടുക
- “തിരയൽ ഏകദേശം തനിപ്പകർപ്പുകൾ നൽകുന്നു.”
- MMR ഓണാക്കുക; ഒരു റീറാങ്കർ ചേർക്കുക; ചങ്ക് ഓവർലാപ്പ് കുറയ്ക്കുക
- “പീക്ക് സമയത്ത് ലേറ്റൻസി വർധിക്കുന്നു.”
- ബാച്ച് എംബെഡിംഗുകൾ; കാഷെ query rewrites; സ്ട്രീമിംഗ് ജനറേഷൻ ഉപയോഗിക്കുക
- “പഴയ പോളിസികൾ വീണ്ടും കാണിക്കുന്നു.”
version = latest എന്നതിൽ ഫിൽട്ടർ ചെയ്യുക; കാലഹരണപ്പെട്ട ഡോക്യുമെന്റുകൾ ഒഴിവാക്കുക
അടുത്ത ഘട്ടങ്ങൾ: നിങ്ങളുടെ RAGFlow പ്രൊഡക്ഷനിൽ വിശ്വസനീയമാക്കുക
- ചെറിയ, വിശ്വസനീയമായ കോർപ്പസിൽ നിന്ന് ആരംഭിക്കുക; ആദ്യം ചങ്കിംഗും ഫിൽട്ടറുകളും മികച്ചതാക്കുക
- LLM അപ്ഗ്രേഡ് ചെയ്യുന്നതിന് മുമ്പ് ഒരു റീറാങ്കർ ചേർക്കുക
- 100 ചോദ്യങ്ങൾ അടങ്ങിയ ഒരു eval സെറ്റ് ഉണ്ടാക്കുകയും പ്രതിവാരം ഹിറ്റ് റേറ്റ് ട്രാക്ക് ചെയ്യുകയും ചെയ്യുക
- തുടർച്ചയായി വീണ്ടെടുക്കൽ ട്യൂൺ ചെയ്യാൻ ഉപയോക്താക്കളുടെ ഫീഡ്ബാക്ക് ചേർക്കുക
പ്രധാന കണ്ടെത്തലുകൾ:
- RAG-ക്ക് മോഡലിന്റെ വലുപ്പത്തേക്കാൾ പ്രധാനം വീണ്ടെടുക്കൽ ഗുണനിലവാരമാണ്
- ചങ്കിംഗ്, മെറ്റാഡാറ്റ, റീറാങ്കിംഗ് എന്നിവയാണ് നിങ്ങളുടെ പ്രധാന കാര്യങ്ങൾ
- Cite-or-silence പോലുള്ള ഗാർഡ് റെയിലുകൾ വിശ്വാസം വർദ്ധിപ്പിക്കുന്നു
- നിരീക്ഷിക്കാനുള്ള കഴിവിലും വിലയിരുത്തുന്നതിലും നേരത്തെ തന്നെ നിക്ഷേപം നടത്തുക
ഈ രീതികൾ ഉപയോഗിച്ച്, RAGFlow എന്നത് വിവരങ്ങൾ നൽകുന്ന ഒരു സഹായ ബോട്ട്, ഒരു ഡെവലപ്പർ കോപൈലറ്റ് അല്ലെങ്കിൽ ഒരു ആന്തരിക വിജ്ഞാന സഹായി എന്നിവയ്ക്ക് ആശ്രയിക്കാവുന്ന ഒരു അടിത്തറയായി മാറുന്നു.
പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ
Q1: എന്താണ് RAGFlow, ഡോക്യുമെന്റ് QA-ക്കായി എനിക്കിത് എങ്ങനെ ഉപയോഗിക്കാം?
RAGFlow എന്നത് റിട്രീവൽ-ഓഗ്മെന്റഡ് ജനറേഷൻ പൈപ്പ്ലൈനുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു ചട്ടക്കൂടാണ്. മിഥ്യാധാരണകൾ കുറയ്ക്കുന്നതിനും കൃത്യത മെച്ചപ്പെടുത്തുന്നതിനും നിങ്ങൾ ഉദ്ധരണികളുള്ള ഉത്തരങ്ങൾ ചേർക്കുകയും, ചങ്ക് ചെയ്യുകയും, ഉൾച്ചേർക്കുകയും, വീണ്ടെടുക്കുകയും, ഉണ്ടാക്കുകയും ചെയ്യുന്നു.
Q2: RAGFlow-യിൽ ഞാൻ എങ്ങനെ ഡോക്യുമെന്റുകൾ ചങ്ക് ചെയ്യണം?
600–1,000 ടോക്കൺ ചങ്കുകളും 50–100 ടോക്കൺ ഓവർലാപ്പും ഉള്ള സെമാന്റിക് അല്ലെങ്കിൽ ഹൈബ്രിഡ് ചങ്കിംഗ് ഉപയോഗിക്കുക. കോഡിനായി, ഫംഗ്ഷൻ അല്ലെങ്കിൽ ക്ലാസ് അനുസരിച്ച് ചങ്ക് ചെയ്യുകയും ചുറ്റുമുള്ള സന്ദർഭം ഉൾപ്പെടുത്തുകയും ചെയ്യുക.
Q3: RAGFlow-യിൽ ഏത് വെക്റ്റർ ഡാറ്റാബേസാണ് ഏറ്റവും മികച്ചത്?
ഹൈബ്രിഡ് തിരയൽ, മെറ്റാഡാറ്റ ഫിൽട്ടറുകൾ, റീറാങ്കിംഗ് എന്നിവ പിന്തുണയ്ക്കുന്ന ഒരു സ്റ്റോർ തിരഞ്ഞെടുക്കുക—Qdrant, Weaviate, Pinecone അല്ലെങ്കിൽ ഒരു പ്രാദേശിക ഓപ്ഷൻ എന്നിവയെല്ലാം സാധാരണ ചോയിസുകളാണ്.
Q4: RAGFlow ആപ്പിൽ മിഥ്യാധാരണകൾ എങ്ങനെ തടയാം?
Cite-or-silence പോളിസി നടപ്പിലാക്കുക, ജനറേഷന് മുമ്പ് ഉത്തരം നൽകാനുള്ള പരിശോധന ചേർക്കുക, വീണ്ടെടുത്ത സന്ദർഭം മാത്രം ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് പ്രോംപ്റ്റുകൾ കർശനമായി നിലനിർത്തുക.
Q5: RAGFlow വിലയിരുത്തുന്നതിന് ഞാൻ ഏതൊക്കെ അളവുകളാണ് ട്രാക്ക് ചെയ്യേണ്ടത്?
വീണ്ടെടുക്കൽ ഹിറ്റ് റേറ്റ്, ഉത്തരത്തിന്റെ വിശ്വാസ്യത, ലേറ്റൻസി, 100 ചോദ്യങ്ങൾക്കുള്ള ചെലവ് എന്നിവ നിരീക്ഷിക്കുക, കൂടാതെ ചെറുതും എന്നാൽ പ്രതിനിധീകരിക്കുന്നതുമായ ഒരു വിലയിരുത്തൽ സെറ്റ് നിലനിർത്തുക.