Spring AI 之 AI核心概念
模型
人工智能(AI)模型是用于处理和生成信息的算法,通常旨在模拟人类的认知功能。这些模型通过从大规模数据集中学习模式和规律,能够生成预测结果、文本、图像或其他形式的输出,从而增强各行业应用的效能。
AI 模型种类繁多,每种模型都适用于特定的应用场景。虽然以 ChatGPT 为代表的生成式 AI 凭借其文本输入和输出能力吸引了大量用户,但许多其他模型和公司也提供了多样化的输入和输出形式。在 ChatGPT 问世之前,文本转图像生成模型(如 Midjourney 和 Stable Diffusion)便已让许多人着迷。
以下表格根据输入和输出类型对几种模型进行了分类:
Spring AI 目前支持处理语言、图像和音频作为输入和输出的模型。前文表格中的最后一行描述了一种模型,它接受文本作为输入并输出数字,这种操作通常被称为文本嵌入(Embedding),它代表了 AI 模型内部使用的数据结构。Spring AI 对嵌入功能的支持使得开发者能够实现更高级的应用场景。
像 GPT 这类模型之所以与众不同,是因为它们具有预训练(Pre-trained)的特性——这一点从名称中的 “P”(即 Chat Generative Pre-trained Transformer 中的 “Pre-trained”)可以看出。这种预训练特性将 AI 转变为一种通用的开发者工具,使得开发者无需具备深厚的机器学习或模型训练背景,即可直接使用。
提示词
提示词(Prompts)是语言类输入的基础,用于引导 AI 模型生成特定的输出。对于熟悉 ChatGPT 的人来说,提示词可能看起来仅仅是输入到对话框中并发送给 API 的文本。然而,提示词的实际含义远不止于此。在许多 AI 模型中,提示词的文本并非简单的字符串,而是具有更复杂的结构。
ChatGPT 的 API 在单个提示词中支持多个文本输入,并为每个输入分配了角色。例如:
- 系统角色(System Role):用于定义模型的行为方式,并设定交互的上下文。
- 用户角色(User Role):通常代表用户的实际输入。
设计有效的提示词既是一门艺术,也是一门科学。ChatGPT 最初是为人类对话设计的,这与通过 SQL 查询“提问”的方式截然不同。使用提示词时,需要像与另一个人对话一样与 AI 模型交流。
这种交互方式的重要性催生了“提示工程(Prompt Engineering)”这一独立领域。目前,已有大量技术用于提高提示词的有效性。投入时间精心设计提示词可以显著改善模型的输出结果。
分享提示词已成为一种普遍实践,且该领域正在开展积极的学术研究。例如,设计一个有效的提示词往往违背直觉(与 SQL 查询形成鲜明对比)。最近的一项研究发现,最有效的提示词之一以“深呼吸,然后一步一步地解决这个问