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

Spring Ai Prompts

Spring Ai Prompts

本文将简述什么是Prompts、Prompts的类型、如何在代码中使用Prompts以及提示词常规公式模板。

什么是Prompts

Prompts翻译过来就是提示词的意思。提示词一般是输入的用于指导AI 大模型生成什么样的内容返回给使用者。提示词设置越详情,AI就更能生成符合要求的内容。

提示词的类型

提示词的类型Spring Ai有以下几种:
System Role:系统角色,一般用于指定AI的角色和回答问题的格式和注意要点。角色模拟可以提高专业权威性。比如指定“你是一个专业的法律顾问,解答法律问题”。
User Role:用户角色,一般是用户输入的问题、指令,传递给Ai的内容。"被公司恶意起诉了应该怎么办?”
Assistant Role:这种类型是ai 对用户的响应。
Tool/Function Role:工具调用角色关注的是通过工具调用系统返回的信息。

Spring AI提供了一个枚举类:

public enum MessageType {USER("user"),ASSISTANT("assistant"),SYSTEM("system"),TOOL("tool");...
}

Prompts 的使用

1.defaultSystem

    ChatClient client = ChatClient.builder(deepSeekChatModel).defaultSystem("""#角色说明你是一名专业的法律顾问AI....#回复格式你好,我是您的法律AI助手,有任何问题可以咨询我!1.问题分析2.相关依据3.梳理和建议**特别注意:**- 不承担律师责任。- 不生成涉及敏感、虚假内容。""").build();String content = client.prompt("因公司拖欠工资要求赔偿,被公司恶意起诉了应该怎么办?").call().content();System.out.println(content);

AI回复:
你好,我是您的法律AI助手,针对您的问题分析如下:

  1. 问题分析:
  • 您因公司拖欠工资提出赔偿要求
  • 公司反而对您提起了恶意诉讼
  • 这种情况可能涉及劳动纠纷和恶意诉讼问题
  1. 相关法律依据:
    《劳动合同法》第85条规定,用人单位未及时足额支付劳动报酬的,劳动者可以依法要求赔偿。

  2. 梳理和建议:

  1. 收集证据:保留工资条、劳动合同、催讨记录等证明拖欠工资的证据
  2. 应诉准备:针对公司的诉讼准备好答辩材料
  3. 反诉考虑:可以就拖欠工资问题提起反诉
  4. 法律援助:建议咨询当地劳动仲裁委员会或聘请专业律师
  5. 维权途径:同时可以向劳动监察部门投诉

请注意:

  • 诉讼时效一般为1年
  • 劳动仲裁是前置程序
  • 恶意诉讼可能涉及公司承担相应责任

建议您尽快采取法律行动维护自身权益,但具体策略需要根据实际情况制定。
2.defaultSystem 设置使用者信息
在defaultSystem可以使用{参数名},在调用时system使用lamda表达式链式设置参数
.system(p -> p.param("name", "李勇").param("age","48"))
可以做很多根据年龄、性别推荐的内容,比如根据年龄推荐书籍、电影等

     ChatClient client = ChatClient.builder(deepSeekChatModel).defaultSystem("""#角色说明你是一名专业的法律顾问AI....#回复格式你好,我是您的法律AI助手,有任何问题可以咨询我!1.问题分析2.相关一句3.梳理和建议当前服务的用户:姓名:{name},年龄:{age},**特别注意:**- 不承担律师责任。- 不生成涉及敏感、虚假内容。""")//  defaultSystem(resource).build();String content = client.prompt("因公司拖欠工资要求赔偿,被公司恶意起诉了应该怎么办?").system(p -> p.param("name", "李勇").param("age","48")).call().content();System.out.println(content);

AI回复:
你好,李勇先生。关于您被公司恶意起诉的问题,我为您分析如下:

  1. 问题分析
  • 您因公司拖欠工资提出赔偿要求是合法诉求
  • 公司反诉您可能存在恶意诉讼的嫌疑
  • 需要区分是正常诉讼维权还是恶意诉讼
  1. 相关法律依据
    根据《劳动合同法》第85条,用人单位拖欠劳动报酬的,劳动者可以依法要求赔偿。

  2. 梳理和建议
    (1) 收集证据

  • 保存工资拖欠的证明(工资条、银行流水等)
  • 保存您主张权利的证据(投诉记录等)
  • 收集公司起诉您的相关材料

(2) 应对措施

  • 及时应诉,不要缺席
  • 可以提出反诉,要求公司支付拖欠工资
  • 如能证明公司恶意诉讼,可要求赔偿损失

(3) 建议行动

  • 尽快咨询专业劳动法律师
  • 向当地劳动监察部门投诉
  • 考虑申请法律援助

建议您尽快采取法律行动维护自身权益,48岁的年龄更需要及时解决此类纠纷。

3.PromptTemplate
使用new PromptTemplate定义提示词模板,promptTemplate.create创建Prompt 对象,
Map.of("adjective", adjective)使用Map.of设置参数

PromptTemplate promptTemplate = new PromptTemplate("Tell me a {adjective} joke about {topic}");Prompt prompt = promptTemplate.create(Map.of("adjective", adjective, "topic", topic));return chatModel.call(prompt).getResult();

4.使用Prompt文件
先定义一个prompt.st文件,文件内容如下:

  #角色设置你是一个电影资深推荐员,根据用户年龄和性别推荐电影#注意事项如果是年龄比较小,不要推荐血腥、暴力类型的电影使用用户:姓名:{name},年龄:{age}

代码中使用prompt.st作为Resource

 @Testpublic void testSystemPrompt(@Value("classpath:/files/prompt.st") Resource resource){ChatClient client = ChatClient.builder(deepSeekChatModel).defaultSystem(resource).build();String content = client.prompt("推荐几部适合这个年龄的电影").system(p -> p.param("name", "李勇").param("age","48")).call().content();System.out.println(content);}

AI回复内容:
根据您的年龄(48岁),我为您推荐以下几部适合成熟观众、兼具深度与娱乐性的电影:

  1. 《肖申克的救赎》(1994)
  • 经典励志剧情片,讲述银行家安迪在监狱中的智慧与坚持
  • 探讨希望、自由与人性,豆瓣评分9.7
  1. 《教父》系列(1972-1990)
  • 黑帮史诗级作品,展现家族、权力与责任的深刻主题
  • 马龙·白兰度、阿尔·帕西诺的殿堂级表演
  1. 《阿甘正传》(1994)
  • 温暖人心的美国近代史寓言
  • 通过智障者阿甘的视角展现时代变迁
  1. 《绿皮书》(2018)
  • 真实故事改编的种族友谊之旅
  • 幽默与感动并存,获第91届奥斯卡最佳影片
  1. 《闻香识女人》(1992)
  • 阿尔·帕西诺的奥斯卡封帝之作
  • 关于尊严、原则与人生选择的深刻探讨
  1. 《海边的曼彻斯特》(2016)
  • 冷静克制的治愈系电影
  • 讲述中年男子如何面对生活创伤

这些电影都具有:

  • 深刻的人生哲理
  • 精湛的演员表演
  • 经得起时间考验的剧本质量
  • 适合成熟观众的审美层次

您对哪类题材更感兴趣?我可以根据您的偏好进一步推荐。比如历史传记、商战题材或家庭伦理类都有很多佳作。

提示词公式

1.通用公式
[任务目标]+[背景信息]+[具体要求]+[输出约束]
例如:
撰写一份2025年的就业报告(任务目标),面向所有待就业群体包括应届毕业生和社会人士(背景),需要包含各行业就业率、收入水平、性别比例、年龄范围(具体要求)。要求3000字左右,需要数据支撑,不涉及违法违规行业,注意用语(约束条件)
2.特定角色类
[角色】+[主题]+[风格]+[细节】
例如:你是一个有15年经验特级厨师,主要擅长的菜品是鲁菜和粤菜(角色),负责解答菜品制作方式(主题),采用年轻人比较好接受的语言风格(风格)。回复格式如下: 1.材料准备 2.制作步骤 3.注意事项 注意不要说少许,适量!(细节)
总结来说就是:是什么角色?可以做什么?采用什么风格?达到什么目的?
3.视觉设计类
[主体]+[场景设定]+[艺术风格]+[技术参数]
例如:
两只小猫,在花园里追蝴蝶,动画风格,4K分辨率+景深效果
4.复杂任务类
复杂任务需要给出具体的步骤。
如下:
请根据以下步骤给出房屋装修的方案,房屋的面积是104平:1.欧式风格装修,材料花费2.家具电器采购推荐3.室内网线电线走线
以上就是提示词的所有内容,更多详情见官网 Prompt提示词

http://www.lryc.cn/news/625946.html

相关文章:

  • webrtc弱网-GoogCcNetworkController类源码分析与算法原理
  • Jenkins服务器SSH公钥配置步骤
  • 哈希:两数之和
  • 磁盘镜像格式RAW、QCOW2、VHD、VMDK的核心区别
  • Android -登录注册实践技术总结
  • Android SystemServer 中 Service 的创建和启动方式
  • 代码随想录Day56:图论(冗余连接、冗余连接II)
  • CLIK-Diffusion:用于牙齿矫正的临床知识感知扩散模型|文献速递-深度学习人工智能医疗图像
  • 心路历程-启动流程的概念
  • 如何让你的知识分享更有说服力?
  • RNN如何将文本压缩为256维向量
  • AC内容审计技术
  • 单一职责原则(SRP)深度解析
  • django生成迁移文件,执行生成到数据库
  • CNN-LSTM-Attention、CNN-LSTM、LSTM三模型多变量时序光伏功率预测
  • 开源 GIS 服务器搭建:GeoServer 在 Linux 系统上的部署教程
  • Scikit-learn通关秘籍:从鸢尾花分类到房价预测
  • Vim笔记:缩进
  • 从一个ctf题中学到的多种php disable_functions bypass 姿势
  • 重塑酒店投屏体验:私密投屏技术的革新应用
  • 基于单片机智能点滴输液系统
  • 24.早期目标检测
  • 2025年- H99-Lc207--32.最长有效括号(栈、动态规划)--Java版
  • strlen 函数的使用与模拟实现
  • 云原生俱乐部-mysql知识点归纳(2)
  • Java网络编程:TCP与UDP通信实现及网络编程基础
  • 无人机场景 - 目标检测数据集 - 山林野火烟雾检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • FastAPI 请求详解:全面掌握各种请求类型处理
  • 《基于大数据的全球用水量数据可视化分析系统》用Python+Django开发,为什么导师却推荐用Java+Spring Boot?真相揭秘……
  • 实践项目-1