تنسيق JSON لأدوات LLM
وسيلة محمولة لمشاركة الأدوات
المقدمة
مشاركة أداة بطريقة يمكن إضافتها بسرعة إلى برنامج أو محرر الأدوات ستتحسن إلى حد كبير مع وجود طريقة قياسية لتمثيل الأداة وكيفية استخدامها. نرغب في تمكين الميزات مثل التالي:
رمز لتمثيل الأداة بصريا
بيانات تعريفية للرمز:
اسم للأداة
وصف للأداة
ملاحظات الاستخدام للأداة
المعاملات النائبة المدرجة في سلسلة الأداة
الإخراج المتوقع
الإصدارات و الطوابع الزمنية.
مواصفات تنسيق JSON
يمكنك تنزيل نموذج JSON لدينا هنا.
وصف الحقول
model_prompt: نص يحتوي على المطلب الأولي لنموذج GPT.
metadata: كائن يحتوي على معلومات إضافية عن المطلب الأولي لنموذج GPT، بما في ذلك الحقول الفرعية التالية:
model_version: نص يشير إلى إصدار نموذج GPT المستخدم.
creator: كائن يحتوي على معلومات حول منشئ المطلب الأولي لنموذج GPT، مع الحقول الفرعية التالية:
name: نص يمثل اسم الخالق.
email: نص يمثل البريد الإلكتروني للمنشئ.
organization: نص يمثل المنظمة التي ينتمي إليها المنشئ.
parameters: كائن يحتوي على معلومات حول معاملات نموذج GPT، مع الحقول الفرعية التالية:
temperature: عدد عشري يشير إلى الحرارة المستخدمة للتحكم في عشوائية الخرج.
max_tokens: رقم صحيح يشير إلى الحد الأقصى لعدد الرموز في الاستجابة المُنشأة.
top_p: عدد عشري يمثل عتبة احتمال بروب النواة.
frequency_penalty: عدد عشري يمثل العقوبة المطبقة على الرموز بناءً على تواترها في المجموعة المعطاة.
presence_penalty: عدد عشري يمثل العقوبة المطبقة على الرموز الجديدة بناءً على وجودها في المطلب الأولي.
timestamp: نص بتنسيق ISO 8601 يمثل التاريخ والوقت عندما تم إنشاء المطلب الأولي لنموذج GPT أو تعديله لآخر مرة.
expected_output (اختياري): كائن يحتوي على حقول متعلقة بالمخرج المتوقع من model_prompt، بما في ذلك الحقول الفرعية التالية:
type: نص يشير إلى نوع الخرج المتوقع من model_prompt.
format (اختياري): نص يمثل تنسيق الخرج المتوقع إذا كان قابلاً للتطبيق.
language (اختياري): نص يمثل لغة البرمجة للخرج المتوقع إذا كان النوع هو
code
.allowed_values (اختياري): مصفوفة من النصوص تحتوي على قائمة بالقيم المخرجة المسموح بها إذا كان النوع هو
limited
.
variables (اختياري): قائمة تحتوي على متغيرات قد تُدرج في النص
model_prompt
بطراقة f-string. كل متغير يحتوي على الحقول الفرعية التالية:name: نص يمثل اسم المتغير.
type: نص يظهر نوع المتغير. القيم الممكنة الحالية لـ
type
هيtext
للمتغير الافتراضي، وsingle-select
أوmulti-select
لمتغيرات الاختيار.description: نص يظهر وصف المتغير، بما في ذلك الاستخدامات والأمثلة.
default: قيمة تظهر القيمة الافتراضية للمتغير. هذه القيمة هي نص إذا كان
type
هوtext
أوsingle-select
، ومصفوفة من النصوص لـmulti-select
.allowed_values: مصفوفة من النصوص تحتوي على قائمة القيم المسموح بها إذا كان نوع المتغير هو
single-select
أوmulti-select
avatar (اختياري): كائن يحتوي على حقول مرتبطة بالصورة الرسومية التي تعمل كأفاتار أو رمز للمطلب الأولي، تتضمن الحقول الفرعية التالية:
avatar_type: نص يحدد نوع بيانات الأفاتار المدرجة.
avatar: نص يحتوي على عنوان URL يشير إلى الصورة إذا كان نوع الأفاتار هو
url
، أو نص يمثل الصورة المترمزة ضمن كود base64 إذا كان نوع الأفاتار هوbase64
.
prompt_name (اختياري): نص يمثل اسم المطلب الأولي.
description (اختياري): نص يوفر وصفاً موجزاً للأداة وغرضها.
usage_notes (اختياري): نص يحتوي على ملاحظات غير رسمية من المبدع حول الاستخدام أو أي اعتبارات معينة تتعلق بالأداة.
لتحديد تنسيق الإخراج المتوقع من model_prompt، يمكنك إضافة كائن expected_output
ضمن كائن metadata
. اعتمادًا على نوع الإخراج المتوقع، يمكنك تضمين الحقول الفرعية ذات الصلة في كائن expected_output
.
لتضمين حقول للمتغيرات التي قد تدرج في سلسلة النص model_prompt
بطريقتها الخاصة، يمكنك إضافة قائمة variables
منفصلة ضمن كائن metadata
.
لتضمين صورة رسومية تعمل كأفاتار أو رمز للمطلب الأولي، يمكنك إضافة حقل avatar
ضمن كائن metadata
.
تضمين الحقول expected_output
، variables
، avatar
، prompt_name
، description
، و usage_notes
ضمن كائن metadata
يساعد على الحفاظ على جميع المعلومات السياقية حول الفورمات الأولي في مكان واحد، مما يجعل من الأسهل إدارته وفهمه.
يمكنك استخدام حقل version
في أعلى مستوى لكائن JSON لتتبع صراحة إصدار ملف JSON بأكمله
Last updated