دستاویز کنورٹر
لینگچین کا دستاویز کنورٹر عموماً متن کی مواد کو حصوں میں تقسیم کرنے کا کام کرتا ہے۔ بڑے نصاب کو چنکروں میں تقسیم کرنے سے ایک بڑے دستاویز کو مختلف چھوٹے ٹکڑوں میں تقسیم کرنے کا مقصد ہے۔ یہ اس لئے کیا جاتا ہے کیونکہ بڑے ماڈل عموماً پرومٹس کی لمبائی پر حدود رکھتے ہیں اور تمام مواد کو AI کو دینا ممکن نہیں ہوتا۔
متن کا ٹکڑے کرنے والا
بڑے بلاکس ٹیکسٹ کا سامنا کرتے وقت، آپ کو متن کو ٹکڑوں میں تقسیم کرنا ہوتا ہے۔ اگرچہ یہ سادہ معمول سے مشتمل لگتا ہے، لیکن یہاں بہت سی ممکنہ پیچیدگیاں ہیں۔ آپ کو اصولی طور پر چاہئے کہ سمانی طور پر متن کے سیگمینٹس کو ایک ساتھ رکھیں۔ "سمانی طور پر رشتہ دار" یہاں متن کی قسم پر منحصر ہو سکتا ہے۔
بالاآخر، تعلق رکھنے کے لئے کچھ اوورلاپ رکھنا مددگار ہو سکتا ہے (مثلاً، ایک کسری ونڈو کارروائی کرنا)۔
اس کا مطلب ہے کہ آپ متن کو دو مختلف محوروں پر تخصیص دے سکتے ہیں:
- متن کو کیسے ٹکڑوں میں تقسیم کیا جائے
- بلاکس کا سائز کیسے ناپا جائے
مثال
پہلی دفعہ تجویز کرنے والا ٹیکسٹ اس کو غیر موصول (توہین آمیز) کرتا ہے۔
متن_کا_ٹکڑے_کرنے_والا=RecursiveCharacterTextSplitter(
chunk_size=100,
chunk_overlap=20,
length_function=len,
add_start_index=True,
)
قسم نام=‘start_index’: 0
قسم نام=‘start_index’: 82
دیگر تبدیلیاں
ریڈنڈنٹ دستاویزات کو مارکرز، دستاویزات کا ترجمہ، میٹا ڈیٹا کی نکال، اور مزید
دستاویزات کے علاوہ، ہم دستاویز کی مواد پر دیگر تبدیلیاں بھی کر سکتے ہیں۔ EmbeddingsRedundantFilter کا استعمال کرکے، ہم مماثل دستاویزات کو تشخیص کر سکتے ہیں اور ریڈنڈنٹ مواد کو بروقت نکال سکتے ہیں۔ doctran جیسی انٹیگریشن کے ذریعے، ہم دستاویزات کو ایک زبان سے دوسری زبان میں ترجمہ کرنے، مطلوبہ خصوصیات کو نکالنے اور انہیں میٹا ڈیٹا میں شامل کرنے، اور مباحث کو سوال جواب کی شکل میں تبدیل کرنے جیسے عمل بھی کر سکتے ہیں۔