Felo API PlatformFelo API Platform

Sokongan

Jawab soalan sokongan dari dokumentasi anda sendiri

Cipta LiveDoc, muat pusat bantuan dan runbook dalaman, ambil bahagian yang menjawab tiket dan biar model menjawab hanya dari bukti itu.

Masa20 minitTahapAsasDikemas kini2026-10-29
Untuk siapaPasukan sokonganKejayaan pelangganPembina helpdesk

Salin prompt

Ganti medan dalam kurungan siku lalu tampal ke Claude Code, Codex atau AI dengan akses terminal. Ia memasang skill Felo, bertanya sebelum kredit digunakan dan menjalankan aliran kerja.

Jawab soalan sokongan ini hanya dengan dokumentasi kami: [soalan pelanggan].

Pangkalan pengetahuan: [URL pusat bantuan atau LiveDoc short_id]. Laluan eskalasi: [orang bertanggungjawab atau baris gilir].
Konteks pelanggan tersedia: [pelan, wilayah, produk] (jangan sekali-kali minta kata laluan atau data pembayaran).

Hasilkan:
1. Jawapan langsung dalam dua hingga empat ayat.
2. Petikan dokumentasi yang menyokongnya, dengan tajuk sumber.
3. Langkah seterusnya untuk pelanggan.
4. Nota dalaman: sumber digunakan dan skor kaitan.

Peraturan:
- Jawab hanya daripada petikan yang diambil. Jika tiada hasil atau kaitan rendah, eskalasi; jangan meneka.
- Jangan reka dasar, bayaran balik, harga atau tindakan akaun.
- Jangan masukkan data peribadi pelanggan, kelayakan atau maklumat pembayaran.
- Tanya sebelum menggunakan kredit untuk pengingesan atau pengambilan.
- Jangan hantar jawapan kepada pelanggan; kembalikan kepada saya untuk semakan.

Salinan turut menyertakan langkah pemasangan dan peraturan keselamatan.

Apa yang anda dapat

Contoh output daripada satu larian. Bukan penjanaan langsung.

Contoh jawapan (petikan)

Jawapan: Pelan anda diperbaharui pada 1 haribulan. Kad yang gagal akan dicuba semula selama tiga hari sebelum tempat duduk dijeda.

Sumber: “soalan lazim bil” - https://example.com/help/billing

Jika ini tidak diliputi: eskalasi ke baris gilir bil dengan ID invois.

Panggilan sebenar

Untuk pembangun: aliran kerja sama sebagai kod, mengikut urutan pelaksanaan.

Tunjukkan panggilan API sebenar
  1. Cipta pangkalan pengetahuan

    Cipta pangkalan melalui LiveDoc API dan simpan short_id.

    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

    Contoh output

    {
      "short_id": "PvyKouzJirXjFdst4uKRK3",
      "name": "Support knowledge base",
      "description": "Help center, policy pages, and internal runbooks"
    }
  2. Muat pusat bantuan awam

    Tambah URL pusat bantuan sebagai sumber LiveDoc.

    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");

    Contoh output

    [
      { "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" }
    ]
  3. Tambah dokumentasi dalaman

    Tambah runbook dalaman sebagai dokumen.

    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 updates
  4. Ambil bukti untuk soalan

    Carian semantik memulangkan bahagian dan skor paling relevan.

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

    Contoh output

    [
      {
        "id": "res_005",
        "title": "Refund policy",
        "content": "Refunds are available within 30 days of purchase…",
        "score": 0.92
      }
    ]
  5. Jawab hanya dari bukti

    Buat model guna hanya bahagian diambil dan eskalasi apabila tiada hasil.

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

    Contoh output

    "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."

Termasuk

  • LiveDoc dari pusat bantuan dan runbook dalaman
  • Carian semantik dengan bahagian dan tajuk
  • Jawapan dengan sumber boleh dipetik
  • Eskalasi jelas apabila liputan kurang

Apa yang tidak dilakukan

  • Menjawab hanya dari dokumentasi anda dan tidak melayari web terbuka
  • Tidak menjalankan tindakan akaun, bayaran balik atau tukar pelan
  • Tiada data pelanggan peribadi atau kelayakan dalam pangkalan
  • Dokumentasi lapuk menghasilkan jawapan lapuk; kemas kini
  • Hanya menyusun jawapan, tidak menghantar kepada pelanggan

Soalan

Dari mana jawapannya?

Hanya dari LiveDoc anda: halaman pusat bantuan dan runbook. Carian memulangkan bahagian dan ejen menulis daripadanya.

Jika dokumentasi tidak meliputi?

Eskalasi. Tiada hasil atau relevan rendah dianggap belum diliputi, bukan izin meneka.

Bagaimana kekalkan pangkalan terkini?

Apabila dasar berubah, tambah URL semula dan kemas kini dokumen; aliran ada arahan kemas kini dan audit.

Boleh guna dalam baris gilir tiket?

Boleh sebagai langkah draf. Kekalkan kelulusan manusia sebelum menghantar kepada pelanggan.

Adakah ia mengendalikan soalan khusus akaun?

Dengan dokumentasi sahaja tidak. Data akaun di sistem anda; berikan hanya konteks selamat diperlukan, jangan sesekali kelayakan.

Berapa kos satu larian?

Ingesti dan carian dibilkan mengikut penggunaan; kadar semasa di halaman harga dan prompt meminta kelulusan sebelum berbelanja.

Aliran kerja berkaitan

Sesuaikan

Resipi sama, disesuaikan dengan cara anda benar-benar menyampaikan.

Satu barisan produk sahaja

Hadkan kepada satu produk untuk pangkalan lebih bersih.

Tambah klasifikasi tiket

Klasifikasikan jenis soalan dahulu kemudian cari dokumentasi tepat.

Audit berkala

Semak pautan rosak dan dasar lama setiap bulan.

Halaman rujukan di sebalik resipi ini dan langkah seterusnya.