تقنية

كيفية إعادة تسمية الملفات تلقائيًا في Google Drive باستخدام Apps Script وAI


يمكنك إعادة تسمية الملفات بسرعة في Google Drive باستخدام Apps Script وGoogle Gemini AI. سيقوم البرنامج النصي تلقائيًا بإعادة تسمية الملفات باسم وصفي بناءً على محتوى الصورة.

هل لديك ملفات صور في Google Drive بأسماء عامة مثل IMG_123456.jpg أو Screenshot.png التي لا تقدم أي سياق حول موضوع الصورة؟ ألن يكون رائعًا لو كان لديك مساعد يمكنه النظر إلى هذه الصور واقتراح أسماء ملفات وصفية للصور تلقائيًا؟


إعادة تسمية الملفات في Google Drive باستخدام الذكاء الاصطناعي

حسنًا، يمكنك استخدام Gemini AI من Google وGoogle Apps Script لإعادة تسمية ملفاتك تلقائيًا في Google Drive بشكل مجمّع باستخدام اسم وصفي يعتمد على محتوى الصورة.

يستخدم المثال التالي Gemini AI من Google ولكن يمكن تكييف الخطوات بسهولة مع OpenAI’s GPT-4 Vision أو نماذج الذكاء الاصطناعي الأخرى.

للبدء، افتح script.new لإنشاء برنامج Google Script جديد ونسخ ولصق مقتطفات التعليمات البرمجية التالية في المحرر. قد ترغب أيضًا في تمكين Advanced Drive API من محرر Google Script ضمن قائمة الموارد.

1. احصل على قائمة الملفات الموجودة في مجلد

الخطوة الأولى هي الحصول على قائمة الملفات الموجودة في المجلد. سوف نستخدم Drive.Files.list طريقة للحصول على قائمة الملفات في مجلد. يحتوي استعلام البحث على mimeType لتصفية النتائج وإرجاع ملفات Drive التي هي تنسيقات صور يدعمها Google Gemini AI فقط.

const getFilesInFolder = (folderId) => {
  const mimeTypes = ['image/png', 'image/jpeg', 'image/webp'];
  const { files = [] } = Drive.Files.list({
    q: `'${folderId}' in parents and (${mimeTypes.map((type) => `mimeType='${type}'`).join(' or ')})`,
    fields: 'files(id,thumbnailLink,mimeType)',
    pageSize: 10,
  });
  return files;
};

2. احصل على الصورة المصغرة للملف باسم Base64

الملفات التي تم إرجاعها بواسطة Drive.Files.list تحتوي الطريقة على thumbnailLink الخاصية التي تشير إلى الصورة المصغرة للملف. سوف نستخدم خدمة UrlFetchApp لجلب الصورة المصغرة وتحويلها إلى سلسلة مشفرة Base64.

const getFileAsBase64 = (thumbnailLink) => {
  const blob = UrlFetchApp.fetch(thumbnailLink).getBlob();
  const base64 = Utilities.base64Encode(blob.getBytes());
  return base64;
};

3. احصل على اسم الملف المقترح من Google Gemini AI

سنستخدم Google Gemini API لتحليل المحتوى المرئي للصورة واقتراح اسم ملف وصفي للصورة. تبدو المطالبة النصية لدينا كما يلي:

تحليل محتوى الصورة واقتراح اسم ملف وصفي موجز في 5-15 كلمة دون تقديم أي شرح أو نص إضافي. استخدم المسافات لأسماء الملفات بدلاً من الشرطة السفلية.

ستحتاج إلى مفتاح API الذي يمكنك إنشاؤه من Google AI Studio.

const getSuggestedFilename = (base64, fileMimeType) => {
  try {
    const text = `Analyze the image content and propose a concise, descriptive filename in 5-15 words without providing any explanation or additional text. Use spaces instead of underscores.`;
    const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent?key=${GEMINI_API_KEY}`;

    const inlineData = {
      mimeType: fileMimeType,
      data: base64,
    };

    
    const response = UrlFetchApp.fetch(apiUrl, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      payload: JSON.stringify({
        contents: [{ parts: [{ inlineData }, { text }] }],
      }),
    });

    
    const data = JSON.parse(response);
    return data.candidates[0].content.parts[0].text.trim();
  } catch (f) {
    return null;
  }
};

4. إعادة تسمية الملفات تلقائيًا في Google Drive

الخطوة الأخيرة هي تجميع كل القطع معًا. سنحصل على قائمة الملفات الموجودة في مجلد، ونحضر الصورة المصغرة لكل ملف، ونحلل محتوى الصورة باستخدام Google Gemini AI، ونعيد تسمية الملف في Google Drive باسم الملف المقترح.

const renameFilesInGoogleDrive = () => {
  const folderId = 'Put your folder ID here';
  const files = getFilesInFolder(folderId);
  files.forEach((file) => {
    const { id, thumbnailLink, mimeType } = file;
    const base64 = getFileAsBase64(thumbnailLink);
    const name = getSuggestedFilename(base64, mimeType);
    Drive.Files.update({ name }, id);
  });
};

تحتوي برامج Google النصية على حد زمني للتنفيذ مدته 6 دقائق، ولكن يمكنك إعداد مشغل محرك زمني بحيث يتم تشغيل البرنامج النصي تلقائيًا في فترة زمنية محددة (على سبيل المثال، كل 10 دقائق). يمكنك أيضًا توسيع البرنامج النصي لنقل الملفات إلى مجلد مختلف بعد إعادة تسميتها حتى لا تتم معالجتها مرة أخرى.


إعادة تسمية الملفات في Google Drive

كود المصدر الكامل متاح على جيثب



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى