AI在线 AI在线

超实用!SpringAI提示词的四种神级用法

提示词(Prompt)是输入给大模型(LLM)的文本指令,用于明确地告诉大模型你想要解决的问题或完成的任务,也是大语言模型理解用户需求并生成准确答案的基础。 因此 prompt 使用的好坏,直接决定了大模型生成结果的质量(是否符合预期)。 那问题来了,在 Spring AI/Spring AI Alibaba 如何用好提示词?

提示词(Prompt)是输入给大模型(LLM)的文本指令,用于明确地告诉大模型你想要解决的问题或完成的任务,也是大语言模型理解用户需求并生成准确答案的基础。因此 prompt 使用的好坏,直接决定了大模型生成结果的质量(是否符合预期)。

超实用!SpringAI提示词的四种神级用法

那问题来了,在 Spring AI/Spring AI Alibaba 如何用好提示词?以及提示词的使用方式有哪些呢?接下来本文一起来盘点一下。

1.简单提示词使用

最简单的设置固定系统提示词和用户提示词的用法如下:

复制
@RequestMapping("/chat")
public String chat(String msg) {
    String result = chatClient.prompt()
            .system("你是一个问答助手") // 设置系统提示词
            .user(msg)                 // 设置用户提示词
            .call().content();
    System.out.println("结果:" + result);
    return result;
}

2.动态提示词

所谓的动态提示词指的是需要进行动态参数替换的提示词,它的基本使用如下:

复制
@RequestMapping("/chat")
public String chat(String topic) {
    PromptTemplate promptTemplate =
            new PromptTemplate("你是一个{role},讲一个关于{topic}的故事");
    Prompt prompt = promptTemplate.create(Map.of("role", "讲故事的助手",
            "topic", topic));
    return chatModel.call(prompt).getResult().getOutput().getText();
}

3.从文件中读取动态提示词

动态提示词如果比较短,我们可以像上面一样写到代码里面,如果比较长,我们可以把它单独放的某个文件模版中进行读取使用,具体实现如下:

复制
// 从文件中读取提示词
@Value("classpath:type-system-prompt-txt")
private Resource systemPrompt;

@RequestMapping("/chat")
public String chat(String msg) {
    return chatClient.prompt()
            .system(systemPrompt) 
            .user(msg)
            .call()
            .content();
    }
}

4.Lambda表达式提示词

当提示词比较短的时候,除了可以使用 PromptTemplate 设置提示词之外,我们还可以使用 Lambda 表达式来实现动态提示词的设置,具体使用如下:

复制
@RequestMapping("/chat")
public User chat(String name) {
    return chatClient.prompt()
            .user(msg -> msg.text("我叫{name},今年18岁,爱好打羽毛球。")
                    .param("name", name))
            .call()
            .entity(User.class); // 结果化输出
}

小结

提示词是用户和大模型交互的直接手段,所以在程序中用好提示词是至关重要的。本文提供了 4 种提示词的使用方式,开发者可以根据具体的业务场景,选择合适的提示词使用方式来完成 AI 应用开发。一起实操起来吧~

相关资讯

聊聊SpringAI流式输出的底层实现?

在 Spring AI 中,流式输出(Streaming Output)是一种逐步返回 AI 模型生成结果的技术,允许服务器将响应内容分批次实时传输给客户端,而不是等待全部内容生成完毕后再一次性返回。 这种机制能显著提升用户体验,尤其适用于大模型响应较慢的场景(如生成长文本或复杂推理结果)。 技术实现在 Spring AI 中流式输出的实现有以下两种方式:通过 ChatModel 实现流式输出。
4/24/2025 12:00:00 AM
磊哥

阿里出手了:Spring AI Alibaba正式版发布!

Spring AI Alibaba 是基于 Spring AI 构建的,专门针对阿里云生态(如通义千问、OSS 等)进行深度适配和功能增强。 Spring AI Alibaba 提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。 主要功能Spring AI Alibaba 提供的主要功能如下:开发复杂 AI 应用的高阶抽象 Fluent API — ChatClient。
6/13/2025 6:20:02 PM
磊哥

Deepseek4j再更新:Java应用一行代码集成DeepSeek

deepseek4j 是什么deepseek4j() 是一个专为 Java 开发者打造的 DeepSeek 模型集成框架。 通过优雅的 API 设计,只需一行代码,即可实现接入 DeepSeek,并获得以下核心能力:完整思维链保留:完美保留 DeepSeek 模型的推理过程,让 AI 的思考过程可追溯流式输出体验:基于 Reactor 实现的流式响应,带来类 ChatGPT 的打字机效果复制使用 deepseek4j,您可以专注于业务逻辑开发,而无需关心底层细节。 一、v1.3 更新内容1.1 联网搜索支持1739118403新版本最重要的更新是引入了联网搜索能力,这一功能带来三个关键优势:突破时间边界:模型不再受限于预训练数据的时间范围,可以获取和处理最新信息实时信息获取:通过高质量信息源获取实时资讯,提供更精准的问答服务差异化竞争:在大模型同质化严重的当下,联网搜索成为关键的差异化竞争点复制1.2 智能系统提示词1739118117系统提示词(System Prompt)是基于模型开发的应用程序内置的指令,让决定了模型在特定上下文中的表现方式、回答风格和功能范围。
2/10/2025 10:49:51 AM
冷冷
  • 1