עוזר AI לתמיכה: שילוב RAG באתר שלך

שאלות תמיכה שגרתיות גוזלות שעות רבות, בעוד הלקוחות מצפים לתשובות מיידיות. אנחנו בונים עוזרי AI מבוססי RAG שמתחברים למאגר הידע שלכם ומספקים תשובות מותאמות אישית ללא תבניות. הצוות שלנו מספק פרויקטים סוהריים—מהקמת מסד נתונים וקטורי ועד אימון מודלים—תוך הבטחת ביצועים יציבים ותמיכה מתמשכת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
עוזר AI לתמיכה: שילוב RAG באתר שלך
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1501
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1306
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

עוזר AI לתמיכה: שילוב RAG באתר שלך

שאלות תמיכה חוזרות ונשנות מבזבזות שעות של זמן. עוזר RAG מטפל ב-80% מהשאילתות, ומשאיר רק מקרים מורכבים לנציגים. אנו בונים עוזרי AI לאתרים — לא צ'אטבוט טיפוסי, אלא מערכת חכמה המבוססת על RAG (יצירה מוגברת שליפה). היא מתחברת למאגר הידע שלך, לתיעוד ול-CRM. כשמשתמש כותב "למה הייצוא לא עובד?", העוזר מוצא את התשובה במרכז העזרה שלך תוך שניות, בודק את התעריף והסטטוס של המשתמש, ונותן תשובה מותאמת אישית. אין תבניות. אין אובדן הקשר.

הדיוק של פתרונות כאלה מגיע ל-95% — פי 3 גבוה יותר מצ'אטבוטים מבוססי כללים. עוזר RAG מעבד פי 4 יותר בקשות בשעה, ומשחרר נציגים למצבים לא סטנדרטיים. אנו מפחיתים את עומס התמיכה ב-40%, וחוסכים חלק משמעותי מהתקציב השנתי שלך. אנו לוקחים את הפרויקט במפתח מלא: מהקמת מסד נתונים וקטורי ועד כוונון עדין של המודל. המהנדסים שלנו מוסמכים ב-OpenAI וב-AWS, עם למעלה מ-50 התקנות.

כיצד RAG משפר את דיוק התשובות

RAG היא גישה שבה מודל השפה אינו זוכר את המוצר שלך אלא שולף קטעי תיעוד רלוונטיים לכל שאלה. זה פותר בעיות של הזיות ומיושנות ידע.

תהליך:

  1. שאלת המשתמש מומרת ל-embedding (וקטור) באמצעות OpenAI או מודל מקומי.
  2. הווקטור מחפש קטעים דומים במסד הנתונים הווקטורי (Qdrant, Pinecone, Weaviate, pgvector).
  3. LLM (GPT-4o-mini, Claude 3.5 Haiku) מקבל שאלה + הקשר מהתיעוד.
  4. מייצר תשובה עם הפניות למקורות.

גישה זו משיגה עד 95% דיוק בשאלות טיפוסיות — פי 3 גבוה יותר מצ'אטבוט מבוסס כללים. לפי תיעוד OpenAI, text-embedding-3-small מספק את התוצאות הטובות ביותר בגודל וקטור קטן.

למה עוזר RAG מנצח צ'אטבוט טיפוסי

צ'אטבוטים טיפוסיים מסתמכים על סקריפטים נוקשים: אם השאלה לא תואמת תבנית, המשתמש מקבל תשובה לא רלוונטית או תפריט אינסופי. עוזר RAG מבין הקשר, מחפש בתיעוד בזמן אמת, ומתאים אישית את התשובה למשתמש. אוטומציה של תמיכה עם RAG מפחיתה את זמן התגובה הממוצע ב-60%. בנוסף, RAG פותר מיושנות ידע: פשוט עדכן את מאגר הידע, והעוזר משתמש מיד בנתונים חדשים.

מה כלול בשילוב במפתח מלא

רכיב תיאור
פיתוח צינור RAG אינדוקס תיעוד, חיפוש וקטורי, יצירת תשובות
התאמה אישית החלפת נתוני משתמש: תעריף, היסטוריית כרטיסים, סטטוס
הסלמה לנציג יצירת כרטיס אוטומטית בביטחון נמוך או לפי בקשת אדם
אנליטיקה רישום שיחות, דירוג שימושיות, 20 השאלות המובילות ללא מענה
תיעוד והדרכה הוראות לעדכון מאגר הידע, לוח מחוונים אנליטי

אנו מבטיחים פעולה יציבה בעומס של עד 10,000 בקשות ביום.

כיצד אנו מגדירים מסד נתונים וקטורי ואינדוקס

import OpenAI from 'openai';
import { QdrantClient } from '@qdrant/js-client-rest';

const openai = new OpenAI();
const qdrant = new QdrantClient({ url: 'http://localhost:6333' });

// Подготовка коллекции
await qdrant.createCollection('support-docs', {
  vectors: {
    size: 1536,
    distance: 'Cosine',
  },
});

// Индексирование статей
async function indexArticle(article) {
  // Разбиваем на чанки по 500 токенов с перекрытием 100
  const chunks = splitIntoChunks(article.content, { size: 500, overlap: 100 });
  const embeddings = await openai.embeddings.create({
    model: 'text-embedding-3-small',
    input: chunks.map(c => c.text),
  });
  const points = chunks.map((chunk, i) => ({
    id: generateId(),
    vector: embeddings.data[i].embedding,
    payload: {
      text: chunk.text,
      articleId: article.id,
      articleTitle: article.title,
      category: article.category,
      url: article.url,
    },
  }));
  await qdrant.upsert('support-docs', { points });
}

יצירת תשובות עם הקשר משתמש

async function answerQuestion(userId, question) {
  // Контекст пользователя из БД
  const user = await db.users.findById(userId);
  const userContext = `
    Пользователь: ${user.name}
    Тариф: ${user.plan}
    Дата регистрации: ${user.createdAt}
    Последние 3 обращения: ${user.recentTickets.join(', ')}
  `;

  // Векторный поиск
  const queryEmbedding = await openai.embeddings.create({
    model: 'text-embedding-3-small',
    input: question,
  });
  const results = await qdrant.search('support-docs', {
    vector: queryEmbedding.data[0].embedding,
    limit: 4,
    score_threshold: 0.75,
  });
  const context = results.map(r => `[${r.payload.articleTitle}](${r.payload.url})\n${r.payload.text}`
  ).join('\n\n---\n\n');

  // Генерация ответа
  const response = await openai.chat.completions.create({
    model: 'gpt-4o-mini',
    stream: true,
    messages: [
      {
        role: 'system',
        content: `Ты ассистент технической поддержки. Отвечай ТОЛЬКО на основе предоставленной документации. Если ответа нет в документации, скажи это явно и предложи создать тикет. Всегда указывай источник (ссылку на статью). Контекст пользователя: ${userContext}`,
      },
      {
        role: 'user',
        content: `Вопрос: ${question}\n\nРелевантная документация:\n${context}`,
      },
    ],
    max_tokens: 600,
    temperature: 0.2,
  });

  return {
    stream: response,
    sources: results.map(r => ({
      title: r.payload.articleTitle,
      url: r.payload.url
    })),
  };
}

מתי להסלים לנציג אנושי?

אנו מיישמים גלאי הסלמה: על בסיס מילות מפתח ("תלונה", "החזר", "נציג") או ציון ביטחון נמוך (<0.6). לאחר מכן נוצר כרטיס במערכת התמיכה שלך, והמשתמש רואה הודעה על ההעברה. זמן התגובה הממוצע של נציג הוא שעתיים; באמצעות אנליטיקה אנו מפחיתים בקשות לא רלוונטיות ב-40%.

const ESCALATION_TRIGGERS = [
  'хочу поговорить с человеком',
  'оператор',
  'жалоба',
  'возврат денег',
  'удалить аккаунт',
];

function shouldEscalate(message, confidenceScore) {
  const lowerMessage = message.toLowerCase();
  const hasKeyword = ESCALATION_TRIGGERS.some(t => lowerMessage.includes(t));
  const lowConfidence = confidenceScore < 0.6;
  return hasKeyword || lowConfidence;
}

async function handleMessage(userId, message) {
  const { answer, confidence, sources } = await answerQuestion(userId, message);
  if (shouldEscalate(message, confidence)) {
    await createSupportTicket(userId, message);
    return {
      type: 'escalation',
      message: 'Передаю ваш запрос оператору. Среднее время ответа — 2 часа.',
      ticketId: ticket.id,
    };
  }
  await logConversation(userId, message, answer);
  return {
    type: 'answer',
    content: answer,
    sources,
  };
}

עדכון מאגר ידע באמצעות Webhook

// Webhook от CMS при обновлении статьи
app.post('/webhooks/docs-updated', async (req, res) => {
  const { articleId, action } = req.body;
  if (action === 'delete') {
    await qdrant.delete('support-docs', {
      filter: {
        must: [
          {
            key: 'articleId',
            match: { value: articleId },
          },
        ],
      },
    });
  } else {
    const article = await fetchArticle(articleId);
    // Удаляем старые чанки
    await qdrant.delete('support-docs', {
      filter: {
        must: [
          {
            key: 'articleId',
            match: { value: articleId },
          },
        ],
      },
    });
    // Переиндексируем
    await indexArticle(article);
  }
  res.json({ ok: true });
});

אנליטיקת ביצועים

אנו מתעדים את כל השיחות ומבקשים מהמשתמש לדרג את התשובה. דוח שבועי מציג את 20 השאלות המובילות עם תשובות גרועות — ועוזר לשפר את מאגר הידע. שאילתת SQL לדוח:

SELECT question, COUNT(*) as count
FROM support_conversations
WHERE feedback = 'not-helpful'
GROUP BY question
ORDER BY count DESC
LIMIT 20;

אנו מגדירים לוח מחוונים במערכת ה-BI שלך כדי לעקוב אחר מגמות.

שלבי יישום

שלב משך מה אנו עושים
גרסת RAG בסיסית (עד 500 מאמרים) 5–7 ימים אינדוקס, הגדרת חיפוש וקטורי, יצירת תשובות
התאמה אישית 1–2 ימים חיבור CRM, הזרקת הקשר משתמש
העברה לנציג 2–3 ימים שילוב מערכת כרטיסים, טריגרים להסלמה
אנליטיקה ולוח מחוונים 3–4 ימים רישום, דוחות, לוח מחוונים BI

עבור WordPress אנו מכינים תוסף ששולח מאמרים אוטומטית בעת פרסום. עבור Strapi — webhook כפי שמוצג לעיל. אם יש לך CMS מותאם אישית, כל נקודת קצה API עובדת. לוחות הזמנים מותאמים לאחר הערכת המחסן הטכנולוגי שלך ונפח מאגר הידע. התמחור נקבע באופן אישי. כדי לדון בפרויקט שלך, צור קשר. קבל ייעוץ — נראה לך כיצד המערכת מתאימה למחסן הטכנולוגי שלך. הזמן שילוב עכשיו.