طبقه بندی ایمیل LLM در Databricks


نویسنده (ها): گابریل آلبینی

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

طبقه بندی ایمیل LLM در Databricks

مقدمه

از زمان معرفی توابع AI در Databricks ، LLMS (مدل های بزرگ زبان) می تواند به راحتی در هر گردش کار داده ادغام شود: تحلیلگران و کاربران تجاری که ممکن است پایتون را نشناخته باشند یا مولکول/زیرساخت های هوش مصنوعی می توانند وظایف پیشرفته AI را مستقیماً از نمایش داده های SQL انجام دهند.

توصیه می کنم این عالی را تماشا کنید ویدئو نمای کلی برای معرفی این ویژگی درخشان.

در این مقاله نحوه اجرای یک طبقه بندی ایمیل مورد بحث قرار خواهد گرفت: فرض کنید مشتریان برای درخواست عدم اشتراک از طریق بازاریابی یا ایمیل های تجاری به صندوق پستی شرکت ما می نویسند. بدون هیچ تاریخی مجموعه داده ها، ما می خواهیم بررسی صندوق پستی و طبقه بندی قصد مشتری بر اساس بدنه ایمیل را انجام دهیم.

  • پیوند به مخزن Git Hub

فهرست مطالب:

قسمت 1: عملکردهای AI

بیایید استفاده کنیم ai_query ()، بخشی از توابع AI Databricks ، برای طبقه بندی ایمیل.

فرض کنید زمینه های زیر را در دسترس داریم:

مجموعه داده

به منظور استفاده از AI_QUERY () در ستون “email_body” ما ، ما از آرگومان های زیر استفاده خواهیم کرد:

  • نقطه پایانی: نام نقطه پایانی مدل که ما قصد استفاده از آن را داریم (Llama3.3 در این مثال) (بررسی کنید در اینجا نحوه ایجاد نقطه پایان مدل خود در Databricks ، انتخاب یکی از مدلهای پایه پشتیبانی شده).
  • درخواست: سریع ، که شامل “email_body” است
  • پارامترهای مدل: پارامترهای اضافی که می توانیم به LLM منتقل کنیم. در این مثال ، ما نشانه خروجی را به 1 محدود می کنیم و دمای بسیار کمی را برای محدود کردن تصادفی و خلاقیت خروجی تولید شده مدل انتخاب می کنیم.

الگوی سریع مورد استفاده در این مثال بر اساس تحقیقات انجام شده است سی و همکاران. (2024)، که طراحی و آزمایش کرده است الگوی سریع چند عکس برای تشخیص اسپم ایمیل ، که به شرح زیر است:

prompt_ = """

Forget all your previous instructions, pretend you are an e-mail
classification expert who tries to identify whether an e-mail is requesting
to be removed from a marketing distribution list.
Answer "Remove" if the mail is requesting to be removed, "Keep" if not.
Do not add any other detail.
If you think it is too difficult to judge, you can exclude the impossible
one and choose the other, just answer "Remove" or "Keep".

Here are a few examples for you:
* "I wish to no longer receive emails" is "Remove";
* "Remove me from any kind of subscriptions" is "Remove";
* "I want to update my delivery address" is "Keep";
* "When is my product warranty expiring?" is "Keep";

Now, identify whether the e-mail is "Remove" or "Keep";
e-mail:

"""

در نهایت می توانیم تمام عناصر مشاهده شده در بالا را در یک پرس و جو SQL با هم ترکیب کنیم ، در حال اجرا است استنباط دسته در تمام ایمیل ها ، و تولید برچسب ها:

select *,
ai_query(
'databricks-meta-llama-3-3-70b-instruct',
"${prompt}" || Email_body,
modelParameters => named_struct('max_tokens', 1, 'temperature', 0.1)
) as Predicted_Label
from customer_emails;
مجموعه داده های آزمایش شده با برچسب های تولید شده

قسمت 2: دسترسی به API های Gmail

ما به روشی برای مصرف خودکار ایمیل برای اجرای این مورد استفاده نیاز خواهیم داشت. در اینجا یک راهنمای گام به گام در مورد نحوه استفاده از API های Gmail آورده شده است.

1.1: حساب Gmail خود را برای کار با API پیکربندی کنید

رویکرد توصیه شده برای فعال کردن API های Google در حساب شما استفاده از آن است حساب های خدماتیبشر این روند شرح داده شده است در اینجا؛ با این حال ، نیاز دارد:

  • یک حساب شرکتی (با پایان دادن به gmail.com).
  • دسترسی به عنوان مدیر فوق العاده دامنه فضای کاری Google برای تفویض اختیار دامنه به حساب خدمات.

برای این نسخه ی نمایشی ، ما از یک حساب Gmail Dummy استفاده می کنیم. از این رو ، ما یک رویکرد دستی تر را برای تأیید اعتبار به Gmail دنبال خواهیم کرد. در اینجابشر

اولین مراحل برای هر دو رویکرد یکسان است ، بنابراین می توانید در ادامه پیگیری کنید ، اما برای خودکار سازی کامل دسترسی به Gmail از طریق API ، به یک حساب خدمات نیاز دارید.

اول ، ما باید ایجاد کنیم طرح:

  • ورود به کنسول گوگلبشر
  • برای این مورد استفاده یک پروژه جدید ایجاد کنید.
  • API Gmail را برای پروژه خود با استفاده از این کار فعال کنید پیوندبشر
فعال کردن API در پروژه خود

دوم ، پیکربندی کنید صفحه رضایت OAUTH:

  • در پروژه خود ، به “API & Services”> “صفحه رضایت OAuth” بروید.
  • به بخش “مارک تجاری” بروید و برای ایجاد هویت برنامه خود روی Get Started کلیک کنید.
  • در مرحله بعد ، ما باید با استفاده از این یک برنامه وب OAUTH 2.0 شناسه مشتری ایجاد کنیم پیوندبشر
  • پرونده اعتبارنامه ها را به عنوان JSON بارگیری کنید ، زیرا بعداً به این مورد نیاز خواهیم داشت.
  • URI تغییر مسیر مجاز زیر را اضافه کنید:
ایجاد صفحه رضایت OAUTH

سرانجام ، به کاربران اجازه می دهد تا تأیید و انتشار برنامه را تأیید کنند:

  • در پروژه خود ، به “API & Services”> “صفحه رضایت OAuth” بروید.
  • به بخش “مخاطب” بروید و تمام کاربران آزمایشی را که روی این پروژه کار می کنند اضافه کنید تا بتوانند تأیید اعتبار کنند.
  • برای اطمینان از انقضاء دسترسی ، با انتقال وضعیت خود به تولید ، برنامه را منتشر کنید.

1.2 به صندوق پستی Gmail از نوت بوک های Databricks دسترسی پیدا کنید

برای تأیید اعتبار به Gmail از یک نوت بوک Databricks ، می توانیم از عملکرد زیر که در repo اجرا شده است استفاده کنیم. عملکرد نیاز دارد:

  • برای دسترسی بار اول ، پرونده JSON اعتبار ، که می تواند در یک جلد ذخیره شود.
  • برای دسترسی به آینده ، اعتبارنامه های فعال در یک پرونده توکن ذخیره می شوند که مورد استفاده مجدد قرار می گیرد.
gmail_authenticate_manual()

از آنجا که ما از حساب های سرویس استفاده نمی کنیم ، احراز هویت Google Cloud نیاز به باز کردن مرورگر به صفحه OAuth و تولید یک کد موقت دارد.

با این حال ، ما برای انجام این کار در Databricks به یک راه حل نیاز خواهیم داشت ، زیرا خوشه ها به مرورگر دسترسی ندارند.

به عنوان بخشی از این راهپیمایی ، ما عملکرد زیر را اجرا کردیم که به کاربر پیشنهاد می کند URL را از یک مرورگر محلی باز کند ، با تأیید اعتبار خود ادامه دهد و سپس در یک صفحه خطا قرار بگیرد.

ما می توانیم کد مورد نیاز برای تأیید اعتبار به API Google را از URL تولید شده این صفحه خطا بازیابی کنیم:

توجه: با حساب های خدمات ، این مرحله دستی لازم نخواهد بود.

پس از تأیید اعتبار ، می توانیم با استفاده از عملکرد زیر ایمیل های Gmail را بخوانیم ، اطلاعات ایمیل را در یک جرقه ذخیره کنید قاب داده، و در نهایت به یک جدول دلتا:

# Build Gmail API service and download emails
service_ = build('gmail', 'v1', credentials = access_)
emails = get_email_messages_since(service_, since_day=25, since_month=3, since_year = 2025)

if emails:
spark_emails = spark.createDataFrame(emails)
display(spark_emails)
else:
spark_emails = None
print("No emails found.")

بارگیری ایمیل از Gmail

نتیجه گیری

به طور خلاصه ، این پست:

  • نشان داد که تنظیم توابع AI و اهرم LLM برای خودکار سازی گردش کار در سراسر سازمان ، چقدر ساده است.
  • ما یک الگوی سریع عملی را به اشتراک گذاشتیم که برای طبقه بندی ایمیل مؤثر با استفاده از یادگیری چند شات طراحی شده است.
  • ما از طریق ادغام API های Gmail مستقیماً در نوت بوک های Databricks قدم زدیم.

آماده است تا فرآیندهای خود را ساده کنید؟

عکس توسط یوهانس پلن در بی تظاهر کردن

از خواندن شما متشکرم!

منابع

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/l/llm-powered-email-classification-on-databricks