跳转至

Spring AI Alibaba

核心概念

概念 描述
模型(Model) AI模型是处理和生成信息的算法,通常模仿人类认知功能,能够进行多种任务,包括文本和图像的生成。
提示(Prompt) 指导AI生成特定输出的文本,不仅仅是输入字符串,还包括多种角色配置,例如系统角色和用户角色。
嵌入(Embedding) 将文本、图像或视频转换为数值表示(向量),旨在捕捉对象之间的关系,有助于理解内容的语义。
Token AI模型的基本工作单元,输入时将单词转换为token,输出时则转换回单词,token数量影响使用费用和上下文窗口。
结构化输出(Structured Output) AI模型的输出通常为字符串,需专门设计Prompt使输出符合应用需求,并将结果转换为适合的数据结构。
微调(Fine Tuning) 通过调整模型的内部权重以定制AI,但过程复杂且资源消耗大。
提示词填充(Prompt Stuffing) 将客户数据嵌入到Prompt中,以便模型能够使用,但需要管理令牌限制,确保数据有效嵌入。
函数调用(Function Calling) 允许将自定义用户函数注册到大型语言模型,连接外部API以实现模型的实时数据访问和处理。
检索增强生成(RAG) 为模型提供额外的知识输入,以辅助模型更好地回答问题,涉及从文档读取信息并写入矢量数据库的ETL流程。
评估(Evaluation) 分析AI系统输出准确性的方法,确保响应符合用户意图,采用相关性、连贯性和事实正确性等指标进行评估。

# 嵌入模型 (Embedding Model)

类型 术语 说明
概念 嵌入(Embedding) 将文本、图像和视频转换为向量(Vectors)的过程,这些向量是浮点数数组,可以捕捉内容的含义。
概念 向量(Vectors) 表示嵌入的浮点数数组,长度称为维度(Dimensionality),用于描述输入数据的多维特征。
概念 嵌入模型(EmbeddingModel) 进行嵌入的模型,实现了特定的接口以将文本及其他输入转换为数值向量,支持不同的嵌入技术和模型的切换,具有可移植性和简单性。
名词 EmbeddingRequest 用于请求嵌入的模型请求类,接受文本对象的列表和可选的嵌入请求参数。
名词 EmbeddingResponse 表示嵌入的响应类,保存多个Embedding实例及相关元数据,提供对AI模型输出的结构化表示。
名词 Embedding 表示一个嵌入向量的实例,存储结果向量数据,包含来自单个文本输入的表示。
动词 embed 将文本或文档内容转化为向量的核心方法。提供多种重载形式以支持单个字符串、文档或文本批量的嵌入。
动词 call 在EmbeddingModel接口中调用的主要方法,用于执行嵌入操作并返回相应的EmbeddingResponse。
动词 configure 设置与DashScope连接的API密钥及其他配置信息,支持通过属性或环境变量的方式进行设置。
动词 override 在运行时通过指定的请求覆盖默认选项,以自定义嵌入请求的行为。
动词 inject 在Spring Boot应用中将EmbeddingModel示例注入到控制器等服务类中。

# 工具 以下是从文档中提取的核心概念、名词和动词的详细表格,包括解释和说明:

类型 术语 说明
概念 嵌入(Embedding) 将文本、图像和视频转换为浮点数数组(向量),用于捕捉这些内容的语义和含义。
概念 嵌入模型(EmbeddingModel) 进行嵌入的模型,提供将文本或文档转换为数值向量的方法,确保可移植性和简化用户操作,便于开发者使用。
概念 工具(Tool) 大型语言模型(LLM)能够在响应中调用的特定功能,如数学计算、网页搜索或API调用。
概念 功能调用(Function Calling) 允许LLM在合适的上下文中主动调用定义好的工具,执行特定任务,增强互动能力。
名词 EmbeddingRequest 请求嵌入的类,接收待嵌入的文本列表和可选的嵌入请求选项,用于构造请求。
名词 EmbeddingResponse 嵌入响应类,保存AI模型的输出数据,包括多个嵌入向量实例及其相关的元数据。
名词 Embedding 表示一个嵌入向量的实例,包含从单个文本输入生成的数值向量和相关信息。
名词 EmbeddingOptions 嵌入请求的可选配置参数,用于影响嵌入模型的行为和结果。
名词 FunctionCallbackWrapper Spring AI中用于包装和注册Java函数以供LLM调用的工具,简化了函数与AI模型的交互。
动词 embed 将文本或文档内容转化为向量的主要方法,支持不同类型的输入,如字符串或文档对象。
动词 call 在EmbeddingModel接口中执行嵌入请求的主要方法,返回相应的EmbeddingResponse。
动词 execute 执行特定的工具调用,通常表示LLM根据用户请求执行工具的功能。
动词 configure 设置嵌入模型和API密钥等相关配置,确保模型能够正常运行。
动词 override 在运行时通过请求参数覆盖默认选项,允许开发者自定义嵌入请求的行为。
动词 inject 将EmbeddingModel实例注入到Spring Boot应用中,使其可在控制器或服务类中使用。
动词 register 定义和注册自定义函数,使得LLM能够识别和调用这些函数。
动词 describe 为函数提供描述信息,帮助模型理解何时调用该函数,提升调用准确性。
动词 respond 模型在调用工具后,返回处理结果给用户。

记忆

类型 术语 说明
概念 嵌入(Embedding) 将文本、图像和视频转换为称为向量(Vectors)的浮点数数组,这些向量旨在捕捉文本、图像和视频的语义和含义。
概念 嵌入模型(EmbeddingModel) 进行嵌入的模型,提供将文本或文档转换为数值向量的接口,确保可移植性和简单性,便于开发者在不同嵌入模型之间切换。
概念 对话记忆(Conversational Memory) 模型在与用户进行对话时,能够追踪、理解并利用先前对话上下文的能力,使对话体验更加自然和连贯。
概念 工具(Tool) 允许大型语言模型(LLM)在必要时调用的功能,可包括网页搜索、API调用、数学计算等,帮助增强对话质量和复杂任务处理能力。
名词 EmbeddingRequest 请求嵌入的类,接收待嵌入的文本对象列表和可选的嵌入请求选项。
名词 EmbeddingResponse 嵌入响应类,保存多个嵌入实例和相关的元数据,是模型返回的输出结果。
名词 Embedding 表示一个具体的嵌入向量,包含从单个文本输入生成的数据和相关信息。
名词 ChatMemory 处理和存储对话上下文的组件,支持基于内存的对话记忆实现。
名词 FunctionCallbackWrapper 包装和注册Java函数以供LLM调用的工具,简化了函数与AI模型的交互;支持函数调用的具体实现和可重用性。
动词 embed 将文本或文档内容转化为向量的主要方法,例如 embed(String text)embed(Document document)
动词 call 在EmbeddingModel接口中执行嵌入请求的主要方法,返回相应的EmbeddingResponse。
动词 prompt 向LLM发送用户消息,并(在上下文中)可能导致相应工具调用的请求。
动词 configure 设置嵌入模型和API密钥等相关配置,以便确保模型能够正常运行和交互。
动词 override 在运行时通过请求参数覆盖默认选项,以实现对嵌入请求自定义行为。
动词 register 定义和注册自定义函数,使得LLM能够识别和调用这些函数,通过Spring简化层处理与AI模型的交互。
动词 inject 将EmbeddingModel实例注入到Spring Boot应用中,以便在控制器或服务类中使用嵌入功能。
动词 execute 执行由用户请求或系统调用定义的函数操作,为LLM提供解决方案。

提示词

类型 术语 说明
概念 对话记忆(Conversational Memory) 指AI模型在与用户进行交互时,能够追踪和利用先前的对话上下文,使得对话更加自然和连贯。大模型能够根据之前的交流内容生成后续响应。
概念 提示词(Prompt) 结构化的输入格式,引导AI生成特定输出。提示的设计和角色分配影响模型的响应质量。
概念 功能调用(Function Calling) 允许模型在必要时调用外部工具或函数,以增强其能力,例如获取额外的信息或执行特定的操作。
名词 Message 封装了提示文本、元数据及消息类型(如用户、助手等)的接口,指示模型如何处理消息。
名词 PromptTemplate 用于管理和构建提示的类,促进结构化提示的生成并发送到AI模型处理。
名词 ChatMemory 管理对话上下文的组件,支持在对话中保持历史记录,开发者可以实现不同的存储解决方案,如内存、文件或Redis。
名词 FunctionCallbackWrapper 用于注册自定义函数的工具,使得这些函数可以在AI模型中被调用,增强模型的功能和表现。
名词 Role 在提示中定义不同消息的身份,包括系统角色、用户角色、助手角色和工具角色,各自承担不同的功能和上下文。
动词 call 执行请求并返回结果的方法,通常用于与AI模型进行交互以获取响应。
动词 prompt 向模型发送用户消息的操作,启动对话或请求信息。
动词 configure 设置与模型交互相关的参数,例如API密钥等配置选项。
动词 register 将工具或函数添加到模型中,使其可用于响应调用。
动词 inject 将模型实例注入到Spring Boot应用中以便管理。
动词 create 使用定义的输入生成新的对象或消息,通常用于提示或响应的创建。
动词 execute 执行特定功能或工具,这通常涉及到响应用户的请求或调用相关工具。
角色 系统角色(System Role) 指导AI的行为和响应方式,设置解释用户输入的参数和规则。
角色 用户角色(User Role) 代表用户输入的内容,例如提问或命令,构成AI响应的基础。
角色 助手角色(Assistant Role) AI对用户输入的响应,确保对话的连贯性和上下文相关性,可能包含工具调用信息。
角色 工具角色(Tool Function Role) 专注于响应工具的调用,提供附加信息,支持助手角色的功能。

文档检索

类型 术语 说明
概念 提示词(Prompt) 引导AI模型生成特定输出的输入格式,提示的设计和措辞显著影响模型的响应。提示由多条消息组成,每条消息分配有特定的角色,提供结构化的上下文。
概念 对话记忆(Conversational Memory) AI模型在交互中特别管理的上下文,以保持对话的连贯性。
概念 功能调用(Function Calling) 允许AI模型在特定场景下调用外部工具增强其能力,执行特定功能(如获取数据、执行计算等)。
概念 文档检索(Document Retrieval) 一种信息检索技术,旨在从未结构化或半结构化文档中快速找到与查询相关的信息,通常使用向量搜索。
名词 Message 封装提示文本、元数据和分类信息的接口,定义不同类别的消息在对话中的角色。
名词 PromptTemplate 用于创建和管理提示的类,促进结构化提示的生成。
名词 Document 表示一个文档片段,包含文本内容和相关的元数据,用于文档检索。
名词 ChatModel 处理用户查询并生成响应的模型接口,通常与提示结合使用。
名词 Role 消息在对话中的特定角色分类,包括系统角色、用户角色、助手角色和工具/功能角色。
名词 API 应用程序接口,定义了与AI系统交互的方式,包括访问文档检索和提示功能的接口。
动词 call 执行请求并返回相应结果的方法,通常在AI模型中使用。
动词 retrieve 从数据库或文档存储中提取相关信息。
动词 configure 设置与AI或文档检索系统交互的参数和选项。
动词 create 生成新对象或实例的方法,如创建提示或消息对象。
动词 inject 在应用中插入依赖项,通常用于设置模型或检索器。
动词 register 将新功能、工具或组件注册到系统中,使其可用于后续调用。
动词 execute 执行某项具体任务或请求的操作,通常涉及函数调用。
关键词 Embeddings 将查询问题转化为向量的表示形式,用于信息检索中的相似性搜索。
关键词 API-KEY 用于访问和调用API的密钥,需要在应用配置中设置。
关键词 DashScope 指阿里云的文档检索平台,提供云端服务。
关键词 Auto-configuration 通过框架自动配置依赖项的功能,简化了开发者的设置过程。
关键词 Spring Boot 基于Spring开发的框架,为Java开发提供便利,支持快速开发和自动配置。