支持AI机器人配置Discourse最新版本支持社区论坛

我已经设置了 LLM、嵌入和 Persona 功能;但是,我的提示未能根据我们社区中的问答或可用的 wiki 资源提供预期的响应。

自托管 LLM:mistral:latest
自托管嵌入:all-minilm:latest

Persona:



谁能进一步帮助我了解需要做什么。考虑到 AI 新手。

这是哪个具体的 Mistral 模型?

可以分享一下你的提示吗?

你可以将“搜索”添加为第一次交互的“强制工具”,以帮助模型进行 grounding。

@Falco,以下是跟进回复的详细信息:

这是哪个具体的 Mistral 模型?

LLM 模型:mistral:latest

链接:
https://ollama.com/library/mistral:latest 上的模型是:

Mistral 7B v0.3 — 由 Mistral AI 发布的一个拥有 70 亿参数的开源模型。

可以分享一下提示吗?

系统提示:
您是本论坛(名为 {site_title},站点 URL 为 {site_url})的社区知识助手,用户是工程师。

在生成答案之前,请始终搜索并引用相关的论坛帖子、维基文章和标记讨论。

您的首要任务是利用检索到的论坛内容(通过嵌入搜索)来构建响应。

  优先从现有帖子中进行摘要和引用。
  如果找到多个相关主题,请清晰地将它们结合起来。
  只有在没有相关内容时,才通过 LLM 使用您的通用知识进行回复。
  引用帖子时,请包含主题标题或 URL。
  切勿捏造或编造论坛数据不支持的答案。
  保持事实准确、简洁和专业。
  当用户提出宽泛的问题时,优先总结多个来源,而不是猜测。
  始终优先考虑嵌入索引中的类别、标签和维基百科的上下文。

已根据建议更新强制工具

我担心一个翻新的 2023 年模型在这里无法胜任。此外,根据 Ollama 关于此模型的文档,它仅支持原始 API 的工具调用,而这并非我们所使用的。

总的来说,这对今天的 AI Bot 来说是一个糟糕的选择。

请改用以下模型之一:

1 个赞

您好 @Falco,感谢您的输入。我们将进行检查并进一步通知您。

1 个赞

@Falco 启用 LLM 时遇到 502 错误。请查看下面的日志



Message

Unicorn worker received USR2 signal indicating it is about to timeout, dumping backtrace for main thread
config/unicorn.conf.rb:203:in `backtrace'
config/unicorn.conf.rb:203:in `block (2 levels) in reload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:229:in `wait_readable'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:229:in `rbuf_fill'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:199:in `readuntil'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:209:in `readline'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http/response.rb:158:in `read_status_line'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http/response.rb:147:in `read_new'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2420:in `block in transport_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2411:in `catch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2411:in `transport_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2384:in `request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/net_patches.rb:19:in `block in request_with_mini_profiler'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:45:in `step'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/net_patches.rb:18:in `request_with_mini_profiler'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:168:in `block in perform_completion!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1632:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1070:in `start'
/var/www/di...

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/lib/signal_trap_logger.rb:40:in `public_send'
/var/www/discourse/lib/signal_trap_logger.rb:40:in `block (2 levels) in ensure_logging_thread_running'
internal:kernel:187:in `loop'
/var/www/discourse/lib/signal_trap_logger.rb:37:in `block in ensure_logging_thread_running'

如果使用 Ollama 的 OpenAI 兼容 API,请将提供商设置为 OpenAI。

1 个赞

@Falco

我已尝试使用 openAI 提供商,但问题仍然存在。

消息

Unicorn worker 收到 USR2 信号,表明它即将超时,正在转储主线程的回溯
config/unicorn.conf.rb:203:in `backtrace'
config/unicorn.conf.rb:203:in `block (2 levels) in reload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:229:in `wait_readable'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:229:in `rbuf_fill'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:199:in `readuntil'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:209:in `readline'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http/response.rb:158:in `read_status_line'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http/response.rb:147:in `read_new'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2420:in `block in transport_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2411:in `catch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2411:in `transport_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:2384:in `request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/net_patches.rb:19:in `block in request_with_mini_profiler'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:45:in `step'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/patches/net_patches.rb:18:in `request_with_mini_profiler'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:168:in `block in perform_completion!'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1632:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1070:in `start'
/var/www/di...

回溯

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/lib/signal_trap_logger.rb:40:in `public_send'
/var/www/discourse/lib/signal_trap_logger.rb:40:in `block (2 levels) in ensure_logging_thread_running'
internal:kernel:187:in `loop'
/var/www/discourse/lib/signal_trap_logger.rb:37:in `block in ensure_logging_thread_running'

您的 Discourse 容器可以访问端口 11434 上的服务吗?如果它运行在主机上,您需要提供一种让网络跨越容器边界的方式。

是的,我之前可以使用 Discourse 容器通过同一个端口访问其中一个 LLM 模型。

您能帮忙解决这个问题吗?以及运行此 LLM 的最低内存要求是多少?

所以可能是

您好 @Falco

我已经成功集成了下面概述的语言模型 (LLM)。但是,我在查询过程中遇到一个问题:提示未能考虑我论坛的具体内容。它没有从我论坛的相关讨论和见解中提取信息,而是根据 LLM 预先存在的信息生成响应。我应该采取哪些步骤来纠正这种情况,并确保模型有效整合我论坛的独特贡献?

如先前建议使用的 LLM:
https://ollama.com/library/gemma3:12b

示例:

image

工具部分的个性化中,请确保它同时拥有搜索读取的访问权限,并将搜索设置为强制工具

image

另外,个性化要搜索的论坛内容是否全部公开?

@Falco,我希望我的机器人能够根据我的知识库中存储的内容提供响应。您能否分享与 AI 插件及其他插件相关的全面设置?此外,我们是否需要在此应用程序中执行任何特定命令来启用检索增强生成 (RAG)?