目前的思路是为chatreplyprocess添加了system角色。将新建一个nlp.ts脚本用于将user发送的信息进行关键字提取(使用腾讯的nlp),然后发送给Google api进行搜索,得到information信息然后回传给system角色,将user+system的信息都发给openai,这样就可以实现联网的chatgpt,同时不显示正在搜索等进度,让聊天更自然 前端添加开关,回传给后端进行if的切换是否使用nlp.ts 但是目前有一个困难,项目中对openai的请求不包含role这个类,请问作者可以解释chatreplyprocess这段代码吗
Q
[Chanzhaoyu/chatgpt-web][正在进行]为chatgpt添加google search api支持,让chatgpt联网
2
A
回答
0
因为对nodejs的请求不是很熟悉,openai的官方文档也只有pythone的请求示例
0
这个想法挺好,不过我之前测试的时候,它好像会忽略system的消息,官方让chatgpt联网的方法是插件。个人感觉在之后使用插件实现效果会更好。
0
如果忽略system消息的话,采用字符串连接,然后让每次请求看起来像这样“内容包括fact和user两部分,请根据user部分,结合fact部分回复,user:xxx fact: ”
0
在后端接口里,prompt 和 systemMessage 分别就是 user 和 system 的 role,你可以在 chatReplyProcess 方法前把 prompt 做关键字处理提取信息,然后将 Google 搜索的信息字符串拼接在 systemMessage 后面应该就可以实现了
8
好的,感谢
6
https://github.com/assassinliujie/chatgpt-web/commit/f31b612d4c8cc705ddb47777adc0278845a9c96e#diff-545b64dda2c9829641b013b26196a5a504536d859d562eb3273c2d475b5c6e52 代码大概是写完了,不过出现了一些bug,使用tencentNLP进行关键词提取搜索
3
可以运行的出版写好了,要再对收集到的信息处理进行优化,可以查看我fork的分支
0
9
腾讯的nlp收费吗
3
收,倒是不贵。