موصل OpenAI
اربط OpenAI بـ Brevo من خلال Tajo للاستفادة من توليد المحتوى بالذكاء الاصطناعي، وتحليل مشاعر العملاء، والتقسيم الذكي، والتحليلات التنبؤية لسير عمل أتمتة التسويق الخاص بك.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | OpenAI |
| الفئة | الذكاء الاصطناعي / التعلم الآلي (مخصص) |
| تعقيد الإعداد | متوسط |
| تكامل رسمي | لا |
| البيانات المُزامَنة | محتوى، تضمينات، رؤى، تنبؤات |
| طريقة المصادقة | مفتاح API (Bearer Token) |
الميزات
- توليد المحتوى بالذكاء الاصطناعي - توليد عناوين الرسائل، ونصوص الجسم، وأزرار الحث على الإجراء باستخدام نماذج GPT
- تحليل مشاعر العملاء - تحليل تذاكر الدعم والتعليقات لتقييم المشاعر
- التقسيم الذكي - استخدام التضمينات لتجميع العملاء حسب أنماط السلوك
- التحليلات التنبؤية - التنبؤ بمعدل الفقد، والقيمة الدائمة، واحتمال الشراء
- محتوى متعدد اللغات - توليد محتوى تسويقي بأي لغة مدعومة
- توليد الصور - إنشاء مرئيات الحملات عبر تكامل DALL-E
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- حساب OpenAI مع وصول إلى API
- مفتاح API من لوحة تحكم OpenAI
- حساب Brevo مع وصول إلى API
- حساب Tajo مع صلاحيات الموصلات
- رصيد كافٍ في OpenAI API لاستخدامك المتوقع
المصادقة
مصادقة مفتاح API
يستخدم OpenAI مصادقة Bearer token لجميع طلبات API:
# Set your API keysexport OPENAI_API_KEY=sk-your-api-keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_key// All requests require the Authorization headerconst headers = { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json'};
// For organization-scoped accessconst orgHeaders = { ...headers, 'OpenAI-Organization': process.env.OPENAI_ORG_ID, 'OpenAI-Project': process.env.OPENAI_PROJECT_ID};أمان مفتاح API
لا تكشف أبدًا عن مفتاح OpenAI API الخاص بك في الكود من جانب العميل. استخدم دائمًا متغيرات البيئة والطلبات من جانب الخادم. قم بتدوير المفاتيح دوريًا عبر لوحة تحكم OpenAI.
الإعداد
الإعداد الأساسي
connectors: openai: enabled: true model: "gpt-4o" embedding_model: "text-embedding-3-small" image_model: "dall-e-3"
features: content_generation: true sentiment_analysis: true smart_segmentation: true predictive_analytics: true
limits: max_tokens_per_request: 4096 max_requests_per_minute: 60 temperature: 0.7قوالب توليد المحتوى
templates: email_subject: model: "gpt-4o" system_prompt: | You are an expert email marketer. Generate compelling subject lines that drive open rates. max_tokens: 100 temperature: 0.8
email_body: model: "gpt-4o" system_prompt: | Generate personalized email content based on customer data and campaign objectives. max_tokens: 2048 temperature: 0.7نقاط نهاية واجهة البرمجة
| نقطة النهاية | الطريقة | الوصف |
|---|---|---|
https://api.openai.com/v1/responses | POST | إنشاء استجابات الذكاء الاصطناعي (Responses API) |
https://api.openai.com/v1/chat/completions | POST | توليد إكمالات النصوص |
https://api.openai.com/v1/embeddings | POST | إنشاء تضمينات النصوص |
https://api.openai.com/v1/images/generations | POST | توليد الصور |
https://api.openai.com/v1/audio/speech | POST | توليد النص إلى كلام |
https://api.openai.com/v1/audio/transcriptions | POST | تحويل الكلام إلى نص |
https://api.openai.com/v1/moderations | POST | الإشراف على المحتوى |
https://api.openai.com/v1/models | GET | قائمة النماذج المتاحة |
أمثلة على الكود
تهيئة الموصل
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.connectors.connect('openai', { apiKey: process.env.OPENAI_API_KEY, defaultModel: 'gpt-4o'});توليد محتوى البريد الإلكتروني
// توليد عناوين بريد إلكتروني مخصصةconst response = await fetch('https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-4o', messages: [ { role: 'system', content: 'Generate 5 compelling email subject lines for a product launch.' }, { role: 'user', content: `Product: ${product.name}. Target: ${segment.description}.` } ], max_tokens: 200, temperature: 0.8 })});
const result = await response.json();const subjectLines = result.choices[0].message.content;تحليل مشاعر العملاء
// تحليل مشاعر تعليقات العملاءconst sentimentAnalysis = await fetch( 'https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-4o', messages: [ { role: 'system', content: 'Analyze sentiment. Return JSON: {score: -1 to 1, label: string, topics: string[]}' }, { role: 'user', content: customerFeedback } ], response_format: { type: 'json_object' }, max_tokens: 150 }) });
const sentiment = await sentimentAnalysis.json();await tajo.contacts.update(email, { attributes: { SENTIMENT_SCORE: JSON.parse(sentiment.choices[0].message.content).score }});التقسيم الذكي بالتضمينات
// توليد التضمينات لتجميع العملاءconst embeddingResponse = await fetch( 'https://api.openai.com/v1/embeddings', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'text-embedding-3-small', input: customerDescriptions, dimensions: 256 }) });
const embeddings = await embeddingResponse.json();// استخدام التضمينات لتجميع العملاء القائم على التشابهحدود المعدل
| النموذج | RPM (طلبات/دقيقة) | TPM (رموز/دقيقة) | RPD (طلبات/يوم) |
|---|---|---|---|
| gpt-4o | 500 | 30,000 | 10,000 |
| gpt-4o-mini | 500 | 200,000 | 10,000 |
| text-embedding-3-small | 500 | 1,000,000 | 10,000 |
| dall-e-3 | 5 | لا ينطبق | 200 |
ترويسات حدود المعدل
راقب ترويسات حدود المعدل (x-ratelimit-remaining-requests، x-ratelimit-remaining-tokens) في استجابات API لتطبيق التقييد الاستباقي وتجنب أخطاء 429.
استكشاف الأخطاء وإصلاحها
| المشكلة | السبب | الحل |
|---|---|---|
| 401 Unauthorized | مفتاح API غير صالح | تحقق من المفتاح في لوحة تحكم OpenAI |
| 429 Rate Limited | طلبات كثيرة جدًا | طبّق التراجع الأُسّي |
| 500 Server Error | انقطاع خدمة OpenAI | راجع status.openai.com وأعد المحاولة |
| استجابة مقطوعة | max_tokens منخفض جدًا | زد معامل max_tokens |
| جودة محتوى ضعيفة | temperature مرتفعة جدًا | اخفض temperature للاتساق |
وضع التصحيح
connectors: openai: debug: true log_level: verbose log_prompts: false # Don't log prompts in production log_usage: trueأفضل الممارسات
- تخزين الاستجابات مؤقتًا - خزّن المحتوى المولَّد لتقليل استدعاءات API والتكاليف
- استخدام المخرجات المُنظَّمة - اطلب استجابات JSON للتحليل الموثوق
- تطبيق منطق إعادة المحاولة - تعامل مع حدود المعدل عبر التراجع الأُسّي
- مراقبة استخدام الرموز - تتبع الاستهلاك للتحكم في التكاليف
- استخدام النماذج المناسبة - استخدم gpt-4o-mini للمهام البسيطة، وgpt-4o للمعقدة
- التحقق من المخرجات - تحقق دائمًا من المحتوى المولَّد قبل إرساله للعملاء
الأمان
- مصادقة Bearer token - مفاتيح API تُرسل عبر ترويسة Authorization
- من جانب الخادم فقط - لا تكشف أبدًا عن مفاتيح API في الكود من جانب العميل
- تدوير المفاتيح - دوّر مفاتيح API بانتظام عبر لوحة تحكم OpenAI
- مراقبة الاستخدام - حدد حدود الإنفاق في إعدادات فوترة OpenAI
- الإشراف على المحتوى - استخدم واجهة Moderations API لتصفية المحتوى غير الآمن
- خصوصية البيانات - راجع سياسات استخدام البيانات الخاصة بـ OpenAI لحالة استخدامك