我先说
现在LLM模型更新的如此之快,但是好多企业都不知道该怎么去用,业界也没有一些现成可以参考的落地方案。
现在好多开源的 LLM 应用开发平台,只提供了workflow 编排、RAG 检索、模型管理等能力的AI 原生应用。
但是具体的细节对于我们是不可见的,这篇文章就是对构建workflow编排的AI原生应用提供一些思路。
Prompts
提示工程介绍
提示工程是一门相对较新的学科,用于开发和优化提示,以便高效地将语言模型 (LM) 用于各种应用和研究主题。提示工程技能有助于更好地理解大型语言模型 (LLM) 的功能和局限性。
研究人员使用提示工程来提高 LLM 处理各种常见和复杂任务(如问答和算术推理)的能力。开发人员使用提示工程来设计与 LLM 和其他工具交互的强大而有效的提示技术。
提示工程不仅仅是设计和开发提示。它涵盖了各种有助于与 LLM 交互和开发的技能和技术。它是与 LLM 交互、构建和理解 LLM 功能的重要技能。您可以使用提示工程来提高 LLM 的安全性并构建新功能,例如使用领域知识和外部工具增强 LLM。
Spring AI Prompts
在 Spring AI 中与 AI 模型交互的最低级别上,处理 Spring AI 中的提示有点类似于管理 Spring MVC 中的“视图”。这涉及创建带有动态内容占位符的大量文本。然后根据用户请求或应用程序中的其他代码替换这些占位符。另一个类比是包含某些表达式的占位符的 SQL 语句。
随着 Spring AI 的发展,它将引入更高级别的抽象来与 AI 模型进行交互。本节中描述的基础类在角色和功能方面可以比作 JDBC。`ChatModel`例如,该类类似于 JDK 中的核心 JDBC 库。该类`ChatClient`可以比作`JdbcClient`,它建立在 之上,`ChatModel`并通过 提供更高级的构造`Advisor`来考虑过去与模型的交互,用额外的上下文文档扩充提示,并引入代理行为。
在人工智能领域,提示的结构一直在演变。最初,提示是简单的字符串。随着时间的推移,它们逐渐包含特定输入的占位符,例如“USER:”,人工智能模型可以识别这些输入。OpenAI 通过在人工智能模型处理多个消息字符串之前将它们分类为不同的角色,为提示引入了更多结构。
Spring AI Message API
代码片段
-
提词器构建
-
用一个英语专家构建会话
实际案例演示
总结
这个案例中我们是用自定义函数
trans_word({text})
fix_english('最后,您将它们连接在一起。')
fix_english(expand_word(trans_word({text})))
告诉模型, 最后由fix_english()这个函数将trans_word()和expand_word()两个函数连接进行流式编排,从而达到最终的效果。
从这个智能英语专家这个案例中我们可以扩散到,资深老中医、20年老烟嗓女盆友情感专家...等等。
文件参考链接如下:
https://docs.spring.io/spring-ai/reference/api/prompt.html
https://api-docs.deepseek.com/zh-cn/prompt-library
https://www.promptingguide.ai/applications/pf