LLMలతో సుదీర్ఘ పత్రాలను అదుపులోకి తెచ్చుకోవడం

100 పేజీల సాంకేతిక PDFల నుండి ప్రశ్నలకు సమాధానం ఇచ్చేలా నేను ఒక వ్యవస్థను రూపొందించాను.

సాధారణ స్క్రిప్ట్‌లు విఫలమయ్యాయి. నేను వారాల తరబడి టోకెన్ పరిమితులు మరియు అధిక ఖర్చులతో పోరాడాను.

నా మొదటి ప్రయత్నంలో పూర్తి వచనాన్ని GPT-4తో ఉపయోగించాను. ఇది 10 పేజీల వరకు పనిచేసింది. 100 పేజీల వద్ద, నేను టోకెన్ పరిమితిని చేరుకున్నాను. మోడల్ మధ్యలో ఉన్న వివరాలను మర్చిపోయింది. ఖర్చులు చాలా ఎక్కువగా ఉన్నాయి.

నేను ఈ పద్ధతులను ప్రయత్నించాను:

  • బేసిక్ చంకింగ్ (Basic chunking): మోడల్ తప్పు విభాగాలను ఎంచుకుంది. ఇది సందర్భాన్ని (context) కోల్పోయింది.
  • మ్యాప్-రిడ్యూస్ (Map-reduce): నేను నిర్దిష్ట వివరాలను కోల్పోయాను.
  • స్లైడింగ్ విండోస్ (Sliding windows): ఇది చాలా నెమ్మదిగా మరియు ఖరీదైనదిగా ఉంది.

మనుషులు ఎలా చదువుతారో నేను దానిని అనుకరించాను. మనం ముందుగా విషయ సూచికను (table of contents) క్లుప్తంగా చూస్తాము. ఆ తర్వాత నిర్దిష్ట విభాగాలను చదువుతాము.

కొత్త వర్క్‌ఫ్లో ఇక్కడ ఉంది:

  • ఒక క్రమానుగత శ్రేణిని (hierarchy) సృష్టించండి. ప్రతి చంక్ (chunk) కోసం చిన్న సారాంశాన్ని రూపొందించడానికి LLMని ఉపయోగించండి.
  • సారాంశాలను మరియు పూర్తి వచనాన్ని వెక్టర్ డేటాబేస్ (vector database)లో నిల్వ చేయండి.
  • హైబ్రిడ్ సెర్చ్ (hybrid search)ని ఉపయోగించండి. కీవర్డ్‌లు మరియు సెమాంటిక్ సెర్చ్‌లను కలపండి.
  • మొదట టాప్ 3 సారాంశాలను పొందండి.
  • ఆ సారాంశాలకు సంబంధించిన పూర్తి వచనాన్ని సేకరించండి.
  • ఈ సందర్భాన్ని (context) LLMకి అందించండి.

ఫలితాలు:

  • ఖర్చులు 70% తగ్గాయి.
  • సాంకేతిక పదాలు ఇప్పుడు ఖచ్చితంగా ఉన్నాయి.
  • ఖచ్చితత్వం మెరుగుపడింది.

మీ సెటప్ కోసం చిట్కాలు:

  • సారాంశాల కోసం GPT-3.5ని ఉపయోగించండి.
  • తుది సమాధానం కోసం GPT-4ని ఉపయోగించండి.
  • ముందుగానే ఒక టెస్ట్ డేటాసెట్‌ను రూపొందించండి.
  • 20 పేజీల కంటే తక్కువ ఉన్న పత్రాల కోసం ప్రాంప్ట్‌లోనే సమాచారాన్ని నేరుగా అందించండి (Stuff the prompt).

మూలం: https://dev.to/__c1b9e06dc90a7e0a676b/how-i-finally-tamed-long-document-analysis-with-llms-it-wasnt-simple-chunking-5ed3