当前位置: 首页 > news >正文

SpringAI Alibaba 集成与简单使用

一、基础环境配置

注册阿里百炼平台

前往 https://bailian.console.aliyun.com/?tab=model#/model-market?provider=aliyun

新建API-KEY

二、SpringBoot 集成

1、pom文件

    <dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-bom</artifactId><version>1.0.0.2</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-dashscope</artifactId></dependency></dependencies>

2、简单聊天机器人

    private final ChatClient chatClient;public HelloworldController(ChatClient.Builder builder) {this.chatClient = builder.build();}

直接返回结果:

    @GetMapping(value = "/chat")public CommonResult<String> chat(@RequestParam(value = "input") String input) {String content = this.chatClient.prompt().user(input).call().content();return CommonResult.successData(content);}

流式返回结果:

    @GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)public ResponseEntity<Flux<String>> stream(String input) {Flux<String> stream = this.chatClient.prompt().user(input).stream().content();return ResponseEntity.ok().contentType(MediaType.parseMediaType("text/event-stream;charset=UTF-8")).body(stream);}

返回实体类型:

    @GetMapping("/address")public CompanyAddress movies(@RequestParam(value = "input") String input) {return this.chatClient.prompt().user(input).call().entity(CompanyAddress.class);}@Data
public class CompanyAddress implements Serializable {@Schema(description = "名称")private String name;@Schema(description = "电影")private String films;@Schema(description = "公司名称")private String company;@Schema(description = "地址")private String address;@Schema(description = "日期")private String[] dates;}

设定消息角色:

    public HelloworldController(ChatClient.Builder builder) {this.chatClient = builder.defaultSystem("你是全宇宙最好的智能AI平台,用周星驰的语气回答问题").build();}

设定消息角色时指定动态参数:

    public HelloworldController(ChatClient.Builder builder) {this.chatClient = builder.defaultSystem("你是一个智能AI平台,用{person}的语气回答问题").build();}@GetMapping(value = "/chatPerson")public CommonResult<String> chatPerson(@RequestParam(value = "input") String input,String  person) {String content = this.chatClient.prompt().system(sp->sp.param("person",person)).user(input).call().content();return CommonResult.successData(content);}

http://www.dtcms.com/a/400689.html

相关文章:

  • 网站规划与建设规划书wordpress如何添加目录菜单
  • 常州市网站建设设计深圳国外网站制作公司
  • 万网建站流程网络规划设计师属于高级职称吗
  • wordpress建站小百科网站手机模板和pc模板要分开做
  • 网站设计建设公司1.2婚庆网站建设的目的
  • wordpress插件系统大连百度推广seo
  • 张家港做网站的公司用公司注册公司需要什么资料
  • 网站制作替我们购买域名wordpress docker镜像
  • 化肥厂的网站摸板wordpress修改登陆地址后缀
  • 网站设计制作价钱网站开发河南
  • jsp 网站开发永州做网站的公司
  • 广州哪里有做网站icp网站备案系统
  • 手机网站的作用asp装饰公司网站源码
  • 淘宝客网站虚拟主机什么是网络营销促销?网络营销促销有何作用?
  • 池州网站制作哪家好高端网名好听又有个性
  • HTML电影订票网站开发网站流量评价有哪几方面
  • 进行网站开发的所有步骤欧模网室内设计网官网
  • GDB 知识体系
  • 山东专业企业网站建设深圳酒店品牌设计公司
  • 海南做网站的公司有哪些PHP企业网站开发实践
  • 做返利网站能赚钱唐山建设集团网站
  • 网站建设营销模板营销手段有哪些
  • 学网站建设要多久督查营商环境建设网站
  • 网站制作模板北京商检局做产地证的网站
  • 建设音乐网站的目的猪八戒网可以做网站吗
  • 西安建站套餐四川网站建设 招标
  • Bandicam (班迪录屏) 8.2.2.2531 _Win中文_便携版安装教程
  • jsp网站开发实例 pdfwordpress支持的数据量
  • seo自带 网站建设中国500强企业名称
  • 展会网站源码商贸有限公司企业简介