您的位置:首页 > 汽车 > 时评 > ui设计素材网站有哪些_怎么自己做app_广州新闻报道_家庭优化大师

ui设计素材网站有哪些_怎么自己做app_广州新闻报道_家庭优化大师

2025/1/10 19:16:42 来源:https://blog.csdn.net/Tir_zhang/article/details/145042643  浏览:    关键词:ui设计素材网站有哪些_怎么自己做app_广州新闻报道_家庭优化大师
ui设计素材网站有哪些_怎么自己做app_广州新闻报道_家庭优化大师

本篇文章在SpringBoot项目中集成百度千帆提供的大模型接口实现Chat问答效果:

一、百度智能云

百度千帆大模型平台是百度智能云推出的一个企业级一站式大模型与AI原生应用开发及服务平台。

  • 注册地址:https://qianfan.cloud.baidu.com/

注册成功后,下载百度智能云APP进行实名认证

实名认证成功之后,进入到管理平台

进入管理平台后,找到应用接入,我们需要创建新的应用,只有创建了应用,后面才能让大模型来绑定应用并使用

输入应用必要的信息(应用名称、应用描述)

创建成功后,保存好APIkey和Secret Key

二、大模型API

大模型API官方文档:API列表 - ModelBuilder

我们本次采用ERNIE-4.0-8K-Preview

ERNIE 4.0是百度自研的旗舰级超大规模⼤语⾔模型,相较ERNIE 3.5实现了模型能力全面升级,广泛适用于各领域复杂任务场景;支持自动对接百度搜索插件,保障问答信息时效,支持5K tokens输入+2K tokens输出。

文档:https://github.com/baidubce/bce-qianfan-sdk/tree/main/java

部分关键参数:

名称

类型

必填

描述

messages

List[dict]

对话信息,messages": [ {"role": "user","content": "你好"}]

message中的content总长度和system字段总内容不能超过20000个字符,且不能超过5120 tokens

model

string

模型名称,用于指定平台支持预置服务的模型,说明:该字段为固定值ERNIE-4.0-8K-Preview(必须开通付费)

temperature

float

大模型的采样参数,

(1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定

(2)默认0.8,范围 (0, 1.0],不能为0

max_output_tokens

int

指定模型最大输出token数,说明:

(1)如果设置此参数,范围[2, 2048]

(2)如果不设置此参数,最大输出token数为1024

response_format

string

指定响应内容的格式,说明:

(1)可选值:

· json_object:以json格式返回,可能出现不满足效果情况

· text:以文本格式返回

(2)如果不填写参数response_format值,默认为text

三、具体使用

1、引入依赖

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

2、封装工具类(核心)

封装一个调用API的工具类。

  • .chatCompletion() 开始构建一个聊天完成请求。

  •  .model(baiduAIProperties.getQianfanModel()) 设置了要使用的模型名称,这个名称通常是预先在百度AI平台配置好的模型。

  •  .addMessage("user", prompt) 添加了一条消息到对话中,角色为 "user",内容是传入的 prompt 参数。

  •  .temperature(0.7) 设置了采样随机性,数值越大意味着输出越随机,数值越小则输出越确定。这里设置为0.7

  •  .maxOutputTokens(2000) 指定了生成的最大token数,即最大输出长度。这里设置为2000个token。

  •  .execute() 执行请求并接收响应。

@Component
@Slf4j
public class AIModelInvoker {@Autowiredprivate BaiduAIProperties baiduAIProperties;public String qianfanInvoker(String prompt){Qianfan qianfan = new Qianfan(Auth.TYPE_OAUTH, baiduAIProperties.getAccessKey(), baiduAIProperties.getSecretKey());ChatResponse response = qianfan.chatCompletion().model(baiduAIProperties.getQianfanModel()).addMessage("user", prompt).temperature(0.7).maxOutputTokens(2000).execute();String result = response.getResult();return result;}
}

为了便于维护,将配置写在配置文件中

@Data
@Configuration
@ConfigurationProperties(prefix = "baidu")
public class BaiduAIProperties {private String accessKey;private String secretKey;private String qianfanModel;
}

application.yml文件:注意把key换成自己的

3、业务层

以下代码仅供参考

前端请求示例:

{

"input":"你好"

}

响应示例:

{

"message":"你好,如果你有任何问题或需要帮助,请随时告诉我,我会尽力回答你的问题。"

}

controller层

@RestController
@RequestMapping("/chat")
public class ChatController {@Autowiredprivate ChatService chatService;@PostMapping("/list")public ChatVo getChatMessage(@RequestBody Chat chat){return chatService.getChatMessage(chat);}
}

service层

@Service
public interface ChatService {ChatVo getChatMessage(Chat chat);
}
@Service
public class ChatServiceImpl implements ChatService {@Autowiredprivate AIModelInvoker aiModelInvoker;@Overridepublic ChatVo getChatMessage(Chat chat) {String result = aiModelInvoker.qianfanInvoker(chat.getInput());ChatVo chatVo = new ChatVo();chatVo.setMessage(result);return chatVo;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com