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

如何快速开发一个网站长沙地铁最新消息

如何快速开发一个网站,长沙地铁最新消息,苏州seo,外包推广公司SpringAI使用总结 基本使用ChatModel和ChatClient简单对话流式输出预设角色prompt#xff08;提示词#xff09;function call#xff08;工具调用#xff09;参考 基本使用 ChatModel和ChatClient SpringAi支持非常多的模型#xff0c;为了统一处理#xff0c;SpringA… SpringAI使用总结 基本使用ChatModel和ChatClient简单对话流式输出预设角色prompt提示词function call工具调用参考 基本使用 ChatModel和ChatClient SpringAi支持非常多的模型为了统一处理SpringAi声明了ChatModel接口各个模型的starter中有ChatModel对应的实现。 当我们引入ollama的依赖后 dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-starter-model-ollama/artifactId/dependency可以在程序中搜索到OllamaChatModel ChatClient是获取与模型进行对话获取响应的入口需要给ChatClient提供ChatModelChatClient也是一个接口不过SpringAi提供了默认的实现。 简单对话 这里调用的是本地的ollama中的模型需要提前下载对应的模型。当然也可以通过api key调用远程的模型服务。 1、引入ollama starter依赖 dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-starter-model-ollama/artifactId/dependency2、配置 spring:ai:ollama:base-url: http://localhost:11434chat:model: deepseek-r1:14b3、创建ChatClient Configuration public class MyAiConfig {Beanpublic ChatClient chatClient(ChatModel chatModel) {return ChatClient.builder(chatModel).build();}}4、对话controller编写 RestController RequestMapping(/ai-chat) public class ChatController {Autowiredprivate ChatClient chatClient;GetMapping(/chat1)public String chat(RequestParam String message) {return chatClient.prompt(message).call().content();} }5、测试结果可以看到模型输出了响应。 流式输出 由于大模型生成响应可能比较慢为了提高用户体验所以出现了流式输出即不等待大模型回答完成后把输出一次性传输到客户端而是将输出不断地传输到客户端。 GetMapping(/chat2)public FluxString chat1(RequestParam String message) {return chatClient.prompt().user(message).stream().content();}预设角色 在创建ChatClient的时候可以给模型设置角色这样模型会按照设置的角色来回答问题。 通过defaultSystem方法预设角色。 Beanpublic ChatClient chatClient(ChatModel chatModel) {return ChatClient.builder(chatModel).defaultSystem(你是一名医生擅长诊断病情并提供对应的治疗方案).build();}prompt提示词 SpringAi中主要有以下几类提示词模板 PromptTemplate通用的提示词模板类用于构建包含占位符的提示语句适用于需要动态替换变量的任意提示内容AssistantPromptTemplate专门用于生成模型助手角色的提示词模板当需要定义 AI 助手的行为或初始指令时使用FunctionPromptTemplate用于生成与函数调用相关的提示词模板当需要模型根据特定函数描述进行推理或调用时使用SystemPromptTemplate用于生成系统级别的提示词模板通常用于设置模型的整体行为用于生成系统级别的提示词模板通常用于设置模型的整体行为 示例 通过Value注解加载提示词模板 Value(classpath:/my-prompt-template.st)private Resource systemResource;GetMapping(/chat4)public String chat4(RequestParam String message) {SystemPromptTemplate systemPromptTemplate new SystemPromptTemplate(systemResource);Prompt prompt systemPromptTemplate.create();return chatClient.prompt(prompt).user(message).call().content();}提示词模板内容 你是我的好朋友请用东北话回答问题回答问题的时候适当添加表情符号。 今天是 {{current_date}}。输出 function call工具调用 使用Tool注解定义工具 public class DateTimeUtil {/*** Tool注解* 1、name工具的名称。如果未提供则将使用方法名称。AI 模型在调用工具时使用此名称来识别工具。因此不允许在同一个类中有两个同名的工具* 2、returnDirect工具结果是应直接返回给客户端还是传递回模型* 3、description工具的描述模型可以使用它来了解何时以及如何调用工具* return*/Tool(name ,description Get the current date and time in the users timezone)public String getCurrentTime() {return LocalDateTime.now().atZone(LocaleContextHolder.getTimeZone().toZoneId()).toString();}/*** ToolParam注解* 1、required参数是必需的还是可选的。默认情况下所有参数都被视为必需参数* 2、descriptiondescription参数的描述模型可以使用该描述来更好地了解如何使用它* param time*/Tool(name setAlarm, description Set a user alarm for the given time)void setAlarm(ToolParam(description Time in ISO-8601 format) String time) {LocalDateTime alarmTime LocalDateTime.parse(time, DateTimeFormatter.ISO_DATE_TIME);System.out.println(Alarm set for alarmTime);}}通过tools方法添加工具模型会自动调用工具 chatClient.prompt().tools(new DateTimeUtil()).user(message).call().content();由于我使用的是本地的deepseek-r1不支持tool报错了这里就不放测试结果了。 [400] Bad Request - {error:registry.ollama.ai/library/deepseek-r1:14b does not support tools}参考 Spring文档Spring Ai视频教程
http://www.yingshimen.cn/news/67237/

相关文章:

  • 自己开发网站怎么盈利国家和住房城乡建设部网站
  • 网站建设实训目的.tel域名不可以做网站域名吗
  • 网站的权重天津网站建设网络
  • 建设一个大型电影网站广州商砼建站规范
  • 苏州哪个公司做门户网站天猫设计师服务平台
  • 中堂镇仿做网站开发房地产需要多少钱
  • 新网站建设教程网站设计平台 动易
  • 中国空间站的意义阿里云企业邮箱怎么申请
  • 网站平台建设论文wordpress配置京东云
  • 网站建设管理ppt模板苏州做网站便宜的公司哪家好
  • 江门自助建站模板百度网站怎么做友情链接
  • 网站建设注意事项网站建设和app开发
  • 如何做推广麦当劳的网站网站批量创建程序
  • 海南网站网络推广邯郸58同城网
  • 高德地图怎么申报地址公司seo是什么级别
  • pcms网站开发响应式网站代码规范
  • 益阳房地产网站建设seo网站营销公司
  • 在哪个网站上做实验仪器比较好网站建设评估报告
  • 浙江省建设部网站揭阳网站免费建站
  • 如何对网站用户分析ppt设计兼职
  • 安徽省城乡建设网站wordpress评论表单获取qq
  • 旅游网站课程设计巩义网络推广公司
  • 做网站前端难吗万网官网登陆
  • 网站注销申请书国内比较高端的设计网站
  • 巴彦淖尔网站建设中国设计网作品欣赏
  • 快速搭建网站框架新手攻略龙岗建设网站
  • 上海营销网站推广多石家庄中企动力
  • 电视剧手机网站大全北湖建设局网站
  • 网站seo监测苏州网站建设官网
  • 宇泽佛山网站建设网站建设绩效考核表