Spring AI Framework(一:人工智能概念-AI Concepts)

发布时间:2026/6/10 7:21:06
Spring AI Framework(一:人工智能概念-AI Concepts) 文章目录前言在学习Spring AI框架之前介绍人工智能概念-AI Concepts。一、模型-Models模型是设计用于处理和生成信息的算法通常模仿人类的认知功能。通过从大量数据集中学习模式和洞察模型能够做出预测或输出提升各行业的应用能力。目前支持将输入和输出处理为文本、图像和音频的模型。根据输入和输出类型对多个模型进行了分类二、大型语言模型LLM理解用户问题并根据检索到的信息组织语言生成高质量的答案。本质上是一个概率模型它的核心能力给定上文预测下一个最可能出现的词-Token。三、提示词-Prompts​​​​​Prompt是引导 AI 模型基于语言输入的而产生特定输出的基础。提示符不只是输入到对话框中并发送给LLM的简单文本字符串,也可以内包含多个文本输入每个文本输入都被分配一个角色是一种结构化文本。比如1.CHAT模型 Character角色) History背景) Ambition目标) Task行动) 的首字母缩写。 Character (角色) : 定义一个角色身份。 History背景) : 上下文背景信息, 比如事情的来龙去脉、遇到的问题等。 Ambition目标): 要实现什么目标、达到什么的成果。 Task行动、指令): 它需要帮你完成什么样的事情, 即指令。案例 -旅行计划角色: 我是一个大学生对历史和艺术有浓厚兴趣。 背景: 我刚刚结束了繁重的学期拥有两周的假期。这是我第一次solo旅行希望能够独自探索和体验文化。 目标: 想去一个预算友好的地方既能看到美丽的景色又能深入了解当地的历史和文化。 行动: 请为我提供一个旅行建议并包括一些必访的景点。2.CRISPE模型能力和角色 (Capacity and Role): 定义扮演的角色以及角色技能、特长,如一名博主、技术专家等。洞察 (Insight): 提供有关请求的幕后洞察、背景和上下文让LLM更好理解问题。声明 (Statement): 说明您要求完成的诉求、任务、目标明确告诉ChatGPT的工作流程workflows希望得 到怎样的答案与解释。个性 (Personality): 定义回应时采用的风格、个性、约束或何种方式输出答案如JSON结构化方式输出。实验 (Experiment): 提供多个示例Examples。案例 -生成爆款文章标题# Role(能力和角色): 你是微信公众号的一名百万粉丝博主擅长编写爆款文章。 ## profile(能力和角色-概述): - language:中文 - description:用于生成爆款标题 ## Background(洞察-背景): 擅长从内容中提取到关键信息能够生成一个吸人眼球的标题。 ## Goals(声明-目标): 1. 从内容中找到文章想要表达的信息 2. 根据信息与热点标题的条件匹配从而进行生成标题 ## skills(能力和角色-角色技能概述): 1. 熟悉 AI 提示词相关信息擅长与 AI 相关热点结合 2. 对 AI 的实时热点持续关注容易找到用户感兴趣的点 3. 编写过多篇微信公众号 AI 领域10w阅读的文章标题极具特色 ## Constrains(个性-约束): 1. 满足条件设定、反差、直击人心 2. 参考过往的爆款标题进行生成 3. 字数不要超过15个字表明立场 4. 每次输出3个爆款标题供用户选择 ## workflows-声明[工作流程如何和用户交流交互]: 问好“你好我是你的 AI 爆款标题辅助器。请告诉我你的文章内容由我来帮助你生成爆款标题” 输入输入文章的主要信息内容 提取从用户的输入内容中找到核心信息与爆款标题的各个条件相匹配从而选定如何生成 输出将爆款标题直接输出给用户进行选择 ## Examples(示例): 1. AI觉醒人类终将被自己颠覆 2. 这波AI浪潮打工人如何自救 3. ChatGPT 的最强竞争对手竟然是它 # Initialization:启动时的对白 作为\[role\]在\[Background\]背景下严格遵守 \[constrains\]以\[workflow\]的顺序和用户对话。其它结构化PromptAPE (Action Purpose Expect)、BROKE、ROSES.....等。Prompt质量直接影响模型的输出效果优秀的Prompt能够帮助AI模型更好地理解用户意图从而回应更符合预期且有价值的回答。四、提示模板-Prompt Templates​​​​​使用传统的基于文本模板引擎进行提示创建和管理。Spring AI 为此使用 OSS 库StringTemplate。例如考虑简单的提示模板Tell me a { adj } joke about { content }.五、嵌入-Embeddings嵌入是将非结构化数据如文本、图像、视频转换为高维浮点向量浮点数数组的表示方法。转换后得到的向量长度称为嵌入维度。每个向量在抽象的语义空间中对应一个点。语义空间具有几何结构点与点之间的空间距离反映了原始数据在语义上的相似程度 - 距离越近表示语义越接近。在实践中通过计算向量之间的数值距离如欧氏距离或余弦距离即可定量衡量不同对象的相似性。六、嵌入模型-Embeddings Model将数据“编码”成向量的模型。将文本数据文档和问题统一转换为计算机能理解的、具有语义信息的向量Embedding。常见嵌入模型如text-embedding-3-small(OpenAI)、text-embedding-v1-4、deepseek-embedding、KaLM-Embedding-Gemma3-12B-2511(腾讯)、BGE模型(北京智源人工智能研究院通用向量模型)等。七、结构化输出-StructuredOutput结构化输出转换器帮助将大型语言模型的输出转换为结构化格式。将AI模型的结果转化为指定的数据类型如 JSON、XML 或 Java 类并传递给其他应用方法。八、检索增强生成-RAGRAG是一种结合检索和生成的AI技术又称Prompt Stuffing(提示填充)通过检索知识库中的相关信息来增强生成模型的输出效果服务于问题检索效率的提升。RAG 检索技术 LLM提示填充。用户向LLM提问一个问题(queryRAG从各种数据源检索相关的信息并将检索到的信息和问题注入到 LLM 提示词Prompt中让LLM能够参考相应的知识从而给出合理回答。检索技术主要是利用向量数据库的高效存储和检索能力召回目标知识LLM提示填充则是利用大模型和Prompt工程将召回的知识合理利用生成目标答案。在知识库中应用RAG需要对知识库进行切分(splitter)、分片(chunk)和嵌入增强(Embedding Embed)处理切分与分片将知识库中的知识内容按照一定的规则进行切分和分片如按照段落、句子或主题进行划分以便在检索时能够快速定位到相关的知识片段。嵌入: 通过计算两段文本的向量表示它们之间的数值距离应用程序可以用于确定生成嵌入向量的对象之间的相似性。增强对知识片段进行向量化处理并通过优化的Embedding算法增强向量的表示能力使其能够更好地捕捉知识内容的语义信息从而提高检索的准确性和相关性。高级RAG-Advanced RAG主要包含两个阶段数据准备阶段与检索与生成阶段1.数据准备阶段(增强)该阶段的目标是将企业内部知识转化为可供检索的向量数据并存储于向量数据库中。文档解析与分块Chunking对企业文档(PDF、Word)进行解析并按照语义进行文本分割生成若干文本块Chunk。常用方法为固定长度分割根据Embedding模型的Token长度限制如512 Tokens将文本切分为固定长度的块。向量化Embedding调用Embedding模型API将每个文本块转换为向量(浮点数数组),即语义向量。存储将向量数据与对应的原始文本块、来源等元数据存入向量数据库并构建向量索引支持后续的高效检索。2.数据检索与生成RAG核心流程该阶段实现用户提问后的智能检索与答案生成。问题向量化用户提出问题时系统调用相同的Embedding模型,将问题文本转换为向量。语义搜索向量数据库在已有索引中快速查找与问题向量最相似的向量片段。通常返回 Top-K 个最相似的文本块。检索方式可包括全文检索、向量语义检索、混合检索结合两者增强提示Prompt 增强将检索到的相似文本块作为参考资料与用户原始问题以及预设的提示词模板一起组合形成一个完整的 Prompt。生成答案将增强后的 Prompt 发送给LLM。LLM基于参考资料和用户问题生成准确、可靠的答案。七、其它概念Token代币LLM的计量单位1个Token≈0.75英文单词。上下文窗口 (Context Window)Prompt(输入) Resp(输出)的总Token上限LLM能处理的最大Token数量。上下文 (Context)一次推理中实际输入的Token 内容 包含用户Prompt、历史对话、检索文档等。