丰富 AI 插件的 API 调用?

您好,

我正在企业环境中工作,我们使用Discourse作为支持云平台的讨论板。我们想利用Discourse的AI插件用于多个用例,甚至有内部AI端点,它们与OpenAI兼容。

问题是,发向这些端点的请求必须包含带有来自内部m2m认证端点的oauth2令牌的认证头,该端点必须提前检索。

我考虑过几种方法,比如在托管discourse的ec2实例上设置本地代理,可以用来在请求中添加该认证信息。另一种方法是使用API网关,用一个获得令牌的授权Lambda进行验证。

我还没理解的是,你们可以在Discourse AI插件中添加哪些工具。
这些工具是否可以用来实现我想要的功能?

非常感谢你的支持,祝你有愉快的一天!

祝好,

WS

这有点棘手。

我们通常不喜欢添加太多配置选项,因为它会使人们感到困惑,但我明白您现在很难解决这个问题,我们可能需要另一个配置选项。

一种选择是允许与 OpenAI 兼容的选项有一个“自定义标头”部分。

工具无法轻易解决此问题,因为这将创建一个极其复杂的工作流程,而且我们无法轻松传递工具所需的所有信息。

@Falco 有什么想法?

将其移至功能,因为它是一个功能请求。

1 个赞

@sam,

感谢你的回复和你的想法。

一个自定义头部的字段还不够,因为令牌必须在每次 API 调用之前动态获取。

也许更像是一种管道/中间件,让某个人可以用自己的代码转变整个传出的调用,然后再发送出去?

非常感谢大家,祝你们有美好的一天!

祝好,

WS

哎呀,这确实相当高级。

我想如果自定义工具足够丰富,它们也能做到这一点……感觉有点像鲁布·戈德堡机械,但可以想象一下。

  1. 如果配置包含一个角色:
    1. 强制调用工具
    2. 强制使用自定义工具,并且该工具没有参数
  2. 然后,我们不调用 LLM,而是直接将控制权交给工具
  3. 然后,我们为工具提供足够的基础设施,通过某种方式的控制反转将结果流式传输回应用程序

这是一个惊人的巨大变化,并且维护起来将非常困难。

我想另一种选择是定义一个新的自定义插件,它依赖于 Discourse-AI 并定义你自己的方言和端点——这无疑是最简单的方法。

通过像 Nginx 配合 LUA 脚本这样的轻量级代理来解决这个特定需求要容易得多,我认为 @Wurzelseppi 走这条路会更好。

1 个赞

各位,

你们认真讨论像我这样的小用户需求的态度太棒了。我一直对你们的奉献精神感到惊讶,我是认真的(不是开玩笑 :-))。

是的,因为整个东西都运行在 ec2 实例上,而且我已经决定走 AWS API Gateway → Lambda → LLM 端点的路线……

集成到 Discourse 中会更酷,但我当然理解这会带来复杂性……

非常感谢你们的时间,以及你们帮助这里所有用户的时间!

我想不出比这更好的论坛软件了,不仅因为软件的成熟度,还因为提供支持的人。

祝大家一周愉快……保持你们现在的样子!

祝好,

WS

1 个赞