写点什么

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

  • 2025-06-24
    福建
  • 本文字数:1166 字

    阅读完需:约 4 分钟

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



那问题来了,在 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 应用开发。一起实操起来吧~


文章转载自:磊哥|www.javacn.site

原文链接:https://www.cnblogs.com/vipstone/p/18944567

体验地址:http://www.jnpfsoft.com/?from=001YH

用户头像

还未添加个人签名 2025-04-01 加入

还未添加个人简介

评论

发布
暂无评论
超实用!SpringAI提示词的4种神级用法_数据库_电子尖叫食人鱼_InfoQ写作社区