【AI】联网模式

【AI】联网模式

文章目录

  • 【AI】联网模式
    • 1. 简介
    • 2. 接入步骤
      • 2.1 引入依赖
      • 2.2 方法构建
      • 2.3 接口构建

1. 简介

在使用联网模式之前,我们如果问起ai一些最近网络上流传的一些东西,它可能并不能准确的给你描述出来,因为它的知识库更新时间可能停留在之前,比如我问它一个比较新鲜的话题如下:

【AI】联网模式_第1张图片

它给我的回答是并不知道这部具体的电影及其票房,接下来是开启联网模式后的回应:

【AI】联网模式_第2张图片

可以看到开启联网模式后AI的回答很详细,包括它具体的上下架时间与票房金额。

对此,如果我们需要AI的回答结合上互联网最近的一些信息或者参考资料来作为补充,我们就需要开启联网模式~

2. 接入步骤

2.1 引入依赖

目前联网模式java并不支持直接调用,需要通过SDK进行调用,所以需要引入依赖如下:

<dependency>
    <groupId>com.alibabagroupId>
    <artifactId>dashscope-sdk-javaartifactId>
    <version>2.20.8version>
dependency>

:这里的版本建议在2.18以上,后续引入的其它技术需要这个版本以上才能支持

2.2 方法构建

【官网链接】:大模型服务平台百炼控制台

开启联网模式主要是开启一个字段:enable_search,官网的讲解如下:

【AI】联网模式_第3张图片

我们通过java代码将其封装成一个方法,通过用户传入prompt提问并将回复直接返回:

private String searchModel(String message) throws NoApiKeyException, InputRequiredException {
    Generation gen = new Generation
    Message userMsg = Message.builder()
            .role(Role.USER.getValue())
            .content(message)
            .build();
    GenerationParam param = GenerationParam.builder()
            // 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx")
            .apiKey(System.getenv("DASH_SCOPE_API_KEY")) // 这里替换为自己部署的api-key变量
            // 此处以qwen-plus为例,可按需更换模型名称。
        	// 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
            .model("qwen-plus")
            .messages(Arrays.asList(userMsg))
            .resultFormat(GenerationParam.ResultFormat.MESSAGE)
            .enableSearch(true) // 关键在此,开启联网模式
            .build(	// 将AI回复内容提取出来
    return gen.call(param).getOutput().getChoices().get(0).getMessage().getContent();
}

2.3 接口构建

构建接口如下:

@GetMapping("/chat")
public String model(@RequestParam(value = "message", defaultValue = "Hello") String message) throws NoApiKeyException, InputRequiredException {
    String chat = searchModel(message);
    return chat;
}

执行结果如下:

【AI】联网模式_第4张图片
完成上述步骤联网模式就能正式被启用了!!
以上便是对联网模式的介绍与使用了,如果上述内容对大家有帮助的话请给一个三连关注吧( •̀ ω •́ )✧✨

你可能感兴趣的:(【AI】联网模式)