Ask.discourse.com - Impossible de trouver une annonce ici

Sur un autre site Discourse, j’ai consulté la section « Nouveautés » et j’ai vu ceci :

Ayant déjà rencontré de nombreux bots d’IA sur Discourse, j’ai vérifié s’il s’agissait de quelque chose de différent et de nouveau, et c’était le cas.

Y avait-il un sujet unique dans la catégorie Annonces à ce sujet ? Je ne me souviens pas en avoir vu.

2 « J'aime »

Je pense que c’est encore un peu en version bêta.

3 « J'aime »

Il a été annoncé dans Lounge pour une ouverture discrète https://meta.discourse.org/t/help-us-test-ask-discourse-com/324441?u=pfaffman

4 « J'aime »

Nous l’avons annoncé aux clients via la section « Nouveautés », mais pas encore à tous les sites. C’est encore tôt et un peu plus adapté aux clients hébergés pour le moment, bien qu’il y ait bien sûr beaucoup de recoupements pour la plupart des questions.

9 « J'aime »

Je n’ai pas accès au salon sur ce forum mais je comprends ce que vous voulez dire.

1 « J'aime »

C’est un développement intéressant. Je prévoyais d’ouvrir un sujet de Feature sur l’octroi d’un accès public/invité à une persona afin que tout visiteur puisse l’utiliser. Est-ce quelque chose que Discourse explorerait, ou est-ce lié à cette instance de test publiée en silence ?

Chaque persona a un paramètre de groupes autorisés, vous pouvez donc maintenant autoriser n’importe qui à utiliser n’importe quelle persona.

Désolé, j’aurais dû être plus clair, je voulais dire n’importe qui, c’est-à-dire les invités/anonymes - cela servirait des cas d’utilisation comme doc-categories, où je ne m’attends pas à ce que tous les lecteurs s’inscrivent mais je veux quand même leur permettre de discuter avec les documents.

1 « J'aime »

Il semble très dangereux de laisser des personnes qui ne se sont même pas connectées, et qui pourraient même ne pas être des personnes, dépenser votre argent.

Bien sûr, il faut des limites basées sur l’IP/les cookies. Ou même une limite de sécurité globale.

Je ne vois pas pourquoi dépenser pour améliorer l’expérience de support serait un problème. Si vous hébergez des documents avec Gitbook, vous paieriez au minimum 1200 $ par an, ce forfait inclut la possibilité pour vos visiteurs de discuter avec vos documents. Si vous me demandez, il y a une excellente opportunité ici pour CDCK :face_savoring_food:

Deuxièmement, il existe plusieurs rapports sur les chatbots qui permettent de réduire les coûts (de support client).

3 « J'aime »

C’est tout à fait vrai. Mon point est que vous ne savez pas qu’ils sont vos clients s’ils ne sont pas connectés.

2 « J'aime »

Est-ce que Discourse Ask utilise des personas IA déjà disponibles ou en avez-vous créé de nouvelles spécifiquement pour cela ?

Ask utilise une persona personnalisée, elle s’appuie sur 2 outils personnalisés qui effectuent des appels API à meta.discourse.org.

Une sortie publique est-elle prévue ?

Il n’y a rien de « top secret » ici :slight_smile:

Il y a ce thème qui est très similaire :

Et, l’outil que nous utilisons a le script suivant :

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
}

L’outil de lecture utilise :

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 « J'aime »