SpringBoot实现简单AI问答(百度千帆)

第一步:注册并登录百度智能云,创建应用并获取自己的APIKey与SecretKey,参考网址:

点击去百度智能云

第二步:引入千帆的pom依赖

xml 复制代码
		<dependency>
            <groupId>com.baidubce</groupId>
            <artifactId>qianfan</artifactId>
            <version>0.0.9</version>
        </dependency>

第三步:创建前端需要的controller

java 复制代码
import com.baidubce.qianfan.core.auth.Auth;
import com.lx.vue.common.resp.ResultData;
import com.lx.vue.common.resp.ReturnCodeEnum;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.core.builder.ChatBuilder;
import com.baidubce.qianfan.model.chat.ChatResponse;

@RestController
public class QianFanController {

    private static final String APIKey = "你的APIKey";
    private static final String SecretKey = "你的SecretKey";

    private static Qianfan qianfan = new Qianfan(Auth.TYPE_OAUTH,APIKey, SecretKey);


    @PostMapping("/ai/sendMsg")
    public ResultData sendMsg(@RequestBody String problem) {
        String result = null;
        try {
            result = chat(problem);
        } catch (Exception e) {
            e.printStackTrace();
            return new ResultData(ReturnCodeEnum.RC500.getCode(),"服务暂不可用",null);
        }
        return new ResultData(ReturnCodeEnum.RC200.getCode(),ReturnCodeEnum.RC200.getMessage(),result);
    }

    private static String chat(String problem) {
        ChatBuilder bulder = qianfan.chatCompletion()
                .model("ERNIE-Speed-8K");//你要使用的大模型款式,最好和我一样,其他的很有可能是收费的
            bulder.addMessage("user",problem);//你的问题  
        ChatResponse response = bulder.execute();
        return response.getResult();
    }
}

第四步:前端进行调用,并动态将自己的问题与AI的回答填入Vue页面

相关推荐
magic3341656316 分钟前
Springboot整合MinIO文件服务(windows版本)
windows·spring boot·后端·minio·文件对象存储
陈小桔1 小时前
idea中重新加载所有maven项目失败,但maven compile成功
java·maven
小学鸡!1 小时前
Spring Boot实现日志链路追踪
java·spring boot·后端
xiaogg36781 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
逆光的July1 小时前
Hikari连接池
java
微风粼粼1 小时前
eclipse 导入javaweb项目,以及配置教程(傻瓜式教学)
java·ide·eclipse
番茄Salad2 小时前
Spring Boot临时解决循环依赖注入问题
java·spring boot·spring cloud
天若有情6732 小时前
Spring MVC文件上传与下载全面详解:从原理到实战
java·spring·mvc·springmvc·javaee·multipart
祈祷苍天赐我java之术2 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
Olrookie3 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi