Ask.discourse.com - لا يمكن العثور على إعلان هنا

في موقع Discourse آخر، تحققت من “ما الجديد” ورأيت

لذلك، بعد أن كنت على دراية بالعديد من روبوتات الذكاء الاصطناعي من Discourse، تحققت لمعرفة ما إذا كان شيئًا مختلفًا وجديدًا، وكان كذلك.

هل كان هناك موضوع واحد في فئة الإعلانات لهذا؟ لا أتذكر أنني رأيت واحدًا.

إعجابَين (2)

أعتقد أنها لا تزال في مرحلة تجريبية.

3 إعجابات

تم الإعلان عنه في Lounge لافتتاح هادئ https://meta.discourse.org/t/help-us-test-ask-discourse-com/324441?u=pfaffman

4 إعجابات

لقد أعلنا ذلك للعملاء عبر “ما الجديد” ولكن ليس لجميع المواقع بعد. لا تزال الأيام الأولى وهي معدلة بشكل طفيف للعملاء المستضافين في الوقت الحالي، على الرغم من وجود الكثير من التداخل لمعظم الأسئلة بالطبع.

9 إعجابات

ليس لدي وصول إلى غرفة الاستراحة في هذا المنتدى ولكنني أفهم ما تقصده.

إعجاب واحد (1)

هذا تطور مثير للاهتمام. كنت أخطط لفتح موضوع Feature حول منح الوصول العام/الضيف إلى شخصية بحيث يمكن لأي زائر استخدامه. هل هذا شيء ستستكشفه Discourse، أو ربما يتعلق بهذه النسخة التجريبية التي تم إصدارها بصمت؟

لكل شخصية إعداد مجموعات مسموح بها، لذا يمكنك الآن السماح لأي شخص باستخدام أي شخصية.

آسف، كان يجب أن أكون أكثر وضوحًا، كنت أقصد أي شخص بمعنى الضيوف/المجهولين - سيخدم حالات استخدام مثل #doc-categories، حيث لا أتوقع من جميع القراء التسجيل ولكن لا يزال بإمكاني السماح لهم بالدردشة مع المستندات.

إعجاب واحد (1)

يبدو من الخطير جدًا السماح للأشخاص الذين لم يسجلوا الدخول، وقد لا يكونون بشرًا على الإطلاق، بإنفاق أموالك.

بالتأكيد، يحتاج الأمر إلى بعض الحدود المستندة إلى عنوان IP/ملفات تعريف الارتباط. أو حتى حد أقصى صارم للسلامة على مستوى العالم.

لا أرى سببًا لإنفاق المال على تحسين تجربة الدعم. إذا كنت تستضيف المستندات باستخدام Gitbook، فستدفع 1200 دولار سنويًا على الأقل، وتتضمن هذه الحزمة السماح لزوارك بالدردشة مع مستنداتك. إذا كنت تسألني، فهناك فرصة رائعة هنا لـ CDCK :face_savoring_food:

ثانيًا، هناك العديد من التقارير المتاحة حول روبوتات الدردشة التي توفر التكاليف (دعم العملاء).

3 إعجابات

هذا كله صحيح. وجهة نظري هي أنك لا تعرف أنهم عملاؤك إذا لم يسجلوا الدخول.

إعجابَين (2)

هل تستخدم Discourse Ask أيًا من شخصيات الذكاء الاصطناعي المتوفرة بالفعل أم أنكم قمتم بإنشاء شخصيات خاصة بكم خصيصًا لذلك؟

يستخدم Ask شخصية مخصصة، ويعتمد على أداتين مخصصتين تجريان استدعاءات API إلى meta.discourse.org.

هل هناك أي خطط لإصداره للعامة؟

لا يوجد شيء “سري للغاية” هنا :slight_smile:

هناك سمة مشابهة جدًا:

والأداة التي نستخدمها تحتوي على البرنامج النصي التالي:

let terms;
let API_KEY = "...";

const categories = {
  61: "theme",
  6: "support",
  148: "data & reporting",
  164: "Documentation > Hosted Customers",
  177: "Community wiki",
  31: "installation",
  10: "Documentation",
  22: "plugin",
  1: "bug",
  106: "migration",
  120: "theme-component",
  105: "community support program",
  124: "General",
  157: "site feedback > forum summaries",
  152: "site feedback > theme feedback",
  168: "Documentation > Contributing",
  30: "releases",
  126: "Documentation > Using Discourse",
  2: "feature",
  63: "praise > comparison",
  9: "ux",
  27: "dev > translations",
  24: "sso",
  3: "site feedback",
  17: "Uncategorized",
  14: "marketplace",
  21: "support > wordpress",
  13: "announcements > blog",
  53: "Documentation > Site Management",
  5: "plugin > extras",
  65: "community",
  8: "installation > hosting",
  35: "praise",
  67: "announcements",
  178: "Community wiki > Administrators",
  167: "Documentation > Integrations",
  55: "Documentation > Self-Hosting",
  169: "Documentation > Migrating to Discourse",
  56: "Documentation > Developer Guides",
  7: "dev",
  179: "Community wiki > Developers",
  181: "Community wiki > Users",
  180: "Community wiki > Sysadmins"
};


function search(terms) {
   const encoded = encodeURIComponent(terms);
   const searchUrl = "https://meta.discourse.org/discourse-ai/embeddings/semantic-search.json?hyde=false&q=";
   result = http.get(`${searchUrl}${encoded}`, {'Api-Key': API_KEY });
   return processResults(JSON.parse(result.body));
}

function invoke(p) {
  if (!p.question) {
      terms = "No search performed!"
      return "You must supply the question parameter";
  }
  terms = p.question;
  let results = search(terms + " #documentation");
  let otherResults = search(terms);

  let topicIds = {};
  results.forEach(topic => { topicIds[topic.topic_id] = topic });
  otherResults.forEach(topic => {
      if (topicIds[topic.topic_id]) {
          return;
      }
      if (results.length > 15) {
          return;
      }

      results.push(topic);
  });

  if (results.length === 0) {
      return "No results found!"
  } else {
      return results;
  }
}

function processResults(json) {

    if (!json.topics) {
        return [];
    }

    const postData = {};
    json.posts.forEach( p => {
       postData[p.topic_id] = p;
    });

    // todo meta category map
    return json.topics.map(t => {
        let result = {};
        let post = postData[t.id];
        result.url = `/t/${t.slug}/${t.id}`;
        result.title = t.title;
        result.blurb = post.blurb;
        result.tags = t.tags;
        result.topic_id = t.id;
        result.category = categories[t.category_id];
        return result;
    });
}

function details() {
  return "Searching for: " + terms
}

يستخدم أداة القراءة:

let topicId;
let url = "https://meta.discourse.org";
const API_KEY = "...";
let title = "Unknown topic";

function invoke(p) {
    topicId = p.topicId;
    let jsonUrl = `https://meta.discourse.org/t/${p.topic_id}.json?include_raw=true`;
    result = http.get(jsonUrl, { 'Api-Key' : API_KEY });

    try {
       const parsed = JSON.parse(result.body);
       url = `https://meta.discourse.org/t/${parsed.slug}/${parsed.id}`;
       title = parsed.title;
       let raw = parsed.post_stream.posts.map( post => {
          let solution = "";
          if (post.is_solution) {
              solution = "(solution)";
          }
          return `post #${post.post_number}:${solution}\n${post.raw}`;
       }).join("\n\n");
       return llm.truncate(raw, 10000);
    } catch {
        return "Something went wrong, topic not found!"
    }
}
function details() {
  return `Read: <a href='${url}'>${title}</a>`;
}

3 إعجابات