Spring AI 之提示词
提示词(Prompts)是引导人工智能(AI)模型生成特定输出的输入内容。这些提示词的设计和措辞会显著影响模型的响应。
在 Spring AI 中,与 AI 模型进行交互的最低层级上,处理提示词的方式与 Spring MVC 中管理“视图”(View)有些相似。这涉及创建包含动态内容占位符的冗长文本。然后,这些占位符会根据用户请求或应用程序中的其他代码进行替换。另一个类比是 SQL 语句,其中包含某些表达式的占位符。
随着 Spring AI 的不断发展,它将引入更高层级的抽象来与 AI 模型进行交互。本节中描述的基础类在角色和功能上可以与 JDBC 相类比。例如,ChatModel
类就类似于 JDK 中的核心 JDBC 库。而 ChatClient
类则可以类比为 JdbcClient
,它构建在 ChatModel
之上,并通过增强器(Advisor)提供更高级的构造,以考虑与模型的过往交互、用额外的上下文文档来增强提示词,并引入代理行为(agentic behavior)。
在 AI 领域内,提示词的结构随着时间的推移而不断发展。最初,提示词只是简单的字符串。随着时间的推移,它们逐渐包含了特定输入的占位符,比如 AI 模型能够识别的“USER:”等标记。OpenAI 甚至通过将多条消