spring ai 提示词技巧
什么是提示词呢?
大预言模型就像是一位学识渊博但是缺乏上下文理解能力的专家,它可以处理海量的数据,但是它不能猜你想要什么样的数据。你给他输入的每一条数据,都是它输出的依据。ai它很聪明,但是他不会读心术,他需要非常清晰的指令,才能输出高质量的内容,这个指令就提示词(prompt)。
提示词要素:
1.目标(Objective),你想要做什么
2背景(context)发生在什么场景下
3受众(Audience)给谁看/听/用
4风格(Style)用什么方式表达
5语气(Tone)带着什么情绪说话
6格式(Response Format)输出长什么样子
7约束条件(Response Format)不能做什么
提示词技巧
CO-STAR 结构化框架
CO-STAR 并不是⼀个全新的概念集合, ⽽是对已有提⽰词要素的⼀次逻辑重组与流程优化. 它像⼀张"检查清单+导航图", 引导我们⼀步步构建完整、清晰、可执⾏的指令, 尤其适合复杂任务或团队标准化使用。
什么是CO-STAR?
c Context (背景)
o Objective (⽬标)
s Style (⻛格)
t Tone (语⽓)
a Audience (受众)
r Response (响应格式)
少样本提示(Few-Shot Prompting)
什么是少样本提示?
简单来说, 就是在提问前, 先给 AI 看⼏个"标准答案"的例⼦, 让它从中学习模式、⻛格或逻辑结构从而更加准确的生成后续内容,相当于就是让他比着葫芦画瓢。
思维链提示(Chain-of-Thought, CoT)
简单来说, 就是让 AI 在给出最终答案前, 先展⽰它的"思考过程"
自我⼀致性 (Self-Consistency, SC)
自我一致性 = 让模型多想几遍,选出现最多的答案。
避免一次想错、胡说,用 “多数投票” 保证结果靠谱。
Cursor Rules
什么是Cursor
Cursor 是⼀个完整的 AI 驱动编程⼯具 (AI 驱动的 IDE) , 不仅仅是⼀个代码补全⼯具, 更实现了更深层次 的 AI 集成. 可以直接⽤⾃然语⾔和它对话, 询问任何编程相关的问题, 它不仅能即时⽣成代码, 还能解释 代码的原理和设计思路.
Cursor Rules
Cursor Rules 是⼀组预先定义、可复⽤的系统级提⽰规则, ⽤于指导 AI 在⽣成或修改代码时遵循特定 的技术规范、架构约定和编码⻛格. 这些规则不是语法规范, ⽽是如何与 AI 对话才能写出⾼质量代码的 最佳实践.
图像模型
什么是图像模型
图像模型(Image Model)是专注于处理与理解视觉数据的⼈⼯智能模型,是计算机视觉与多模态学习的 核⼼。主要分为两类:
1. 图像⽣成模型:根据⽂本、图像等条件输⼊,合成新的图像。
2. 图像理解模型:对输⼊图像进⾏分析,完成分类、检测、分割等认知任务
简单来说, 就是: 图像模型是⼀种专⻔"看图说话"或"根据描述画画"的⼈⼯智能.
QianFan
百度千帆是百度智能云推出的AI原⽣应⽤开发平台, 基于⽂⼼⼤模型构建, 提供从模型开发到应⽤部署 的全栈AI能⼒⽀持.
申请API_KEY
千帆ModelBuilder地址:https://console.bce.baidu.com/qianfan/
2. 申请Api key
创建API Key
3. 开通产品https://console.bce.baidu.com/qianfan/ais/console/presetService
搭建项目
创建父项目导入依赖
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<!-- 这里要标识springai的版本号-->
<spring-ai.version>1.0.1</spring-ai.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
创建子项目
创建项⽬, 并添加相关依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
配置apikey
spring:
ai:
openai:
api-key: bce-v3/ALTAK-k5VNacqPh9Wpy6DMw6v7b/3ca71814838
base-url: https://qianfan.baidubce.com
chat:
options:
model: "ernie-char-8k"
completions-path: /v2/chat/completions
第一个配置的是apikey
第二个url是

前部分
completions-path是后半部分
model是在这个页面点击支持模型列表

接入点id
添加依赖
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
写接口
@RestController
@RequestMapping("/qianfan")
public class QianfanController {
@Autowired
private OpenAiChatModel openAiChatModel;
@RequestMapping("/chat")
public String chat(String message){
return openAiChatModel.call(message);
}
}
测试

现在我们添加了聊天相关的配置
我们接下来要添加图像相关的配置
添加关于图像模型的配置
chat:
options:
model: "ernie-char-8k"
completions-path: /v2/chat/completions
image:
options:
model: "qwen-image"
imagesPath: /v2/images/generations

先择一个参数id
增加id
@RequestMapping("/image")
public void image(String message){
ImageResponse response=openAiImageModel.call(
new ImagePrompt(message,
OpenAiImageOptions
.builder()
.quality("hd")
.N(1)
.height(1024)
.width(1024).build())
);
String imageUrl=response.getResult().getOutput().getUrl();
System.out.println(imageUrl);
}
语音模型
语⾳合成, ⼜称⽂本转语⾳ (Text-to-Speech, TTS) , 是将⽂本转换为⾃然语⾳的技术
Spring AI 提供了对 OpenAI 的⽂本转语⾳(TTS) API 的⽀持
Spring AI 提供了⾼度抽象的 SpeechModel 和 StreamingSpeechModel 等接⼝, 通过简单的⽅法 调⽤ (如call) 即可完成⽂本到语⾳的转换, 极⼤降低了学习成本和开发复杂度.
参考文档https://docs.spring.io/spring-ai/reference/api/audio/speech/openai-speech.html
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)