إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
هذه الميزة موجودة في المعاينة العامة وهي مدعومة على كل من واجهات برمجة تطبيقات نموذج الأساس التي تدفع لكل رمز مميز ونقاط نهاية معدل النقل المقدمة.
توضح هذه المقالة المخرجات المنظمة على Azure Databricks وكيفية استخدامها كجزء من مهام سير عمل التطبيق الذكاء الاصطناعي التوليدي. المخرجات المنظمة متوافقة مع OpenAI ولا تتوفر إلا أثناء خدمة النموذج كجزء من واجهات برمجة تطبيقات نموذج المؤسسة.
ما هي المخرجات المنظمة؟
توفر المخرجات المنظمة طريقة لإنشاء بيانات منظمة في شكل كائنات JSON من بيانات الإدخال الخاصة بك. يمكنك اختيار إنشاء نص، وعناصر JSON غير منظمة البنية، وعناصر JSON التي تلتزم بمخطط JSON معين. يتم دعم المخرجات المنظمة لنماذج الدردشة التي يتم تقديمها باستخدام واجهات برمجة تطبيقات نموذج الأساس الدفع لكل رمز مميز ونقاط نهاية معدل النقل المقدمة.
توصي Databricks باستخدام المخرجات المنظمة للسيناريوهات التالية:
- استخراج البيانات من كميات كبيرة من المستندات. على سبيل المثال، تحديد وتصنيف ملاحظات مراجعة المنتج على أنها سلبية أو إيجابية أو محايدة.
- مهام الاستدلال الدفعي التي تتطلب أن تكون المخرجات بتنسيق محدد.
- معالجة البيانات، مثل تحويل البيانات غير المنظمة إلى بيانات منظمة.
استخدام المخرجات المنظمة
حدد المخرجات المنظمة باستخدام response_format في طلب الدردشة. راجع مرجع واجهة برمجة تطبيقات REST لنموذج الأساس.
فيما يلي مثال على استخراج البيانات من أوراق البحث إلى مخطط JSON محدد.
import os
import json
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('YOUR_DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('YOUR_DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
response_format = {
"type": "json_schema",
"json_schema": {
"name": "research_paper_extraction",
"schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"authors": {
"type": "array",
"items": { "type": "string" }
},
"abstract": { "type": "string" },
"keywords": {
"type": "array",
"items": { "type": "string" }
}
},
},
"strict": True
}
}
messages = [{
"role": "system",
"content": "You are an expert at structured data extraction. You will be given unstructured text from a research paper and should convert it into the given structure."
},
{
"role": "user",
"content": "..."
}]
response = client.chat.completions.create(
model="databricks-meta-llama-3-1-70b-instruct",
messages=messages,
response_format=response_format
)
print(json.dumps(response.choices[0].message.model_dump()['content'], indent=2))
فيما يلي مثال على استخراج JSON، ولكن مخطط JSON غير معروف من قبل.
import os
import json
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('YOUR_DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('YOUR_DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
response_format = {
"type": "json_object",
}
messages = [
{
"role": "user",
"content": "Extract the name, size, price, and color from this product description as a JSON object:\n<description>\nThe SmartHome Mini is a compact smart home assistant available in black or white for only $49.99. It's 5 inches wide.\n</description>"
}]
response = client.chat.completions.create(
model="databricks-meta-llama-3-1-70b-instruct",
messages=messages,
response_format=response_format
)
print(json.dumps(response.choices[0].message.model_dump()['content'], indent=2))
مخطط JSON
تدعم واجهات برمجة تطبيقات نموذج الأساس على نطاق واسع المخرجات المنظمة التي يقبلها OpenAI. ومع ذلك، يؤدي استخدام مخطط JSON أبسط لتعريفات مخطط JSON إلى إنشاء JSON عالي الجودة. لتعزيز توليد أعلى جودة، تدعم واجهات برمجة التطبيقات نموذج الأساس فقط مجموعة فرعية من مواصفات مخطط JSON.
مفاتيح تعريف استدعاء الدالة التالية غير مدعومة:
- التعبيرات العادية باستخدام
pattern. - تكوين المخطط المعقد أو المتداخل والتحقق من الصحة باستخدام:
anyOfأوallOfprefixItemsoneOf$ref. - قوائم الأنواع باستثناء الحالة الخاصة التي
[type, “null”]يكون فيها نوع واحد في القائمة هو نوع JSON صالح والآخر هو"null"
استخدام الرمز المميز
تستخدم الحقن الفوري والتقنيات الأخرى لتحسين جودة المخرجات المنظمة. يؤثر القيام بذلك على عدد رموز الإدخال والإخراج المميزة التي يستهلكها النموذج، ما يؤدي بدوره إلى الآثار المترتبة على الفوترة.
القيود
- الحد الأقصى لعدد المفاتيح المحددة في مخطط JSON هو
64. - لا تفرض واجهات برمجة تطبيقات نموذج الأساس قيود الطول أو الحجم للكائنات والصفائف.
- يتضمن ذلك كلمات أساسية مثل
maxPropertiesوminPropertiesو.maxLength
- يتضمن ذلك كلمات أساسية مثل
- تؤدي مخططات JSON المتداخلة بشكل كبير إلى توليد جودة أقل. إذا كان ذلك ممكنا، فحاول تبسيط مخطط JSON للحصول على نتائج أفضل.