ماذا يحدد الطلب بشأن السطر الأخير؟
حدد ما إذا كانت مساحته غير المستخدمة تدخل في التكلفة. الهدف التوضيحي يستثنيها، ما قد يغير الفواصل المفضلة. أدرج مثالاً صغيراً يؤثر فيه هذا الاختيار وقارن المخرجات المقترحة بقاعدة التكلفة التي تقصدها فعلاً.
وزع ما يصل إلى 100 كلمة بلا فراغات على أسطر من 1 إلى 80 نقطة ترميز مع تقليل مربعات المساحة المتبقية باستثناء السطر الأخير.
def wrap_words(words, width):
words = tuple(words)
if type(width) is not int or not 1 <= width <= 80 or len(words) > 100:
raise ValueError("wrap.limit")
if any(type(w) is not str or not w or len(w) > width or any(c.isspace() for c in w) for w in words):
raise ValueError("wrap.word")
n = len(words)
costs, ends = [0] * (n+1), [0] * n
for i in range(n-1, -1, -1):
used, best = 0, None
for j in range(i, n):
used += len(words[j]) + (j > i)
if used > width:
break
cost = 0 if j == n-1 else (width-used)**2 + costs[j+1]
if best is None or cost < best:
best, ends[i] = cost, j+1
costs[i] = best
lines, i = [], 0
while i < n:
lines.append(" ".join(words[i:ends[i]]))
i = ends[i]
return lines| راجع قبل التطبيق | قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية. |
|---|---|
| النماذج | اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل. |
| المشروع | اختبر الإدخال الفارغ وفواصل بديلة وارفض الكلمات الفارغة أو الطويلة دون ادعاء قياس عرض الطرفية. |
def wrap_words(words, width):
words = tuple(words)
if type(width) is not int or not 1 <= width <= 80 or len(words) > 100:
raise ValueError("wrap.limit")
if any(type(w) is not str or not w or len(w) > width or any(c.isspace() for c in w) for w in words):
raise ValueError("wrap.word")
n = len(words)
costs, ends = [0] * (n+1), [0] * n
for i in range(n-1, -1, -1):
used, best = 0, None
for j in range(i, n):
used += len(words[j]) + (j > i)
if used > width:
break
cost = 0 if j == n-1 else (width-used)**2 + costs[j+1]
if best is None or cost < best:
best, ends[i] = cost, j+1
costs[i] = best
lines, i = [], 0
while i < n:
lines.append(" ".join(words[i:ends[i]]))
i = ends[i]
return linesيوفر LineCitrine مساحة عمل برمجية على Windows للمطورين الذين يناقشون قرارات تنسيق المخرجات مع نموذج ذكاء اصطناعي متصل. تسهل مراجعة طلب التنسيق حين يحدد ما الذي يجعل النتيجة أفضل. افتح مجلد المشروع وأضف المنسق والشيفرة التي تستخدمه ومدخلاً تمثيلياً إلى المحادثة قبل طلب تغيير.
يطلب أحد الأمثلة فواصل أسطر لنص عادي تقلل مجموع مربعات المساحة غير المستخدمة مع معاملة السطر الأخير منفصلاً. حدد الكلمات المسموح بها وحد العرض وقاعدة التكلفة صراحة. اطلب من النموذج مقارنة الفواصل المرشحة بذلك الهدف. ميّز طول نقاط الترميز عن عرض الأعمدة المعروضة كي لا يعد الاقتراح ضمنياً بسلوك يتجاوز التمثيل المختار.
راجع التعديل المقترح بتنسيقات متنافسة ومدخل فارغ وكلمة تتجاوز العرض المقبول. شغّل فحوص المشروع واحسب التكاليف المتوقعة للأمثلة الصغيرة المختارة. ينبغي أن تحفظ النتيجة الكلمات وتحقق الهدف المحدد، لا أن تبدو متوازنة بخط واحد فحسب. أدرج تنسيق الجهة المستهلكة إذا فرض متطلبات إضافية.
توفر نقطة نهاية مدعومة متوافقة مع OpenAI أو نقطة نهاية Anthropic اتصال النموذج في LineCitrine. حيث تُعرض نماذج ذكاء اصطناعي بلا قيود يمكنك اختيار أحدها باستخدام بيانات الاعتماد المطلوبة. يحدد النموذج والخادم القيود وحدود السياق ودعم الأدوات؛ ويبقى هدف التنسيق متطلباً تحدده وتتحقق منه.
حدد ما إذا كانت مساحته غير المستخدمة تدخل في التكلفة. الهدف التوضيحي يستثنيها، ما قد يغير الفواصل المفضلة. أدرج مثالاً صغيراً يؤثر فيه هذا الاختيار وقارن المخرجات المقترحة بقاعدة التكلفة التي تقصدها فعلاً.
ليس عموماً. قد يختلف عرض العلامات المركبة والحروف العريضة عن عدد نقاط ترميزها. اجعل القياس صريحاً في العقد. إذا كانت أعمدة الطرفية مهمة، فحدد ذلك كمتطلب منفصل وراجع المعالجة اللازمة في بيئة العرض الفعلية.
استخدم مدخلات صغيرة لها بضعة خيارات متنافسة للفواصل واحسب تكاليفها المتوقعة بصورة مستقلة. تحقق من اختيار الاقتراح حداً أدنى مسموحاً وفق القاعدة المحددة. ثم شغّل حالات اختبار أوسع للمشروع للبحث عن تغير السلوك خارج تلك الأمثلة.
حدد ما إذا كان المنسق يرفضها أو يقسمها أو يسمح بتجاوزها. يرفض المثال الكلمات التي تتجاوز العرض المقبول. راجع هذا المسار والمستدعي كي لا يُدخل تعديل التنسيق تحويل محتوى أو سياسة أخطاء مختلفة بصمت.
LineCitrine · آخر تحديث 2026-10-25