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

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

点击去百度智能云
在这里插入图片描述

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

		<dependency><groupId>com.baidubce</groupId><artifactId>qianfan</artifactId><version>0.0.9</version></dependency>

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

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页面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins 构建 Web 项目:构建服务器和部署服务器分离, 并且前后端在一起的项目

构建命令 #!/bin/bash cd ruoyi-ui node -v pnpm -v pnpm install pnpm build:prod # 将dist打包成dist.zip zip -r dist.zip dist cp dist.zip ../dist.zip

【Linux】动态库的制作与使用

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

[linux] 如何优雅的用vim阅读jsonl文件

使用 jq 格式化 JSON 假设你已经安装了 jq&#xff0c;你可以在Vim中运行以下命令来格式化JSON数据&#xff1a; :%!jq . 这样会使JSON数据变得更具可读性。 安装Vim的JSON插件 你也可以使用Vim插件来增强对JSON文件的支持和格式化功能。以下是一些你可以使用的插件&#…

Linux——多线程(四)

前言 这是之前基于阻塞队列的生产消费模型中Enqueue的代码 void Enqueue(const T &in) // 生产者用的接口{pthread_mutex_lock(&_mutex);while(IsFull())//判断队列是否已经满了{pthread_cond_wait(&_product_cond, &_mutex); //满的时候就在此情况下等待// 1.…

C++中的模板(一)

首先&#xff0c;我们做一个简单的假设&#xff1a;假如现在你有穿越回古代的机会&#xff0c;然而你在古代的身份是曹植的管家&#xff0c;这天曹植写了一首《洛神赋》&#xff0c;他命令你把这首诗广泛的传播出去&#xff0c;那么在当时的技术条件下&#xff0c;你只能先制作…

自定义刷题工具-python实现

背景&#xff1a; 最近想要刷题&#xff0c;虽然目前有很多成熟的软件&#xff0c;网站。但是能够支持自定义的导入题库的非常少&#xff0c;或者是要么让你开会员&#xff0c;而直接百度题库的话&#xff0c;正确答案就摆在你一眼能看见的地方&#xff0c;看的时候总觉得自己…

Gymnasium 借游戏来学习人工智能

既然有了免费的linux系统GPU&#xff0c;干脆演示一下使用drivecolab套件来训练模型。 !apt-get install -y build-essential swig !pip install box2d-py !pip install gymnasium[all] !pip install gymnasium[atari] gymnasium[accept-rom-license] !pip install stable_bas…

dify/api/models/task.py文件中的数据表

源码位置&#xff1a;dify/api/models/task.py CeleryTask 表结构 字段英文名数据类型字段中文名字备注idIntegerID自增主键&#xff0c;任务ID序列task_idString任务ID唯一任务标识statusString状态默认值为 PENDINGresultPickleType结果可为空date_doneDateTime完成日期默认…

OJ-0709

示例&#xff1a; 输入&#xff1a; 5 100 10 10 20 30 40 50 3 4 5 6 10 20 30 20 40 30 输出&#xff1a; 0 30 0 40 0import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int number scanner…

项目收获总结--Redis的知识收获

一、概述 最近几天公司项目开发上线完成&#xff0c;做个收获总结吧~ 今天记录Redis的收获和提升。 二、Redis异步队列 Redis做异步队列一般使用 list 结构作为队列&#xff0c;rpush 生产消息&#xff0c;lpop 消费消息。当 lpop 没有消息的时候&#xff0c;要适当sleep再…

2024.7.9总结(找对象的逻辑)

今天口语表达训练5分钟&#xff0c;阅读1h,然后电脑坏了&#xff0c;学python计划估计是完不成了。 然后&#xff0c;今天想聊聊毕业后要不开的两件事&#xff0c;工作和找对象。事业是前期最应该关注和重视的&#xff0c;但找对象结婚关乎后半生的幸福&#xff0c;也不能不做…

SSL证书到期自动巡检脚本-推送钉钉告警

1. 编写SSL证书巡检脚本 cat /hao/batch_check_ssl_expire.sh #!/bin/bash# 域名列表文件绝对路径 domains_file"/hao/domains.txt"#钉钉webhook webhook_url"https://oapi.dingtalk.com/robot/send?access_token99999999999999999999999999999999999999999…

深度学习pytorch多机多卡网络配置桥接方法

1 安装pdsh&#xff08;Parallel Distributed Shell&#xff09; sudo apt install pdsh sudo -s # 切换超级用户身份 …

oracle查询出表中某几个字段值不唯一的数据

假设有一张学生表&#xff0c;建表语句如下&#xff1a; --学生 student表 create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5), birthday date );现计划创建唯一索引&#xff08;sno&#xff0c;sname&#xff09;&…

决策树构建精要:算法步骤与实现细节

决策树构建&#xff1a;算法流程与步骤 决策树是一种强大的机器学习算法&#xff0c;用于分类和回归问题。下面将详细介绍决策树的构建流程和具体步骤&#xff0c;帮助您理解并实现决策树算法。 1. 算法流程 决策树的构建流程可以概括为以下几个主要步骤&#xff1a; 特征选…

如何查看Impala集群的状态和日志

查看Impala集群状态 使用Impala Shell 登录到任何集群节点&#xff0c;通过Impala Shell可以查询集群状态。执行命令 invalidate metadata; 可以强制Impala重新加载元数据&#xff0c;有助于识别任何元数据同步问题。此外&#xff0c;可以运行简单的SQL查询&#xff08;如 SEL…

MATLAB备赛资源库(1)建模指令

一、介绍 MATLAB&#xff08;Matrix Laboratory&#xff09;是一种强大的数值计算环境和编程语言&#xff0c;特别设计用于科学计算、数据分析和工程应用。 二、使用 数学建模使用MATLAB通常涉及以下几个方面&#xff1a; 1. **数据处理与预处理**&#xff1a; - 导入和处理…

Redis 中的跳表(Skip List)

Redis 中的跳表&#xff08;Skip List&#xff09;是一种用于实现有序集合&#xff08;Sorted Set&#xff09;的数据结构。跳表是一种非平衡的、概率性的数据结构&#xff0c;它提供了与平衡树类似的性能&#xff0c;但在实现上更简单&#xff0c;通常更容易理解和编码。跳表的…

模型计算量 MAC/FLOPs 的手动统计方法

文章目录 简介背景为什么理解神经网络中的MAC和FLOPs很重要&#xff1f;资源效率内存效率能耗功耗效率 模型优化性能基准研究与发展 FLOPs 和 MACs 定义1. 全连接层 FLOPs 计算步骤 1&#xff1a;识别层参数步骤 2&#xff1a;计算 FLOPs 和 MACs步骤 3&#xff1a;总结结果使用…

行列视(RCV)是否支持批量共享和自定义共享设置,以提高共享效率?

行列视&#xff08;RCV&#xff09;确实支持批量共享和自定义共享设置&#xff0c;以提高共享效率。以下是根据参考文章信息&#xff0c;对RCV在共享功能方面的详细说明&#xff1a; 1. 批量共享&#xff1a; - RCV系统支持大规模数据或报表的共享&#xff0c;这意味着用户可以…