Destek
Destek sorularını kendi dokümantasyonunuzdan yanıtlayın
Bir LiveDoc oluşturun, yardım merkezini ve dahili runbook’u yükleyin, bileti yanıtlayan pasajları alın ve modelin yalnızca bu kanıtlardan yanıtlamasına izin verin.
İstemi kopyalayın
Köşeli parantezli alanları değiştirip Claude Code, Codex veya terminal erişimi olan bir AI’ya yapıştırın. Felo becerisini kurar, kredi harcamadan önce sorar ve iş akışını çalıştırır.
Bu destek sorusunu yalnızca bizim dokümantasyonumuzla yanıtla: [müşteri sorusu]. Bilgi tabanı: [yardım merkezi URL’si veya LiveDoc short_id]. Yükseltme yolu: [sorumlu veya kuyruk]. Kullanılabilir müşteri bağlamı: [plan, bölge, ürün] (asla şifre veya ödeme verisi isteme). Şunları hazırla: 1. İki ila dört cümlelik doğrudan yanıt. 2. Yanıtı destekleyen doküman pasajları, kaynak başlığıyla. 3. Müşteri için sonraki adım. 4. İç not: kullanılan kaynaklar ve alaka puanları. Kurallar: - Yalnızca alınan pasajlardan yanıtla. Sonuç yoksa veya alaka düşükse yükselt; asla tahmin etme. - Politika, iade, fiyat veya hesap işlemi uydurma. - Müşterinin özel verilerini, kimlik bilgilerini veya ödeme bilgilerini dahil etme. - Veri alımı veya getirme için kredi harcamadan önce sor. - Yanıtı müşteriye gönderme; inceleme için bana döndür.
Kopya kurulum adımlarını ve güvenlik kurallarını da içerir.
Ne elde edersiniz
Bir çalıştırmanın örnek çıktısı. Canlı üretim değil.
Yanıt: Planınız her ayın 1’inde yenilenir. Başarısız kart üç gün yeniden denenir, sonra koltuk duraklatılır.
Kaynaklar: “Faturalama SSS” - https://example.com/help/billing
Bu kapsamıyorsa: fatura ID’siyle faturalama kuyruğuna eskalasyon yapın.
Tam çağrılar
Geliştiriciler için: aynı iş akışı kod olarak, yürütme sırasıyla.
Gerçek API çağrılarını göster
Bilgi tabanını oluşturun
LiveDoc API ile tabanı oluşturun ve short_id saklayın.
support.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type LiveDocData = { data: { short_id: string } }; const kb = await felo<LiveDocData>("/v2/livedocs", { name: "Support knowledge base", description: "Help center, policy pages, and internal runbooks", }); const kbId = kb.data.short_id; // save this in your configÖrnek çıktı
{ "short_id": "PvyKouzJirXjFdst4uKRK3", "name": "Support knowledge base", "description": "Help center, policy pages, and internal runbooks" }Kamuya açık yardım merkezini yükleyin
Yardım merkezi URL’sini LiveDoc kaynağı olarak ekleyin.
support.ts type UrlResult = { data: { url: string; status: string; fail_reason: string | null; resource_id: string | null; }[]; }; const added = await felo<UrlResult>( `/v2/livedocs/${kbId}/resources/urls`, { urls: [ "https://example.com/help/getting-started", { url: "https://example.com/help/billing", title: "Billing FAQ" }, ], }, ); const failed = added.data.filter((item) => item.status === "failed");Örnek çıktı
[ { "url": "https://example.com/help/getting-started", "status": "success", "resource_id": "res_003" }, { "url": "https://example.com/help/billing", "status": "existed", "resource_id": "res_004" } ]Dahili dokümantasyonu ekleyin
Dahili runbook’u belge olarak ekleyin.
support.ts type ResourceData = { data: { id: string } }; const runbook = `# Refund policy Refunds are available within 30 days of purchase. Requests after 30 days need a manual review by the billing team. `; const policy = await felo<ResourceData>( `/v2/livedocs/${kbId}/resources/doc`, { title: "Refund policy", content: runbook }, ); console.log(policy.data.id); // use this for updatesSoru için kanıtları alın
Anlamsal arama en ilgili pasajları ve puanları döndürür.
support.ts type Hit = { id: string; title: string; content: string; score: number }; async function findEvidence(question: string) { const res = await felo<{ data: Hit[] }>( `/v2/livedocs/${kbId}/resources/retrieve`, { query: question }, ); return res.data.filter((hit) => hit.score >= 0.7).slice(0, 4); } const question = "Can I get a refund after 45 days?"; const hits = await findEvidence(question);Örnek çıktı
[ { "id": "res_005", "title": "Refund policy", "content": "Refunds are available within 30 days of purchase…", "score": 0.92 } ]Yalnızca kanıtlardan yanıtlayın
Modelin yalnızca alınan pasajları kullanmasını sağlayın ve sonuç yoksa eskale edin.
support.ts type Completion = { choices: { message: { content: string | null } }[]; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number }; }; const context = hits .map((hit) => `### ${hit.title}\n${hit.content}`) .join("\n\n"); const completion = await felo<Completion>("/api/v1/chat/completions", { model: "anthropic/claude-haiku-5.5", messages: [ { role: "system", content: "Answer only from the context. If the context does not cover the question, say so and hand the ticket to a human.", }, { role: "user", content: `Context:\n${context}\n\nQuestion: ${question}`, }, ], }); console.log(completion.choices[0].message.content); console.log(completion.usage.total_tokens);Örnek çıktı
"No. The Refund policy says refunds are available within 30 days of purchase, so a request at 45 days needs a manual review by the billing team."
Neler dahil
- Yardım merkezi ve dahili runbook içeren LiveDoc
- Pasaj ve başlıklarla anlamsal arama
- Alıntılanabilir kaynaklarla yanıt
- Kapsam eksikse net eskalasyon
Neleri yapmaz
- Yalnızca dokümantasyonunuzdan yanıtlar ve açık web’de gezinmez
- Hesap işlemleri, iadeler veya plan değişiklikleri yapmaz
- Tabanında özel müşteri verisi veya kimlik bilgisi olmaz
- Eski dokümantasyon eski yanıt üretir; güncel tutun
- Yalnızca yanıt taslağı, müşteriye göndermez
Sorular
Yanıt nereden?
Yalnızca LiveDoc’unuzdan: yardım merkezi sayfaları ve runbook. Arama pasajları döndürür, ajan onlardan yazar.
Dokümantasyon kapsamazsa?
Eskalasyon. Sonuç yok veya düşük alaka kapsanmamış sayılır, tahmin izni değil.
Tabanı güncel nasıl tutarım?
Politika değişince URL’leri yeniden ekleyin ve belgeleri güncelleyin; iş akışında güncelleme ve denetim komutları var.
Bilet kuyruğunda kullanılabilir mi?
Evet, taslak adımı olarak. Müşteriye göndermeden önce insan onayı tutun.
Hesaba özel soruları işler mi?
Yalnızca dokümantasyonla hayır. Hesap verisi sisteminizde; yalnızca gereken güvenli bağlamı verin, asla kimlik bilgisi vermeyin.
Bir çalıştırmanın maliyeti nedir?
Alım ve arama kullanıma göre faturalanır; güncel tarifeler fiyat sayfasında ve istem harcamadan önce onay ister.
İlgili iş akışları
Tek bir soruyu kaynaklı araştırma brifine dönüştürün
Web’e sorun, yanıtın arkasındaki sayfaları Markdown olarak kaydedin, X’te uygulayıcıların söylediklerini ekleyin ve kanıtları daha sonra tekrar aranabilen bir LiveDoc’ta tutun.
İş akışını açİçerikEkibin gerçekten okuduğu günlük bir AI haber özeti yayımlayın
Kaynaklı bir özet alın, X’te uygulayıcı tartışmalarını ekleyin, bir video transkripti alın, edisyonu Markdown’da kurun ve LiveDoc’ta arşivleyin.
İş akışını açOfisBir araştırma sayfasını sunuma dönüştürün
Sayfayı çıkarın, LiveDoc bağlamı olarak kaydedin, PPT Task API’nin desteyi kurmasına izin verin ve bitmiş bağlantı gelene kadar sorun.
İş akışını açKendinize uyarlayın
Aynı tarif, gerçekte nasıl teslim ettiğinize uyarlanmış.
Yalnızca tek ürün hattı
Tek ürüne sınırlayın, taban daha temiz olsun.
Bilet sınıflandırması ekleyin
Önce soru türünü sınıflandırın, sonra doğru dokümantasyonu arayın.
Düzenli denetim
Her ay kırık bağlantıları ve eski politikaları kontrol edin.
Devam edin
Bu tarifin arkasındaki referans sayfaları ve sonraki adımlar.