当前位置: 首页 > 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.dtcms.com/a/339666.html

相关文章:

  • 佰力博检测与您探讨电晕极化时有时会击穿是什么原因
  • 海洋牧场智能化监控系统升级,保障养殖安全
  • Web3.0 时代的电商系统:区块链如何解决信任与溯源问题?
  • 嵌入式系统学习Day19(数据结构)
  • 用poll改写select
  • 网站频繁遭遇SQL注入、XSS攻击该怎么办?
  • 分布式搜索(Elasticsearch)深入用法
  • git 创用操作
  • java快速接入mcp以及结合mysql动态管理
  • 【SQL优化案例】统计信息缺失
  • 前端使用koa实现调取deepseekapi实现ai聊天
  • RabbitMQ:SpringAMQP Fanout Exchange(扇型交换机)
  • Apache ECharts 6.0.0 版本-探究自定义动态注册机制(二)
  • HTML5视频加密播放的主要优势
  • 本地存储(Local Storage)与Cookie的深度对比
  • RWA在DeFi中的应用
  • 行业分析---领跑汽车2025第二季度财报
  • EasyExcel 合并单元格最佳实践:基于注解的自动合并与样式控制
  • 大模型如何通过人工指标来评估效果?有哪些常用的人工指标?
  • FGF21对牛磺胆酸钠诱导的急性胰腺损伤的应答
  • DAY48 随机函数与广播机制
  • 补偿电流控制的APF并联型有源电力滤波器simulink
  • 2025年09月计算机二级MySQL选择题每日一练——第一期
  • 《深入源码理解webpack构建流程》
  • springboot 项目正常启动后自动结束
  • 当硅基生命遇见碳基萌宠:Deepoc具身智能如何重新定义“宠物监护者”
  • 【QT入门到晋级】进程间通信(IPC)-socket(包含性能优化案例)
  • UX 设计入门第二课:如何洞察人心?用户研究方法论导览
  • elementplus组件文本框设置前缀
  • 07复杂度分析实战习题集