Konektor OpenAI
Propojte OpenAI s Brevo přes Tajo pro využití generování obsahu s pomocí AI, analýzy sentimentu zákazníků, inteligentní segmentace a prediktivní analytiky ve vašich pracovních tocích marketingové automatizace.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | OpenAI |
| Kategorie | AI / ML (Vlastní) |
| Složitost nastavení | Střední |
| Oficiální integrace | Ne |
| Synchronizovaná data | Obsah, Embeddingy, Poznatky, Předpovědi |
| Metoda ověření | API klíč (Bearer Token) |
Funkce
- Generování obsahu AI – Generujte předměty e-mailů, text těla a CTA s modely GPT
- Analýza sentimentu zákazníků – Analyzujte supportní tikety a zpětnou vazbu pro skórování sentimentu
- Chytrá segmentace – Používejte embeddingy pro shlukování zákazníků podle vzorců chování
- Prediktivní analytika – Předpovídejte odchod, LTV a sklon k nákupu
- Vícejazyčný obsah – Generujte marketingový obsah v libovolném podporovaném jazyce
- Generování obrázků – Vytvářejte vizuály kampaní s integrací DALL-E
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet OpenAI s přístupem k API
- API klíč z řídicího panelu OpenAI
- Účet Brevo s přístupem k API
- Účet Tajo s oprávněními ke konektoru
- Dostatečné kredity OpenAI API pro vaše očekávané využití
Ověření
Ověření API klíčem
OpenAI používá ověřování Bearer tokenem pro všechny požadavky API:
# Nastavte své API klíčeexport OPENAI_API_KEY=sk-your-api-keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_key// Všechny požadavky vyžadují hlavičku Authorizationconst headers = { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`, 'Content-Type': 'application/json'};
// Pro přístup s rozsahem organizaceconst orgHeaders = { ...headers, 'OpenAI-Organization': process.env.OPENAI_ORG_ID, 'OpenAI-Project': process.env.OPENAI_PROJECT_ID};Bezpečnost API klíče
Nikdy nezveřejňujte svůj API klíč OpenAI v klientském kódu. Vždy používejte proměnné prostředí a požadavky na straně serveru. Pravidelně rotujte klíče přes řídicí panel OpenAI.
Konfigurace
Základní nastavení
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Šablony pro generování obsahu
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.7Koncové body API
| Koncový bod | Metoda | Popis |
|---|---|---|
https://api.openai.com/v1/responses | POST | Vytvoření AI odpovědí (Responses API) |
https://api.openai.com/v1/chat/completions | POST | Generování textových doplnění |
https://api.openai.com/v1/embeddings | POST | Vytvoření textových embeddingů |
https://api.openai.com/v1/images/generations | POST | Generování obrázků |
https://api.openai.com/v1/audio/speech | POST | Generování hlasu z textu |
https://api.openai.com/v1/audio/transcriptions | POST | Přepis hlasu na text |
https://api.openai.com/v1/moderations | POST | Moderování obsahu |
https://api.openai.com/v1/models | GET | Výpis dostupných modelů |
Příklady kódu
Inicializace konektoru
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'});Generování e-mailového obsahu
// Generování personalizovaných předmětů e-mailů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;Analýza sentimentu zákazníků
// Analýza sentimentu zpětné vazby zákazníkaconst 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 }});Chytrá segmentace s embeddingy
// Generování embeddingů pro shlukování zákazníků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();// Použijte embeddingy pro shlukování zákazníků na základě podobnostiOmezení rychlosti
| Model | RPM (Požadavků/min) | TPM (Tokenů/min) | RPD (Požadavků/den) |
|---|---|---|---|
| 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 | N/A | 200 |
Hlavičky limitu rychlosti
Monitorujte hlavičky limitu rychlosti (x-ratelimit-remaining-requests, x-ratelimit-remaining-tokens) v odpovědích API pro implementaci proaktivního omezování a prevenci chyb 429.
Řešení problémů
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný API klíč | Ověřte klíč v řídicím panelu OpenAI |
| 429 Rate Limited | Příliš mnoho požadavků | Implementujte exponenciální zpětné odběrání |
| 500 Server Error | Výpadek OpenAI | Zkontrolujte status.openai.com a zkuste znovu |
| Zkrácená odpověď | Příliš nízké max_tokens | Zvyšte parametr max_tokens |
| Nízká kvalita obsahu | Příliš vysoká teplota | Snižte teplotu pro konzistentnost |
Režim ladění
connectors: openai: debug: true log_level: verbose log_prompts: false # Nezaznamenávejte prompty v produkci log_usage: trueOsvědčené postupy
- Ukládejte odpovědi do mezipaměti – Ukládejte generovaný obsah pro snížení volání API a nákladů
- Používejte strukturované výstupy – Požadujte JSON odpovědi pro spolehlivou analýzu
- Implementujte logiku opakování – Zpracovávejte limity rychlosti s exponenciálním zpětným odběráním
- Monitorujte využití tokenů – Sledujte spotřebu pro kontrolu nákladů
- Používejte vhodné modely – Používejte gpt-4o-mini pro jednoduché úkoly, gpt-4o pro složité
- Ověřujte výstupy – Vždy ověřujte obsah generovaný AI před odesláním zákazníkům
Zabezpečení
- Ověření Bearer tokenem – API klíče přenášené přes hlavičku Authorization
- Pouze na straně serveru – Nikdy nezveřejňujte API klíče v klientském kódu
- Rotace klíčů – Pravidelně rotujte API klíče přes řídicí panel OpenAI
- Monitorování využití – Nastavte limity výdajů v nastavení fakturace OpenAI
- Moderování obsahu – Používejte Moderations API pro filtrování nevhodného obsahu
- Soukromí dat – Zkontrolujte zásady využití dat OpenAI pro váš případ použití