التكوين

دليل التكوين والإعداد لـ Qwen Image Edit

تكوين Qwen Image Edit

يوضح هذا الدليل كيفية تكوين مكتبة عميل Qwen Image Edit، بما في ذلك الإعدادات الأولية، والمتغيرات البيئية، وخيارات التكوين المتقدمة.

1. التكوين الأولي

عند تهيئة عميل Qwen Image Edit، يمكنك توفير مفتاح API والمنطقة مباشرة.

// JavaScript/TypeScript
import { QwenImageEdit } from '@qwen-image-edit/sdk';

const client = new QwenImageEdit({
  apiKey: 'YOUR_API_KEY',
  region: 'YOUR_REGION', // مثال: 'us-east-1'
});
# Python
from qwen_image_edit_sdk import QwenImageEdit

client = QwenImageEdit(
    api_key="YOUR_API_KEY",
    region="YOUR_REGION"
)

2. المتغيرات البيئية

يوصى بشدة باستخدام المتغيرات البيئية لمفاتيح API والمعلومات الحساسة الأخرى، خاصة في بيئات الإنتاج.

  • QWEN_IMAGE_EDIT_API_KEY: مفتاح API الخاص بك.
  • QWEN_IMAGE_EDIT_REGION: منطقة API (مثال: us-east-1).
// JavaScript/TypeScript
const client = new QwenImageEdit({
  apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
  region: process.env.QWEN_IMAGE_EDIT_REGION,
});
# Python
import os
from qwen_image_edit_sdk import QwenImageEdit

client = QwenImageEdit(
    api_key=os.environ.get("QWEN_IMAGE_EDIT_API_KEY"),
    region=os.environ.get("QWEN_IMAGE_EDIT_REGION")
)

3. إعداد العميل

يمكنك تخصيص سلوك العميل من خلال خيارات إضافية.

3.1. مهلة الطلب

تحديد مهلة بالمللي ثانية لطلبات API.

// JavaScript/TypeScript
const client = new QwenImageEdit({
  apiKey: 'YOUR_API_KEY',
  region: 'YOUR_REGION',
  timeout: 30000, // 30 ثانية
});

3.2. إعادة المحاولة

تكوين منطق إعادة المحاولة للتعامل مع الأخطاء العابرة.

// JavaScript/TypeScript
const client = new QwenImageEdit({
  apiKey: 'YOUR_API_KEY',
  region: 'YOUR_REGION',
  maxRetries: 3,
  retryDelayMs: 1000, // تأخير 1 ثانية قبل إعادة المحاولة
});

4. التخزين المؤقت

يمكنك تنفيذ التخزين المؤقت لنتائج API لتقليل زمن الوصول وتقليل استخدام API. لا توفر مكتبة العميل تخزينًا مؤقتًا مدمجًا، ولكن يمكنك دمجها مع حلول التخزين المؤقت الشائعة.

// JavaScript/TypeScript (مثال مع ذاكرة تخزين مؤقت بسيطة)
const cache = new Map();

async function getEditedImage(params) {
  const cacheKey = JSON.stringify(params);
  if (cache.has(cacheKey)) {
    console.log('جلب من ذاكرة التخزين المؤقت');
    return cache.get(cacheKey);
  }

  const result = await client.edit(params);
  cache.set(cacheKey, result.edited_image_url);
  return result.edited_image_url;
}

5. الوكيل (Proxy)

إذا كنت بحاجة إلى توجيه طلبات API من خلال وكيل، فيمكنك تكوين ذلك في بيئتك أو من خلال مكتبة HTTP الأساسية.

// JavaScript/TypeScript (مثال مع axios، إذا كانت SDK تستخدمه داخليًا)
// هذا يعتمد على كيفية بناء SDK. قد تحتاج إلى تكوين وكيل على مستوى النظام.
// process.env.HTTP_PROXY = 'http://your-proxy-server:8080';
// process.env.HTTPS_PROXY = 'http://your-proxy-server:8080';

6. التكوينات الخاصة بالبيئة

قد ترغب في الحصول على تكوينات مختلفة لبيئات التطوير والإنتاج والاختبار.

// JavaScript/TypeScript
const config = {
  development: {
    apiKey: 'DEV_API_KEY',
    region: 'us-east-1',
    logLevel: 'debug',
  },
  production: {
    apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
    region: process.env.QWEN_IMAGE_EDIT_REGION,
    logLevel: 'info',
  },
};

const currentEnv = process.env.NODE_ENV || 'development';
const client = new QwenImageEdit(config[currentEnv]);

7. التسجيل (Logging)

تكوين مستويات التسجيل لعميل SDK للحصول على مزيد من الرؤى حول طلبات واستجابات API.

// JavaScript/TypeScript (مثال افتراضي، قد تختلف التفاصيل حسب SDK)
const client = new QwenImageEdit({
  apiKey: 'YOUR_API_KEY',
  region: 'YOUR_REGION',
  logLevel: 'debug', // 'info', 'warn', 'error'
});

8. الأمان

  • لا تقم أبدًا بتضمين مفاتيح API مباشرة في التعليمات البرمجية المصدر. استخدم المتغيرات البيئية أو أنظمة إدارة الأسرار.
  • استخدم HTTPS دائمًا لجميع اتصالات API.

9. الأداء

  • تحسين حجم الصورة: قبل إرسال الصور إلى API، تأكد من أنها بالحجم والدقة المناسبين لتقليل أوقات المعالجة.
  • المعالجة غير المتزامنة: استخدم callback_url لمهام التحرير الكبيرة أو المعقدة لتجنير حظر تطبيقك.

10. المراقبة

راقب استخدام API الخاص بك ومعدلات الخطأ من خلال لوحة تحكم Qwen Image Edit. قم بإعداد التنبيهات للمشكلات المحتملة.

11. أدوات التطوير

استخدم أدوات مثل Postman أو curl لاختبار نقاط نهاية API مباشرة.

12. أفضل الممارسات

  • إدارة الأخطاء: تنفيذ معالجة قوية للأخطاء وآليات إعادة المحاولة.
  • التحقق من الإدخال: تحقق دائمًا من صحة بيانات الإدخال قبل إرسالها إلى API.
  • التعامل مع الاستجابات: صمم تطبيقك للتعامل مع الاستجابات غير المتوقعة من API بأمان.