大模型不支持联网搜索?为Deepseek、Qwen、llama等本地模型添加网络搜索

大模型不支持联网搜索?为Qwen、llama等模型添加网络搜索

当我们需要大模型进行联网搜索,但是大模型不支持怎么办?

  1. 给平台联系,告诉他顾客就是上帝,赶紧给我支持!!!
  2. 使用function_call函数调用
  3. 我先搜索,把问题和搜索结果一起给大模型

本文接下来是介绍第三种实现方案,利用SearXNG网络搜索结合大模型,实现联网问答。

在开始之前,基础代码不再编写,在上一篇博文已经进行介绍过了。
请先参考上一篇博文Java快速接入qwen2.5、llama3.1等Ollama平台开源大模型

SearXNG

SearxNG 是一个自托管的搜索引擎,允许用户通过搜索 API 进行网络搜索。内置多款搜索引擎供用户选择或者自由叠加,例如google,bing, google_scholar等等。

SearXNG-GitHub连接:searxng-docker

可以按照官方的readme文档进行部署,已经写得较为清楚了。

重要

注意要修改setting文件,支持json-format

search:
  ...
  formats:
    - html
    - json

坐标引入

注意版本号需要大于等于0.8.1,否则会有一些bug

        <dependency>
            <groupId>io.github.lnyo-cly</groupId>
            <artifactId>ai4j-spring-boot-starter</artifactId>
            <version>0.8.1</version>
        </dependency>

配置yml

application.yml中添加配置


ai:
  ...
  websearch:
    searxng:
      url: "http://127.0.0.1:8080/search"
      nums: 10
      engines: "duckduckgo,google,bing,brave,mojeek,presearch,qwant,startpage,yahoo,arxiv,crossref,google_scholar,internetarchivescholar,semantic_scholar"

使用

仅需要使用aiService.webSearchEnhance就可以实现联网功能。

    @Autowired
    private AiService aiService;

    @GetMapping("/chat")
    public String getChatMessage(@RequestParam String question) throws Exception {
        // 获取OpenAi的聊天服务
        IChatService chatService = aiService.getChatService(PlatformType.OLLAMA);
        chatService = aiService.webSearchEnhance(chatService);
        // 创建请求参数
        ChatCompletion chatCompletion = ChatCompletion.builder()
                .model("qwen2.5:7b")
                .message(ChatMessage.withUser(question))
                .build();


        System.out.println(chatCompletion);

        // 发送chat请求
        ChatCompletionResponse chatCompletionResponse = chatService.chatCompletion(chatCompletion);

        // 获取聊天内容和token消耗
        String content = chatCompletionResponse.getChoices().get(0).getMessage().getContent();
        long totalTokens = chatCompletionResponse.getUsage().getTotalTokens();
        System.out.println("总token消耗: " + totalTokens);

        return content;
    }

结果测试

问:“鸡你太美”是什么梗
答:**“鸡你太美”是一个网络流行语。**

这个梗源于2016年11月29日SWIN-S发布的歌曲《只因你太美》中的歌词“只因你太美”。由于蔡徐坤在综艺节目《偶像练习生》中自我介绍时唱这句歌词的速度过快,被网友误听为“鸡你太美”。

此后,这句话因其独特的发音效果在网络上广为流传,并且激发出了大量围绕它创作的二创内容。这些作品包括鬼畜恶搞视频等,进一步促进了该梗的社会传播。

参考资料:
- [鸡你太美 - 萌娘百科 万物皆可萌的百科全书](https://mzh.moegirl.org.cn/%E9%B8%A1%E4%BD%A0%E5%A4%AA%E7%BE%8E)
- [被批恶俗的“鸡你太美”是什么梗?律师:涉嫌...</span>](https://www.thepaper.cn/newsDetail_forward_22181243)
- [蔡徐坤的“鸡你太美”到底是什么梗?_网易订阅](https://www.163.com/dy/article/EC11Q091051185V9.html)
- [鸡你太美(网络流行语)_百度百科](https://baike.baidu.com/item/%E9%B8%A1%E4%BD%A0%E5%A4%AA%E7%BE%8E/53592938)

20241218234609

<think>嗯,用户遇到了Debian Jessie仓库无法更新的问题,提示“apt-secure repository does not have a Release file”。我需要先分析可能的原因。首先,Debian Jessie已经进入LTS阶段,可能官方仓库已经迁移到存档服务器了。原来的security仓库可能不再维护,导致Release文件缺失。 接下来,我应该检查用户是否还在使用旧的源列表。正确的做法是建议用户将源切换到archive.debian.org或者deb.debian.org的存档地址。此外,用户可能需要更新GPG密钥,因为旧的密钥可能已过期或被替换。 另外,用户可能没有正确配置源地址的组件,比如main、contrib、non-free部分是否齐全。需要提醒用户检查这些配置。还有,HTTPS支持可能需要安装apt-transport-https包,虽然Jessie默认应该支持,但确认一下也好。 然后,处理步骤应该包括修改sources.list文件,替换旧的URL,添加正确的deb行,可能还要导入新的密钥。最后执行apt-get update看看是否解决问题。如果还有其他问题,可能需要更详细的日志或者检查网络连接。 用户可能不太清楚如何编辑源列表,所以需要给出具体的命令示例,比如使用sed替换源地址,或者手动编辑文件。同时,提醒备份sources.list是个好习惯,防止出错。 最后,生成的相关问题应该覆盖常见后续疑问,比如如何完全升级系统、处理GPG错误、切换其他镜像源等。这样用户如果有其他问题,可以自行参考。</think>### Debian Jessie仓库Release文件缺失解决方案 Debian 8 "Jessie"已于2018年进入LTS(长期支持)阶段,其官方仓库已迁移至存档服务器。当出现"repository does not have a Release file"错误时,可按以下步骤修复: 1. **修改源列表** ```bash sudo sed -i 's/httpredir.debian.org/archive.debian.org/g' /etc/apt/sources.list sudo sed -i 's/security.debian.org/archive.debian.org\/debian-security/g' /etc/apt/sources.list ``` 2. **推荐的安全源配置** ```bash deb http://archive.debian.org/debian/ jessie main contrib non-free deb http://archive.debian.org/debian-security/ jessie/updates main ``` 3. **添加LTS支持源** ```bash deb http://deb.debian.org/debian jessie-backports main ``` 4. **更新软件包列表** ```bash sudo apt-get update -o Acquire::Check-Valid-Until=false ``` **注意**:需强制忽略过期时间戳检查[^1]。如果出现GPG错误,需导入新密钥: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553 ```
评论 14
添加红包
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值