لماذا تحتاج أسماء الاستعلام المتكررة إلى اهتمام صريح؟
قد يحتوي الطلب على أكثر من زوج بالاسم نفسه، وقد يعتمد المستهلك على تلك القيم. أخبر المساعد بما إذا كان ينبغي الاحتفاظ بها، وافحص أي بنية بيانات مقترحة قد تُسقطها.
أضف زوجًا إلى استعلام URL مع حفظ المفاتيح المتكررة والقيم الفارغة وترتيبها الأصلي.
import re
from urllib.parse import parse_qsl, urlencode
def append_query(query, key, value):
if any(type(x) is not str for x in (query, key, value)):
raise ValueError("query.type")
if re.search(r"%(?![0-9A-Fa-f]{2})", query):
raise ValueError("query.escape")
pairs = parse_qsl(query, keep_blank_values=True,
strict_parsing=True, errors="strict", max_num_fields=1000)
return urlencode([*pairs, (key, value)])قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
ميّز علامة الجمع المرمزة %2B عن المسافة وارفض تسلسلات النسبة المئوية أو UTF-8 غير الصالحة.
import re
from urllib.parse import parse_qsl, urlencode
def append_query(query, key, value):
if any(type(x) is not str for x in (query, key, value)):
raise ValueError("query.type")
if re.search(r"%(?![0-9A-Fa-f]{2})", query):
raise ValueError("query.escape")
pairs = parse_qsl(query, keep_blank_values=True,
strict_parsing=True, errors="strict", max_num_fields=1000)
return urlencode([*pairs, (key, value)])QueryNest مساحة عمل لبرمجة الذكاء الاصطناعي على Windows للمطورين الذين يحتاجون إلى تعديل شيفرة بناء الطلبات دون فقدان معنى مدخلاتها. اختر مجلد مشروعك وصف قيم الاستعلام التي يجب أن تبقى محفوظة بعد التغيير. اطلب من المساعد المتصل فحص التحليل والتسلسل معًا، بما في ذلك المستدعون الذين يعتمدون على الترتيب أو الحقول الفارغة أو الأسماء المتكررة. يحوّل ذلك تعديل سلسلة نصية إلى مهمة تطبيق قابلة للمراجعة.
في مثال query_pairs.py، تثير إضافة زوج أسئلة حول القيم الفارغة الموجودة وتسلسلات الإفلات غير الصحيحة. يمكنك استخدام هذا السياق لفحص دالة مساعدة مشابهة في مشروعك. لا يقدم QueryNest خدمة لمعالجة URL؛ بل يوضح المثال شيفرة يمكن مناقشتها والتحقق منها. راجع المقترح في ضوء البيانات التي يقبلها تطبيقك بدلًا من افتراض أن تحويل كل شيء إلى قاموس يحافظ على الطلب.
ثم شغّل فحوص مشروعك على الاستعلامات المعتادة والحالات التي تميز السلوك القديم عن السلوك المنشود. افحص النتيجة المتسلسلة وما يقرؤه المستهلك منها معًا. يتصل QueryNest بنقاط نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic، مع بيانات اعتماد عند الحاجة. يمكن اختيار نموذج بلا تصفية عند توفره، لكن قيود المزوّد تظل سارية ويحدد الخادم الأدوات والسياق. يبقى عقد الطلب أساس قبول الشيفرة.
قد يحتوي الطلب على أكثر من زوج بالاسم نفسه، وقد يعتمد المستهلك على تلك القيم. أخبر المساعد بما إذا كان ينبغي الاحتفاظ بها، وافحص أي بنية بيانات مقترحة قد تُسقطها.
ليس بالضرورة. فقد يفسر تطبيقك الحقل الفارغ بشكل مختلف عن حقل لم يُقدَّم أصلًا. أدرج الحالتين في المهمة وافحص المحلل وأداة التسلسل معًا قبل اعتبار سلوكهما قابلًا للتبادل.
المثال سير عمل للتطوير، وليس بوابة تحقق تلقائية. أنت تراجع شيفرة الدوال المساعدة الخاصة بك وتختبرها في المشروع. ويجب أن يحدد تطبيقك صيغ URL المقبولة وسلوك الرفض.
تحقق مما إذا كان المستهلك يقرأ القيم نفسها، ومما إذا كان التسلسل الدقيق مهمًا لتكاملك. فقد يؤثر نص يبدو مكافئًا في التوقيعات أو المقارنات، لذا حدد هذه الاعتماديات قبل قبول تغيير في التطبيع.
QueryNest · آخر تحديث 2026-10-25