Discourse AI - AI bot

:bookmark: This guide explains how to enable and configure the AI bot feature of the Discourse AI plugin.

:person_raising_hand: Required user level: Administrator

The AI Bot is a chatbot that allows for direct integration with generative AI powered by OpenAI (ChatGPT), Anthropic (Claude), Stability AI (Stable Diffusion) and others!

AI Bot walkthrough

Features

The AI bot includes a number of useful features:

  • Ability to pick the specific AI Bot persona you want to interact with
  • Flexibility around which Large Language Model (LLM) provider you can use (Anthropic/Open AI)
  • Multiple people can interact with the AI Bot at the same time in the same UI
  • Automatically titles personal messages (PMs) with the AI Bot
  • Replies are generated continuously through streaming and can be stopped at any time
  • Enable the bot for a specific subset of users

Personas

Instead of a “single bot” that tries to do everything but eventually forgets and fails because of LLM limitations, picking the appropriate persona on the start gets you a way better experience.

You can read the full guide to AI personas here.

Depending on the help you need, you have several different “personas” to choose from. These personas are predefined, and users can pick any of the personas before chatting with the AI bot. These personas are designed to best serve the needs of your community and help you get the best answer to your questions:

  • Forum Helper: General purpose AI bot capable of performing various tasks. Can search your current Discourse instance and use that information to build responses
    • i.e - What are the top posts for AI?
  • SQL Helper: AI Bot specialized in helping craft SQL queries on this Discourse Instance (aware of your current DB schema)
    • i.e - Write me a query to find all the AI bot messages by a specific customer/user
  • Artist: AI Bot specialized in generating images. Need a Stable Diffusion API key
    • i.e - Draw me a picture of a cat
  • Settings Explorer: AI Bot specialized in helping explore Discourse site settings. (aware of Discourse source code)
    • i.e - How do I enable Discourse AI on my Discourse site?
  • Researcher: AI Bot with Google access and the ability to browse web pages to research information for you. Need a Google Custom Search API key
    • i.e - How many legs does a dinosaur have?
  • Creative: AI Bot without any external integrations
    • i.e - Come up with 5 ideas to improve community engagement
  • GitHub Helper: AI Bot specializing in researching GitHub repositories
    • i.e - What doe LINK_TO_PR do?

:information_source: You can create custom AI personas for the bot that are tailored to your needs.

Availability

Discourse AI is available on all of our hosted plans, and it comes pre-installed on most plans. If you’re an Enterprise customer you can contact us to have it added to your site on request.

:information_source: Please note that this module also requires a separate subscription to an LLM (see below for more details).

Self-hosted users can install the plugin any time by following the plugin installation guide.

Enabling AI Bot

Prerequisites

In order to use the AI bot, you must provide your own API Keys. This means configuring at least one provider for a Large Language Model (LLM) from the options below:

Configuration

  1. Go to Admin settings-> Plugins → AI → Settings tab and make sure its enabled (discourse ai enabled)
  2. Checkmark ai bot enabled to enable AI Bot
  3. Pick the group of users through ai bot allowed groups to allow specific access to the AI Bot.
  4. Go to the LLMs settings tab and check the Allow AI Bot option for the appropriate LLM that has been previously configured.

Monitoring Chat Discussions

In some cases, you may want to monitor bot discussions so you can improve the performance of your bots.

If you plan to do so, we recommend enabling the ai_bot_enable_chat_warning, this will show a warning to users explaining that conversations are monitored.

Then as an administrator, add a link to your sidebar:

https://discourse.example.com/u/BOT_NAME/messages

BOT_NAME is the username of the bot you wish to monitor.

Technical FAQ

Why am I seeing bot users such as claude_bot, gpt3.5_bot and gpt4_bot being added as admins to my site?

  • These users are necessary for AI Bot to function. They don’t do anything in the background and are only used when interacting with the bot.

Where do I edit personas?

  • Head to discourse.example.com/admin/plugins/discourse-ai/ai-personas where you can control which personas are enabled and who gets access to each one.

Is the AI Bot trained on my community data?

Caveats

  • The AI bot is an area of much experimentation and is changing rapidly
  • The AI bot does not always provide 100% accurate results, so make sure to check any output carefully
  • We recommend enabling the bot for specific user groups to help control costs, as third-party providers charge on a per-usage basis

Last edited by @michebs 2024-09-20T15:40:18Z

Last checked by @hugh 2024-08-06T01:48:26Z

Check documentPerform check on document:
33 Likes

2 posts were split to a new topic: Can AI bot be trained on community data

Super interesting concept but am struggling to see it in use. When I ask the Forum Helper Bot a question, it returns a cryptic response like


Forum_Helper_bot
Forum Helper
Forum Helper
2m
Search
Found 19 results for 'xxx order:latest max_posts:1'

<function_calls>

<tool_name>posts</tool_name>

<post_number>1</post_number>
<topic_id>4719</topic_id>

<tool_id>tool_0</tool_id>

</function_calls>

It picked up the keyword xxx from my question and gave me a link to the search the discourse forum for that word xxx along with some xml style elements in the response.

which LLM are you using? Are you on latest?

Updated 2 days ago. Using Gemini Pro

very odd … gemini pro has native function support. that does not look right at all.

1 Like

Honestly @Falco / @RBoy I am not sure Gemini 1.0 is workable at all at the moment, tool support is just too much of a problem, I think we need to wait on Gemini 1.5

Recommend Claude 3 Haiku or GPT 3.5 for a low cost model.

Example from Gemini:

{
  "generationConfig": {},
  "contents": [
    {
      "role": "user",
      "parts": {
        "text": "You are a helpful Discourse assistant.\nYou _understand_ and **generate** Discourse Markdown.\nYou live in a Discourse Forum Message.\n\nYou live in the forum with the URL: https://l.discourse\nThe title of your site: Sam's Dev Machine\nThe description is: \nThe participants in this conversation are: gemini_bot, sam\nThe date now is: 2024-03-21 00:27:45 UTC, much has changed since you were trained.\n\nYou were trained on OLD data, lean on search to get up to date information about this forum\nWhen searching try to SIMPLIFY search terms\nDiscourse search joins all terms with AND. Reduce and simplify terms to find more results.\n\nYou were trained on OLD data, lean on search to get up to date information from the web"
      }
    },
    {
      "role": "model",
      "parts": {
        "text": "Ok."
      }
    },
    {
      "role": "user",
      "parts": {
        "text": "tell me more about ai bot"
      }
    },
    {
      "role": "model",
      "parts": {
        "functionCall": {
          "name": "search",
          "args": {
            "search_query": "ai bot"
          }
        }
      }
    },
    {
      "role": "function",
      "parts": {
        "functionResponse": {
          "name": "search",
          "response": {
            "content": "{\"column_names\":[\"title\",\"url\",\"username\",\"excerpt\",\"created\",\"category\",\"likes\",\"topic_views\",\"topic_likes\",\"topic_replies\"],\"rows\":[[\"Creating custom AI Bot personas\",\"/t/creating-custom-ai-bot-personas/277961/1\",\"pfaffman\",\"How do you select personas? and what are personas vs ai bot enabled chat commands ? \\nSpecifically, how do you do this?\",\"2023-09-05T16:12:47.710Z\",\"feature\",1,0,35,11],[\"Enable AI Bot\",\"/t/enable-ai-bot/266012/1\",\"sam\",\"This topic covers the configuration of AI Bot module of the \\u003ca href=\\\"https://meta.discourse.org/t/discourse-ai/259214\\\" rel=\\\"noopener nofollow ugc\\\"\\u003eDiscourse AI \\u003c/a\\u003e plugin. \\n\\u003ca name=\\\"overview-1\\\" class=\\\"anchor\\\" href=\\\"#overview-1\\\"\\u003e\\u003c/a\\u003eOverview\\nThe AI Bot is a chatbot that allows for direct integration with generative AI powered by OpenAI (ChatGPT), Anthropic (Claude), Stability AI (Stable Diffusion) and others! \\n\\n[AI Bot walkthrough] \\n\\u003ca name=\\\"features-2\\\" class=\\\"anchor\\\" href=\\\"#features-2\\\"\\u003e\\u003c/a\\u003eFeatures\\n\\nAbi\\u0026hellip;\",\"2023-05-24T06:25:09.579Z\",\"admins\",22,0,86,41],[\"AI Bot icon not appearing in header for non-staff\",\"/t/ai-bot-icon-not-appearing-in-header-for-non-staff/277960/1\",\"MarcP\",\"I think adding groups to AI chatbot setting, does not display the button when they have access to the AI bot. Trust level/admin only gets to see this button in my case.\",\"2023-08-28T01:01:52.205Z\",\"bug\",1,0,16,14],[\"Cannot delete own post anymore\",\"/t/cannot-delete-own-post-anymore/66908/2\",\"sam\",\"Looks like a bug, what is the exact repro?\",\"2017-07-27T22:11:54.316Z\",\"bug\",0,0,11,3],[\"Using personas of AI bot without robot-icon?\",\"/t/using-personas-of-ai-bot-without-robot-icon/285961/1\",\"Jagster\",\"AI bot communicates using PM. But I can see menu for different personas only when used robot-icon on the header. Is there a way to use personas when the icon is disabled? \\nThe actual issue I’m trying to solve out is common layout glitch. My android users are complaining because there isn’t enough ro\\u0026hellip;\",\"2023-11-19T06:48:23.172Z\",\"support\",1,0,2,1],[\"Is there any way to use AI bots while not allowing them access to read all posts?\",\"/t/is-there-any-way-to-use-ai-bots-while-not-allowing-them-access-to-read-all-posts/288649/1\",\"Alon1\",\"I have a non-public Discourse that could potentially hold private information of people. \\nI would love to integrate the AI bots but I’m concerned that it opens up a way for third party AI companies to read all the posts and potentially who knows where it leaks next (or used to train next gen AI…) \\nI\\u0026hellip;\",\"2023-11-15T13:54:07.856Z\",\"support\",3,1,11,1],[\"Deactivating a user causes account to be deleted?\",\"/t/deactivating-a-user-causes-account-to-be-deleted/68642/2\",\"cpradio\",\"There is a setting purge unactivated users grace period days, if an account is still deactivated, has zero posts, and that grace period is met, it deletes the account.\",\"2017-08-23T17:36:38.490Z\",\"support\",3,0,20,14],[\"Navigating AI Bot Rights: Public vs. Restricted Reading\",\"/t/navigating-ai-bot-rights-public-vs-restricted-reading/287086/1\",\"Jagster\",\"I’m a bit (well, a lot…) lost now. What does a trustlevel/group be to allow AI bot read topics? Because sometimes there is no issues and sometimes it refuses to read because it hasn’t rights to do it. \\nOr is this again an user error and I just can’t? Or am I expecting unrealistic things? \\nI asked fr\\u0026hellip;\",\"2023-11-30T15:31:53.419Z\",\"support\",0,0,1,3],[\"\\\"You've notified but they can't see\\\" message pops up too soon\",\"/t/youve-notified-but-they-cant-see-message-pops-up-too-soon/68963/1\",\"barryvan\",\"When replying to a topic in a restricted category, Discourse (very intelligently) shows you a warning if you @-mention someone who won’t be able to see the topic. It does, however, seem to be a little eager in doing so. For example, if you type @christine, it’ll warn you that she can’t participate –\\u0026hellip;\",\"2017-08-29T00:21:37.901Z\",\"bug\",6,0,20,5],[\"Feedback on AI Bot\",\"/t/feedback-on-ai-bot/278149/1\",\"EricGT\",\"Feedback \\n\\n\\nItem: 1 \\nNot a bug but worth a mention. \\n\\nPosted a \\u003ca href=\\\"https://meta.discourse.org/t/list-of-discourse-ai-suggestions/275196\\\" rel=\\\"noopener nofollow ugc\\\"\\u003equestion\\u003c/a\\u003e and the Discourse AI - AI Bot responded. \\nThen wanted to delete the topic (think testing) using the delete button on the first post, \\n[image] \\nReceived this message \\n[image] \\n\\n\\nItem: 2 \\nIf a earlier reply is edited the bot will \\u0026hellip;\",\"2023-08-15T07:58:23.105Z\",\"ux\",1,0,1,0],[\"Enabling AI Bot in Chat\",\"/t/enabling-ai-bot-in-chat/286383/1\",\"Leo_Wong\",\"We would love to have ai bot in the chat function. our user uses Chat heavily .\",\"2023-11-22T09:01:29.131Z\",\"feature\",2,1,30,9],[\"Recover from a very slow database\",\"/t/recover-from-a-very-slow-database/68793/3\",\"sam\",\"Absolutely, I also tried a restore using our UI, both did not correct the issue. \\nRestore using the UI still keeps the database around so it does not correct the underlying issue with the db on disk.\",\"2017-08-25T19:41:37.706Z\",\"sysadmin\",3,0,20,2],[\"Introducing AI Bot 🤖\",\"/t/introducing-ai-bot/283410/1\",\"Saif\",\"Our Discourse AI modules are designed to make your community experience easier, simpler, faster and hopefully, more fun. Today, we’re excited to announce the “AI Bot” module, which uses the power of conversation to help you get any of your questions, suggestions, recommendations, or comments answere\\u0026hellip;\",\"2023-10-25T14:21:33.734Z\",\"blog\",10,0,10,0],[\"AI Bot icon doesn't show up when I enable the AI Bot\",\"/t/ai-bot-icon-doesnt-show-up-when-i-enable-the-ai-bot/286270/1\",\"37Rb\",\"I’ve been trying to follow the instructions here: \\n\\u003ca href=\\\"https://meta.discourse.org/t/enable-ai-bot/266012\\\" class=\\\"onebox\\\" target=\\\"_blank\\\" rel=\\\"noopener nofollow ugc\\\"\\u003ehttps://meta.discourse.org/t/enable-ai-bot/266012\\u003c/a\\u003e \\nI’ve enabled the plugin, enabled the AI bot, and enabled the AI helper. I think I have it all configured. But I don’t see the bot icon in the upper right. And I don’t see a helper button in the comp\\u0026hellip;\",\"2023-11-22T00:15:57.523Z\",\"support\",0,0,1,1],[\"Is the AI Bot limited to just staff?\",\"/t/is-the-ai-bot-limited-to-just-staff/278009/1\",\"mk0r\",\"Hi, apologies if this has been answered — do all users have access to this bot to have various conversation threads with? Or is it only admins?\",\"2023-07-05T17:28:52.969Z\",\"support\",1,0,3,1],[\"Organising and accessing a large amount of AI Bot personas\",\"/t/organising-and-accessing-a-large-amount-of-ai-bot-personas/288652/1\",\"EricGT\",\"There are so many personas for the Discourse AI bot that I had to use the scroll bar. \\nSo if you are like me and know the Forum Helper should be there and do not see it, use the scroll bar. I thought it was missing for a moment. \\n[image] \\n[image]\",\"2023-12-11T14:33:04.861Z\",\"ux\",0,0,2,1],[\"Enhance or create a different AI bot to help Discourse developers\",\"/t/enhance-or-create-a-different-ai-bot-to-help-discourse-developers/275922/1\",\"EricGT\",\"While there are hints that the current Discourse AI - AI Bot can help with Discourse developer tasks, it may not have been created for such. As a suggestion enhance the current bot or create a new bot to help with developer tasks. \\n\\nBeing a developer who lacks knowledge of Ruby and some of the other\\u0026hellip;\",\"2023-08-20T13:54:48.920Z\",\"feature\",2,0,2,0],[\"Search Results Limited to 50 each time\",\"/t/search-results-limited-to-50-each-time/34270/12\",\"dmacjam\",\"Here is the pull request resolving this issue: \\u003ca href=\\\"https://github.com/discourse/discourse/pull/4981\\\" class=\\\"inline-onebox-loading\\\" rel=\\\"noopener nofollow ugc\\\"\\u003ehttps://github.com/discourse/discourse/pull/4981\\u003c/a\\u003e  - added infinite loading of search results, in total 10 pages of 50 results are loaded when scrolling which results in 500 search results (not more because of the performance, even Google limits maximum \\u0026hellip;\",\"2017-07-31T12:24:07.042Z\",\"bug\",15,0,64,12],[\"Ai bots have chat enabled but do not support it\",\"/t/ai-bots-have-chat-enabled-but-do-not-support-it/285403/1\",\"RGJ\",\"As i have understood, the current bots provided by the AI plugin are able to talk through PM’s but not through chat. However, they do have chat enabled in their profile, so you can open a chat conversation with them, which they will not respond to. \\n[image]\",\"2023-11-14T09:11:45.338Z\",\"bug\",2,0,3,1],[\"Elections Plugin\",\"/t/elections-plugin/68521/6\",\"NotAfk\",\"very good plugin my bro^^\",\"2017-08-23T21:09:40.529Z\",\"plugin\",1,0,247,100],[\"Category from /new-topic route not displayed in composer\",\"/t/category-from-new-topic-route-not-displayed-in-composer/68790/4\",\"joffreyjaffeux\",\"Fixed by \\n\\u003ca href=\\\"https://github.com/discourse/discourse/commit/296ea6c7b18a83013bf86b8cb65be99b226b72d9\\\" class=\\\"onebox\\\" target=\\\"_blank\\\" rel=\\\"noopener nofollow ugc\\\"\\u003ehttps://github.com/discourse/discourse/commit/296ea6c7b18a83013bf86b8cb65be99b226b72d9\\u003c/a\\u003e\",\"2017-08-25T23:47:15.570Z\",\"bug\",5,0,10,2],[\"Add semantic search to the AI Bot\",\"/t/add-semantic-search-to-the-ai-bot/278146/1\",\"bigfudge\",\"I have been playing with the bot and it’s already great. Can I add a voice to enable semantic search? In my experiments so far this would make the bot much smarter, at least on our site. If I compare the results it finds and summarises or answers-using these are much worse than those it would use if\\u0026hellip;\",\"2023-08-17T09:45:55.935Z\",\"feature\",2,0,14,4],[\"Add custom personas to the AI Bot\",\"/t/add-custom-personas-to-the-ai-bot/288644/1\",\"pfaffman\",\"I’ve been following a newsletter that’s making the case for custom prompts to lead learners in conversation. \\u003ca href=\\\"https://www.oneusefulthing.org/p/almost-an-agent-what-gpts-can-do\\\" rel=\\\"noopener nofollow ugc\\\"\\u003eThis entry\\u003c/a\\u003e provides a structured prompt to have the tutor ask what education level the student is, then prompt for the assigment that they are to do (the instructions explicitly tell the AI n\\u0026hellip;\",\"2023-11-08T14:38:00.161Z\",\"feature\",4,1,21,7],[\"Notify group owners when added and removed\",\"/t/notify-group-owners-when-added-and-removed/38387/5\",\"tgxworld\",\"\\u003ca class=\\\"mention\\\" href=\\\"/u/tobiaseigen\\\"\\u003e@tobiaseigen\\u003c/a\\u003e Any thoughts about this? I do see a use case for an automated “welcome to this group” message when adding a group user but like \\u003ca class=\\\"mention\\\" href=\\\"/u/scombs\\\"\\u003e@scombs\\u003c/a\\u003e mentioned, adding/removing group owners is abit of an edge case that can be handled manually via a PM.\",\"2017-08-22T07:45:50.866Z\",\"feature\",2,0,31,9],[\"AI Bot searches appearing in dashboard search logs\",\"/t/ai-bot-searches-appearing-in-dashboard-search-logs/278008/1\",\"sp-jordan-violet\",\"Another bug (in my opinion) is that this both is severely interfering with our search data. I only made a handful of queries (maybe 4-5) and this is some of what it did to our search data for our users. \\nI’ll also likely submit a support ticket for this so our search data for our users isn’t skewed \\u0026hellip;\",\"2023-06-17T19:34:53.167Z\",\"bug\",3,0,10,4],[\"Rebuild hangs on bootstrap error with last update\",\"/t/rebuild-hangs-on-bootstrap-error-with-last-update/68526/2\",\"david\",\"Please scroll up and look for the error message, it might be quite a lot higher. \\nWhat plugins do you have installed?\",\"2017-08-22T10:32:55.058Z\",\"installation\",4,0,8,2],[\"System user replaces wrong URL when it downloads local copy of image\",\"/t/system-user-replaces-wrong-url-when-it-downloads-local-copy-of-image/68487/4\",\"LeoMcA\",\"This looks like that:\",\"2017-08-22T10:27:45.420Z\",\"bug\",0,0,32,16],[\"[PAID] setup ssl - Let's encrypt\",\"/t/paid-setup-ssl-lets-encrypt/68853/2\",\"pfaffman\",\"I’ll be happy to help: \\n\\u003ca href=\\\"https://www.literatecomputing.com/product/discourse-ssl/\\\" class=\\\"onebox\\\" target=\\\"_blank\\\" rel=\\\"noopener nofollow ugc\\\"\\u003ehttps://www.literatecomputing.com/product/discourse-ssl/\\u003c/a\\u003e\",\"2017-08-27T10:37:07.934Z\",\"marketplace\",3,0,3,1],[\"Making use of added storage volumes\",\"/t/making-use-of-added-storage-volumes/51060/13\",\"sam\",\"I would also recommend keeping docker images and containers on the volume, it seems to be holding up fine. (also, clearly backups) \\nIts pretty simple you symlink /var/lib/docker to /mnt/volume/whatever\",\"2017-08-25T20:08:59.477Z\",\"hosting\",6,0,33,12],[\"Spaces adjacent to emoji text?\",\"/t/spaces-adjacent-to-emoji-text/67074/9\",\"codinghorror\",\"That is by design. There is no expectation that \\nrandomtext:smile:  \\nshould work… nor \\n:smile:randomtext\",\"2017-07-30T07:47:51.169Z\",\"feature\",4,0,8,7],[\"Disable account confirm emails when creating users via API\",\"/t/disable-account-confirm-emails-when-creating-users-via-api/68663/9\",\"jeffbrowning\",\"Having a similar problem with the “Confirm your new account” email – the PM from discobot is turned off, but users are still receiving the email. It looks like these are different settings. Is there a way to remove the confirmation email?\",\"2017-08-24T18:18:28.760Z\",\"dev\",0,0,26,26],[\"Can the AI Bot automatically title the conversations?\",\"/t/can-the-ai-bot-automatically-title-the-conversations/277987/1\",\"Wleksion\",\"Is it possible to make a system that automatically names the titles of the opened topics? \\nUsers do not pay much attention to these titles, but they are very important for Google.\",\"2023-05-24T21:45:19.722Z\",\"support\",4,0,13,3],[\"Embed Etherpad Lite pads into Discourse\",\"/t/embed-etherpad-lite-pads-into-discourse/42594/4\",\"nicop91\",\"This plugin is great, however I have a small issue : links from my etherpad instances are not detected as pads. \\nInserting the example link works great (link on \\u003ca href=\\\"http://beta.etherpad.org\\\" rel=\\\"noopener nofollow ugc\\\"\\u003ebeta.etherpad.org\\u003c/a\\u003e), but my links are not replaced by the iframe… \\nMy links have the following format : \\n\\u003ca href=\\\"https://sub.composed-domain.fr/p/xo0MvCGYhB\\\" class=\\\"onebox\\\" target=\\\"_blank\\\" rel=\\\"noopener nofollow ugc\\\"\\u003ehttps://sub.composed-domain.fr/p/xo\\u0026hellip;\\u003c/a\\u003e\",\"2017-08-22T10:08:53.424Z\",\"plugin\",0,0,23,9],[\"Get basic database table, size and count statistics\",\"/t/get-basic-database-table-size-and-count-statistics/68783/1\",\"sam\",\"The task rake db:stats will print out basic database stats. \\n./launcher enter app\\nrake db:stats \\n\\n\\ntable_name                 | row_estimate | size\\n---------------------------------------------------\\nemail_logs                 | 4027838      | 611 MB\\npost_timings               | 9193590      | 388 M\\u0026hellip;\",\"2017-08-25T14:28:05.960Z\",\"sysadmin\",11,0,13,3],[\"Problem with my SSL certificate\",\"/t/problem-with-my-ssl-certificate/67299/7\",\"craisp\",\"This is the output from rebuilding after compressing js: \\nI, [2017-08-03T08:00:24.170845 #13]  INFO -- : File \\u0026gt; /usr/local/bin/discourse  chmod: +x\\nI, [2017-08-03T08:00:24.174861 #13]  INFO -- : File \\u0026gt; /usr/local/bin/rails  chmod: +x\\nI, [2017-08-03T08:00:24.178919 #13]  INFO -- : File \\u0026gt; /usr/local/b\\u0026hellip;\",\"2017-08-03T08:09:19.278Z\",\"installation\",0,0,12,16],[\"Varnish config for discourse\",\"/t/varnish-config-for-discourse/68575/15\",\"codinghorror\",\"We generally don’t recommend this config because it is quite complicated and does not get you much that a traditional (and far, far simpler) CDN of static assets does not already deliver.\",\"2017-08-23T19:58:54.562Z\",\"hosting\",0,0,14,16],[\"Mailgun secret API key rejected\",\"/t/mailgun-secret-api-key-rejected/61852/11\",\"pfaffman\",\"And you’re sure that you’re using an API key and not a password?\",\"2017-08-16T21:54:18.676Z\",\"support\",2,0,22,17],[\"Facebook Groups - Zuck is coming for us\",\"/t/facebook-groups-zuck-is-coming-for-us/64437/11\",\"Martin_Cash\",\"Very true Sam. What I’ve found, is that anyone in this situation has a fairly unique story to tell. \\nWe have a large independent community on Facebook that we would like to reign-in. I’ve had pressure from various orgs to move these customers off of Facebook and onto our new Discourse platform. Bec\\u0026hellip;\",\"2017-06-24T02:59:16.886Z\",\"community\",5,0,280,48],[\"Importers for large forums\",\"/t/importers-for-large-forums/61681/32\",\"mtawil\",\"Well, Does Intel 16 Core Xeon CPU @ 2.30GHz w/ 64GB of RAM is not enough?\",\"2017-07-24T17:56:15.479Z\",\"announcements\",1,0,82,49],[\"Bootstrap fails on clean CentOS 7 install\",\"/t/bootstrap-fails-on-clean-centos-7-install/68755/3\",\"Dan_Healy\",\"Containers: 0\\n Running: 0\\n Paused: 0\\n Stopped: 0\\nImages: 1\\nServer Version: 17.06.1-ce\\nStorage Driver: overlay\\n Backing Filesystem: xfs\\n Supports d_type: false\\nLogging Driver: json-file\\nCgroup Driver: cgroupfs\\nPlugins:\\n Volume: local\\n Network: bridge host macvlan null overlay\\n Log: awslogs fluentd gc\\u0026hellip;\",\"2017-08-30T22:55:20.838Z\",\"installation\",0,0,9,5]],\"args\":{\"search_query\":\"ai bot\"}}"
          }
        }
      }
    }
  ],
  "tools": [
    {
      "function_declarations": [
        {
          "name": "categories",
          "description": "Will list the categories on the current discourse instance, prefer to format with # in front of the category name"
        },
        {
          "name": "search",
          "description": "Will search topics in the current discourse instance, when rendering always prefer to link to the topics you find",
          "parameters": {
            "type": "object",
            "required": [],
            "properties": {
              "search_query": {
                "description": "Specific keywords to search for, space separated (correct bad spelling, remove connector words)",
                "type": "string"
              },
              "user": {
                "description": "Filter search results to this username (only include if user explicitly asks to filter by user)",
                "type": "string"
              },
              "order": {
                "description": "search result order",
                "type": "string",
                "enum": [
                  "latest",
                  "latest_topic",
                  "oldest",
                  "views",
                  "likes"
                ]
              },
              "limit": {
                "description": "limit number of results returned (generally prefer to just keep to default)",
                "type": "integer"
              },
              "max_posts": {
                "description": "maximum number of posts on the topics (topics where lots of people posted)",
                "type": "integer"
              },
              "tags": {
                "description": "list of tags to search for. Use + to join with OR, use , to join with AND",
                "type": "string"
              },
              "category": {
                "description": "category name to filter to",
                "type": "string"
              },
              "before": {
                "description": "only topics created before a specific date YYYY-MM-DD",
                "type": "string"
              },
              "after": {
                "description": "only topics created after a specific date YYYY-MM-DD",
                "type": "string"
              },
              "status": {
                "description": "search for topics in a particular state",
                "type": "string",
                "enum": [
                  "open",
                  "closed",
                  "archived",
                  "noreplies",
                  "single_user"
                ]
              }
            }
          }
        },
        {
          "name": "read",
          "description": "Will read a topic or a post on this Discourse instance",
          "parameters": {
            "type": "object",
            "required": [
              "topic_id",
              "post_number"
            ],
            "properties": {
              "topic_id": {
                "description": "the id of the topic to read",
                "type": "integer"
              },
              "post_number": {
                "description": "the post number to read",
                "type": "integer"
              }
            }
          }
        },
        {
          "name": "tags",
          "description": "Will list the 100 most popular tags on the current discourse instance"
        },
        {
          "name": "google",
          "description": "Will search using Google - global internet search (supports all Google search operators)",
          "parameters": {
            "type": "object",
            "required": [
              "query"
            ],
            "properties": {
              "query": {
                "description": "The search query",
                "type": "string"
              }
            }
          }
        }
      ]
    }
  ]
}

Response:

[
  {
    "candidates": [
      {
        "content": {
          "parts": [
            {
              "text": " Here are a few articles on ai bot:\n- [The Rise of the"
            }
          ],
          "role": "model"
        },
        "finishReason": "STOP",
        "index": 0,
        "safetyRatings": [
          {
            "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HATE_SPEECH",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HARASSMENT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
            "probability": "NEGLIGIBLE"
          }
        ]
      }
    ]
  },
  {
    "candidates": [
      {
        "content": {
          "parts": [
            {
              "text": " AI Chatbot](https://www.forbes.com/sites/forbestechcouncil/2023/02/09/the-rise"
            }
          ],
          "role": "model"
        },
        "finishReason": "STOP",
        "index": 0,
        "safetyRatings": [
          {
            "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HATE_SPEECH",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HARASSMENT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
            "probability": "NEGLIGIBLE"
          }
        ]
      }
    ]
  },
  {
    "candidates": [
      {
        "content": {
          "parts": [
            {
              "text": "-of-the-ai-chatbot/?sh=6fb501227769)\n- [AI Chatbots: What They Are and How They Work](https://www.techtarget.com/searchenterpriseai/definition/AI-chatbot)\n- [How"
            }
          ],
          "role": "model"
        },
        "finishReason": "STOP",
        "index": 0,
        "safetyRatings": [
          {
            "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HATE_SPEECH",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HARASSMENT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
            "probability": "NEGLIGIBLE"
          }
        ]
      }
    ]
  },
  {
    "candidates": [
      {
        "content": {
          "parts": [
            {
              "text": " AI Chatbots Are Transforming Customer Service](https://www.salesforce.com/resources/articles/ai-chatbots/)"
            }
          ],
          "role": "model"
        },
        "finishReason": "STOP",
        "index": 0,
        "safetyRatings": [
          {
            "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HATE_SPEECH",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HARASSMENT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
            "probability": "NEGLIGIBLE"
          }
        ]
      }
    ]
  }
]

Response is a complete hallucination…

3 Likes

Cool, I’d be happy to remove Gemini from the list, or we simply add a warning to Configure API Keys for Google Gemini that it is only good for embeddings.

3 Likes

Added in a quick clause

2 Likes

Hmm, so this was working with Gemini 1.0 until about a week ago when I had trouble and with Falco’s help I figured out that my project/key had an issue.

I created a new project and key using Gemini 1.5 pro (as best as I could figure out how to) and then I noticed this issue with the new key.

EDIT: Tried it again this morning, the xml tags have disappeared but the results are hard to use. It says here are 5 topics, but there are no links and under Search the only link presented is Found 5 results for ' order:latest'

For AWS Bedrock, with just the id, key, and region to set…how do you choose which model you’d like to use? e.g. If you want to use Claude 3 Sonnet on Bedrock?

1 Like

We never added support for Gemini 1.5 was not aware they had api support

1 Like

I think you may be right. While the instructions I used said it was for Gemini 1.5 pro, reading through some X comments it appears that the API key may not be enabled just yet to access 1.5 pro.

6 posts were split to a new topic: How do I configure chatgpt 3.5 to my bot?

FYI, Gemini 1.5 (cohere and latest Anthropic models) are now supported

2 Likes

2 posts were split to a new topic: Can I allow the bot on private categories

4 posts were split to a new topic: Using Discourse AI as a Discobot

I was not sure where to find this so I apologize ahead of time if this does not belong here:

  1. Your AI stuff is awesome.
  2. is it possible to change the little robot icon to a different icon?
1 Like

Thanks! There is nothing built in, but you could use CSS to swap it.