OpenAI Connector

เชื่อมต่อ OpenAI กับ Brevo ผ่าน Tajo เพื่อใช้ประโยชน์จากการสร้างเนื้อหาด้วย AI การวิเคราะห์ความรู้สึกของลูกค้า การแบ่งกลุ่มอัจฉริยะ และ predictive analytics สำหรับเวิร์กโฟลว์ระบบอัตโนมัติทางการตลาด

ภาพรวม

คุณสมบัติค่า
แพลตฟอร์มOpenAI
หมวดหมู่AI / ML (แบบกำหนดเอง)
ความซับซ้อนในการตั้งค่าปานกลาง
การผสานรวมอย่างเป็นทางการไม่
ข้อมูลที่ซิงค์เนื้อหา Embeddings ข้อมูลเชิงลึก การคาดการณ์
วิธีการยืนยันตัวตนAPI Key (Bearer Token)

ฟีเจอร์

  • การสร้างเนื้อหาด้วย AI - สร้างหัวเรื่องอีเมล เนื้อหา และ CTAs ด้วยโมเดล GPT
  • การวิเคราะห์ความรู้สึกของลูกค้า - วิเคราะห์ตั๋วสนับสนุนและข้อเสนอแนะเพื่อให้คะแนนความรู้สึก
  • การแบ่งกลุ่มอัจฉริยะ - ใช้ embeddings เพื่อจัดกลุ่มลูกค้าตามรูปแบบพฤติกรรม
  • Predictive analytics - คาดการณ์ churn, LTV และแนวโน้มการซื้อ
  • เนื้อหาหลายภาษา - สร้างเนื้อหาการตลาดในภาษาที่รองรับใดๆ
  • การสร้างรูปภาพ - สร้างภาพสำหรับแคมเปญด้วยการผสานรวม DALL-E

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

  1. บัญชี OpenAI ที่มีสิทธิ์เข้าถึง API
  2. API key จาก OpenAI dashboard
  3. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
  4. บัญชี Tajo ที่มีสิทธิ์ connector
  5. เครดิต OpenAI API เพียงพอสำหรับการใช้งานที่คาดไว้

การยืนยันตัวตน

การยืนยันตัวตนด้วย API Key

OpenAI ใช้การยืนยันตัวตน Bearer token สำหรับคำขอ API ทั้งหมด:

Terminal window
# Set your API keys
export OPENAI_API_KEY=sk-your-api-key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
// All requests require the Authorization header
const headers = {
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
'Content-Type': 'application/json'
};
// For organization-scoped access
const orgHeaders = {
...headers,
'OpenAI-Organization': process.env.OPENAI_ORG_ID,
'OpenAI-Project': process.env.OPENAI_PROJECT_ID
};

ความปลอดภัย API Key

อย่าเปิดเผย OpenAI API key ในโค้ดฝั่ง client ใช้ตัวแปรสภาพแวดล้อมและคำขอฝั่งเซิร์ฟเวอร์เสมอ หมุนเวียน keys เป็นระยะผ่าน OpenAI dashboard

การกำหนดค่า

การตั้งค่าพื้นฐาน

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

API Endpoints

Endpointเมธอดคำอธิบาย
https://api.openai.com/v1/responsesPOSTสร้างการตอบสนอง AI (Responses API)
https://api.openai.com/v1/chat/completionsPOSTสร้าง text completions
https://api.openai.com/v1/embeddingsPOSTสร้าง text embeddings
https://api.openai.com/v1/images/generationsPOSTสร้างรูปภาพ
https://api.openai.com/v1/audio/speechPOSTการสร้างเสียงจากข้อความ
https://api.openai.com/v1/audio/transcriptionsPOSTการถอดเสียงเป็นข้อความ
https://api.openai.com/v1/moderationsPOSTการกลั่นกรองเนื้อหา
https://api.openai.com/v1/modelsGETแสดงรายการโมเดลที่มีอยู่

ตัวอย่างโค้ด

เริ่มต้น Connector

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'
});

สร้างเนื้อหาอีเมล

// Generate personalized email subject lines
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;

การวิเคราะห์ความรู้สึกของลูกค้า

// Analyze customer feedback sentiment
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 }
});

การแบ่งกลุ่มอัจฉริยะด้วย Embeddings

// Generate embeddings for customer clustering
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();
// Use embeddings for similarity-based customer clustering

ขีดจำกัดอัตรา

โมเดลRPM (คำขอ/นาที)TPM (Tokens/นาที)RPD (คำขอ/วัน)
gpt-4o50030,00010,000
gpt-4o-mini500200,00010,000
text-embedding-3-small5001,000,00010,000
dall-e-35N/A200

Rate Limit Headers

ตรวจสอบ headers ขีดจำกัดอัตรา (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) ในการตอบสนอง API เพื่อใช้การควบคุมเชิงรุกและหลีกเลี่ยงข้อผิดพลาด 429

การแก้ไขปัญหา

ปัญหาสาเหตุวิธีแก้
401 UnauthorizedAPI key ไม่ถูกต้องตรวจสอบ key ใน OpenAI dashboard
429 Rate Limitedคำขอมากเกินไปใช้ exponential backoff
500 Server ErrorOpenAI หยุดทำงานตรวจสอบ status.openai.com และลองใหม่
การตอบสนองถูกตัดmax_tokens ต่ำเกินไปเพิ่มพารามิเตอร์ max_tokens
คุณภาพเนื้อหาไม่ดีTemperature สูงเกินไปลด temperature เพื่อความสม่ำเสมอ

โหมด Debug

connectors:
openai:
debug: true
log_level: verbose
log_prompts: false # Don't log prompts in production
log_usage: true

แนวทางปฏิบัติที่ดีที่สุด

  1. Cache การตอบสนอง - จัดเก็บเนื้อหาที่สร้างขึ้นเพื่อลดการเรียก API และค่าใช้จ่าย
  2. ใช้ structured outputs - ขอการตอบสนอง JSON เพื่อการ parsing ที่เชื่อถือได้
  3. ใช้ retry logic - จัดการขีดจำกัดอัตราด้วย exponential backoff
  4. ตรวจสอบการใช้งาน token - ติดตามการบริโภคเพื่อควบคุมค่าใช้จ่าย
  5. ใช้โมเดลที่เหมาะสม - ใช้ gpt-4o-mini สำหรับงานง่ายๆ gpt-4o สำหรับงานที่ซับซ้อน
  6. ตรวจสอบ outputs - ตรวจสอบเนื้อหาที่สร้างโดย AI เสมอก่อนส่งให้ลูกค้า

ความปลอดภัย

  • การยืนยันตัวตน bearer token - API keys ส่งผ่าน Authorization header
  • ฝั่งเซิร์ฟเวอร์เท่านั้น - อย่าเปิดเผย API keys ในโค้ดฝั่ง client
  • การหมุนเวียน key - หมุนเวียน API keys เป็นระยะผ่าน OpenAI dashboard
  • การตรวจสอบการใช้งาน - ตั้งขีดจำกัดการใช้จ่ายในการตั้งค่าการเรียกเก็บเงิน OpenAI
  • การกลั่นกรองเนื้อหา - ใช้ Moderations API เพื่อกรองเนื้อหาที่ไม่ปลอดภัย
  • ความเป็นส่วนตัวของข้อมูล - ตรวจสอบนโยบายการใช้ข้อมูลของ OpenAI สำหรับกรณีใช้งานของคุณ

แหล่งข้อมูลที่เกี่ยวข้อง

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย