@YougLin 在 【简单教程】关于我们怎么实现让 new-api 支持任意模型热插拔联网搜索的 中发帖
直接开干。
首先,我们要明确我们的需求:
我们的搜索需要可插拔,如同一个功能可以赋能到任意模型上,其最终效果是这样的:我们可以添加任意多个的搜索引擎,可以为某些模型开启搜索功能,可以配置使用什么模型进行是否搜索的判断和提取搜索关键词等。
[image]
[image]
[image]
流程:一串消息传过来,我们从中抽取最后 N 条信息,交由分析模型进行分析,得到【是否需要联网搜索、搜索关键词、做出判断原因、置信度】,根据我们设定的置信度阈值判断是否要进行搜索,如果要进行搜索,那么就调用我们为这个模型配置的搜索引擎,进行搜索,将搜索到的结果以特定的形式拼接回用户上下文,并添加额外的prompt提示模型进行根据这些搜索结果进行回复。
我们调用小模型是不额外收费的,毕竟我觉得大家都做中转了,这点小成本应该是随便都能cover的。
实现:(只给出关键代码)
先搞几个model
...