一、微信公众号接入盛派 AI 提示词靶场打造专属于你的智能体

1、获取并运行盛派 NCF 项目

NCF项目地址 https://github.com/NeuCharFramework/NCF

然后我们可以使用 git 工具对仓库进行获取

git clone https://github.com/NeuCharFramework/NCF.git

或者直接下载打包好的 zip 文件

当我们克隆或者解压缩好项目后,我们能看到项目的文件夹结构如下图所示:

我们找到 src 文件夹📂src,然后双击进入

我们继续进入 back-end 文件夹📂 back-end,然后双击进入

这就是我们 NCF 项目的后端文件夹,我们找到NCF.sln 解决方案,并双击打开

我们看到盛派 AI 核心模块以及盛派 AI 提示词已经默认集成在 NCF 中

所以我们无需任何操作,直接运行项目即可!

按下键盘 F5 或者在窗口的上方我们找到绿色的运行按钮点击即可启动!

当我们看到 NCF 的启动页面时,恭喜您!这就证明我们项目成功启动了!

我们继续点击“立即安装”,然后我们点击确定

会弹出 NeuCharFramework 初始化安装成功!的提示“请注意保存好您的信息”。

此处的账号和密码肯定和您显示的不一样,以您电脑浏览器中显示的信息为准

PS 如果您是第一次使用 NCF,请继续第 2 步,这里我们也将介绍 NCF 最近升级的一些注意事项⚠️

⚠️注意,如果您是跟着上期分享使用的用户,请和我进行接下来的操作:

首先,停止运行您的应用:通过 VS 的停止按钮,或者直接关闭控制台即可。

然后在 VS 右下角,找到 git 相关内容,确认在 NCF的 master 分支,找到第一个功能菜单,点击打开,然后点击提取。

这里我们看到,我们落后了 80 个提交(距离最新的版本 v0.18.0)我们需要进行“拉取”

我们点击拉取

拉取完成后,我们看到本地已经是最新的一次提交了

重新运行我们的应用,我们会发现程序启动,但无法打开页面。

这是正常的,因为我们的系统管理模块的底层数据结构需要升级,系统无法自动升级系统管理,故需要我们手动升级。

我们在浏览器上访问:

https://localhost:5001/install?forceUpdateModule=Senparc.Xncf.SystemManager

即需要对 Senparc.Xncf.SystemManager 系统管理模块的数据结构进行升级

提示升级完成之后,我们即可在浏览器中,访问:https://localhost:5001/

看到正常打开 NCF 的欢迎页面,继续我们的工作啦~

2、登录盛派 NCF 项目并安装 AI 核心及提示词靶场模块

我们继续点击“点击这里登录管理员后台”

将我们得到的管理员账号和密码分别复制粘贴到我们的登录页面中,然后点击登录

即可进入到 NCF 管理员后台界面

旧版本:

V0.18 之后新版本:

我们看到最新的版本在首页的仪表盘界面有了很大的升级,这些数据是真实的日志信息。

SenparcTraceLog

对应物理文件路径:..\NCF\src\back-end\Senparc.Web\App_Data\SenparcTraceLog

我们可以看到对应的日期和文件名是一致的👍 欢迎大家使用最新的版本进行体验!

接下来展开扩展模块,点击模块管理,或者点击主页的模块统计数字区域,即可进入模块管理页面。

我们需要对“微信管理“、”提示词靶场”和“AI 核心模块”进行安装或升级

0、安装微信管理模块,并点击开启按钮

请一定点击 “开启” 按钮

请一定点击 “开启” 按钮

请一定点击 “开启” 按钮

这是点击开启前的样子

这是点击开启后的样子

1、安装提示词靶场模块,并点击开启按钮

请一定点击 “开启” 按钮

请一定点击 “开启” 按钮

请一定点击 “开启” 按钮

这是点击开启前的样子

这是点击开启后的样子

2、安装 AI 核心模块

请一定点击 “开启” 按钮

请一定点击 “开启” 按钮

请一定点击 “开启” 按钮

这是点击开启前的样子

这是点击开启后的样子

3、配置 AI 核心模块中的 AI 模型(导入 NeuCharAI 云端模型算力)

我们从左侧的菜单中展开 AI 核心模块,并点击首页,即可打开模型管理列表页面,点击添加,或者最新版本提供了导入 NeuCharAI 云端模型算力(免费)

我们看到可以关联 NeuChar 平台(免费)进行云端算力导入(免费)

获取办法请查看之前的分享“开箱即用的盛派 AI 应用”,并联系小嗨申请并获取 ApiKey。

但当我们点击确定时,会提示:

错误:当前系统没有配置 NeuChar 开发者账号,请到【系统管理】模块,设置页面,使用【更新 Neuchar 云账户信息】绑定 NeuChar 开发者账号!

那我们就根据提示信息,进行操作吧~

在左侧菜单栏中,找到系统管理(如果提示模块更新,请更新至该模块的最新版本)

然后点击右侧的执行~

浏览器访问

登录 - Senparc.Weixin SDK - 公众号 小程序 企业号 开放平台 - 微信公众平台 企业号 开放平台 微信支付 SDK JSSDK Senparc.Weixin.MP 盛派网络 盛派公众号

在页面中找到,提供的 AppKey、Secret 信息

点击执行,绑定 NeuChar 云账号,激活更多高级功能!

稍等片刻,即提示执行成功!

让我们回到 AI 核心模块的首页,重新导入 NeuCharAI 云端模型算力~

输入我们 NeuChar 平台的 AI 应用的 DeveloperId 和ApiKey 后,点击确定,即可导入所有免费的云端 AI 模型!

我们看到 NeuChar 平台提供给我们免费使用的 AI 模型类型也有很多。

4、使用盛派 AI 提示词靶场(不详细展开,请参考上一篇文章)

我们展开左侧提示词靶场列表,点击 PromptRange 进入提示词靶场打靶界面

然后我们点击新建靶场

输入靶场名称,并点击确定

选择模型,例如我们这里选择 gpt-4-32k

这里我们详细介绍一下模型参数

·Top_p:控制词的选择范围,值越高,生成的文本将包含更多的不常见词汇

·Temperature :采样温度,较高的值如 0.8 会使输出更加随机,而较低的值如 0.2 则会使其输出更具有确定性

·MaxToken :请求与返回的 Token 总数或生成文本的最大长度,具体请参考所选模型的API文档!

·Frequeny_penalty :惩罚频繁出现的词

·Presence_penalty :惩罚已出现的词

·StopSequences :设定生成文本时的终止词序列。当遇到这些词序列时,模型将停止生成。(输入的内容将会根据英文逗号进行分割)

一般我们使用默认的即可~

之后,我们考虑一下我们这次分享的场景,需要在微信公众号里,进行聊天,故向 AI 问的问题,是用户随机输入的,所以,我们在提示词设计这里,需要引入请求参数。

Prompt 请求参数是用于优化 Prompt 效果的关键参数,能够有效地提高模型的生成能力和性能。

我们点击页面中间位置的”Prompt 请求参数“

我们看到它是需要“前缀”和“后缀”的。

这里我们分享一下,这次使用的提示词:

[要求]

请判断下方[输入]中的内容,按照下述要求进行返回:

1、如果[输入]中的要求,包含生成图片的意思,请在[输出]body返回文字:“Img-True”(不包含前后引号“和”);否则,请根据要求回答[输入]中请求的问题。

[输入]

{{$human_input}}

[输出]

因为我们的模型大多具备多模态,所以我们可以结合微信公众号的特性,让大模型绘画,和我们进行文字或者语音的问答,实际上是都可以的!

5、使用盛派 NCF 微信管理

首先,我们需要有一个微信公众号

这里为了演示方便,我们使用微信公众平台测试公众号的方式

浏览器访问

微信公众平台

使用微信进行登录即可

登录之后,我们可以获取到和微信公众号一样的测试号。

这里我们根据当前页面的内容,在 NCF 中,去填写我们的公众号配置。

填写好后,我们可以点击确认。这里我们还备注了提示词靶场的 Code,直接可以用来关联我们训练好的Agent 智能体,例如,我们回到提示词靶场,我们在选择靶道附近,图示的位置找到鼠标左键单击即可复制到剪切板中。

然后我们即可将复制的值,直接粘贴到新增公众号的PromptRangeCode 中,即可完成公众号和自己定制的AI 智能体的关联!

之后,我们即可使用穿透工具,或者 VS 自带的开发者隧道,使得我们的本地应用可以在公网中访问。

接下来,我们进行微信的相关代码编写

首先我们在项目中找到JeffreyMpMessageHandler.cs文件。我们在 MpMessageHandlerAttribute 的位置改成我们刚刚配置中的微信公众号名称,例如我们这里叫 SW

注意:“公众号名称”必须与所对应的 MessageHandler 所标记的 [MpMessageHandler(name)] 中的 name 对应

然后启动项目,在公众号管理中,可以找到“消息 URL”的超链接,我们可以直接点击“打开”。

在浏览器中即可访问地址:

例如

https://{您的公网域名}/WeixinMp/SW?parameter=1

会出现

证明我们的服务可以用于微信消息。

然后,在微信公众号测试平台,进行绑定,并进行消息认证。

需要点击修改,并填写接口配置信息

请填写接口配置信息,此信息需要你有自己的服务器资源,填写的 URL 需要正确响应微信发送的 Token 验证。

这里请确保应用在运行,并可以通过域名进行访问。

之后,点击提交,微信会校验我们的地址。

然后我们可以关注一下自己的测试公众号

之后,我们便可以在测试公众号中,进行消息的发送,而我们正在运行的应用,即可处理我们所发送的消息,这便依托于我们盛派的看家本领微信 SDK~

在 MpMessageHandler 中的关键代码如下:

(仍需获取该代码文件,请联系盛小嗨)

这里我们注意到这里的变量名也是我们刚刚 Prompt请求参数的 human_input

完成这些代码后,我们重启应用,便可以在微信的对话框中,进行沟通了。

例如,我们咨询盛派的提示词靶场有什么功能

这里我们发现好像 ta 并没有回答完整,这是为什么呢?

如果认真看上文的小伙伴们,会知道,·MaxToken 是请求与返回的 Token 总数或生成文本的最大长度的配置,那好,我们来调整一下我们的配置!

我们看到我们这个版本的参数 MaxToken 只给了100,盛派提示词靶场的功能这么多,必然是不够的,那我们给到 1000 试试~

我们进行打靶,并将新的 Prompt 版本,复制粘贴到我们的公众号绑定中~

我们再次在测试号中,再次问相同的问题,我们可以看到是有更多更完整内容的输出的!

接下来,我们再测试一下绘画的功能~

我们看到这里的关键代码,还记得我们在提示词中的一段,当我们的输入和生成图片相关的词汇时,我们让大模型返回 Img=True 这里是别有深意的~

我们再看关键代码,当我们获取到大模型返回的内容是 Img=True 时,我们会给您先返回,“我开始画画啦”,然后调用 DallE3 根据我们上文的内容,进行作画~

例如,

请帮我生成一幅画,寓意是海上升明月,天涯共此时,同时在画中,写出祝大家 2024 中秋节快乐!

好的,到这里,大家也就完成了专属于自己的 AI 智能体和微信公众号的对接!

还顺利吧,您有遇见任何问题,都可以联系盛小嗨,给我们反馈,感谢您的支持与认可!

当然,盛派 AI Agent 的功能还有很多,例如,我们可以在群里使用多智能体进行问题解答~ 后期会继续分享~ 请大家敬请期待!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐